Injection.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /************************************************************************/
  2. /* Copyright (C), 2016-2020, [Home], 保留所有权利;
  3. /* 模 块 名:;
  4. /* 描 述:;
  5. /*
  6. /* 版 本:[V];
  7. /* 作 者:[Home];
  8. /* 日 期:[1/6/2019];
  9. /*
  10. /*
  11. /* 注 意:;
  12. /*
  13. /* 修改记录:[Home];
  14. /* 修改日期:;
  15. /* 修改版本:;
  16. /* 修改内容:;
  17. /************************************************************************/
  18. #ifndef __INJECTION_OBJ__
  19. #define __INJECTION_OBJ__
  20. #pragma once
  21. class CInjection
  22. {
  23. public:
  24. CInjection();
  25. explicit CInjection(DWORD dwPid, LPCTSTR lpDynamicLibraryPath);
  26. ~CInjection(void);
  27. // dll路径和要注入的进程id;
  28. void setInjectionObj(DWORD dwPid, LPCTSTR lpDynamicLibraryPath);
  29. public:
  30. BOOL InjectDynamicLibrary();
  31. BOOL EjectDynamicLibrary();
  32. inline HANDLE GetInjectProcess(){
  33. return m_hInjectProcess;
  34. }
  35. private:
  36. // 当前注入的进程ID;
  37. DWORD m_dwInjectPID;
  38. // 动态库路径;
  39. TCHAR m_szDllPath[MAX_PATH];
  40. // 当前注入的进程句柄;
  41. HANDLE m_hInjectProcess;
  42. // 路径分配的内存;
  43. LPVOID m_lpInjectData;
  44. LPVOID m_lpEjectData;
  45. // 路径长度;
  46. DWORD m_dwPathLen;
  47. // 注入线程句柄;
  48. HANDLE m_hInjectThread;
  49. // 卸载线程句柄;
  50. HANDLE m_hEjectThread;
  51. };
  52. #endif