Injection.h 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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(DWORD dwPid, LPCTSTR lpDynamicLibraryPath);
  25. ~CInjection(void);
  26. BOOL InjectDynamicLibrary();
  27. BOOL EjectDynamicLibrary();
  28. // 当前注入的进程ID;
  29. DWORD m_dwInjectPID;
  30. // 动态库路径;
  31. TCHAR m_szDllPath[MAX_PATH];
  32. // 当前注入的进程句柄;
  33. HANDLE m_hInjectProcess;
  34. // 路径分配的内存;
  35. LPVOID m_lpInjectData;
  36. LPVOID m_lpEjectData;
  37. // 路径长度;
  38. DWORD m_dwPathLen;
  39. // 注入线程句柄;
  40. HANDLE m_hInjectThread;
  41. // 卸载线程句柄;
  42. HANDLE m_hEjectThread;
  43. public:
  44. // 注入已有的进程;
  45. void InjectionExistProcess();
  46. // 创建新进程并注入;
  47. };
  48. #endif