/************************************************************************/ /* Copyright (C), 2016-2020, [Home], 保留所有权利; /* 模 块 名:; /* 描 述:; /* /* 版 本:[V]; /* 作 者:[Home]; /* 日 期:[1/6/2019]; /* /* /* 注 意:; /* /* 修改记录:[Home]; /* 修改日期:; /* 修改版本:; /* 修改内容:; /************************************************************************/ #ifndef __INJECTION_OBJ__ #define __INJECTION_OBJ__ #pragma once class CInjection { public: CInjection(); explicit CInjection(DWORD dwPid, LPCTSTR lpDynamicLibraryPath); ~CInjection(void); // dll路径和要注入的进程id; void setInjectionObj(DWORD dwPid, LPCTSTR lpDynamicLibraryPath); public: BOOL InjectDynamicLibrary(); BOOL EjectDynamicLibrary(); inline HANDLE GetInjectProcess(){ return m_hInjectProcess; } private: // 当前注入的进程ID; DWORD m_dwInjectPID; // 动态库路径; TCHAR m_szDllPath[MAX_PATH]; // 当前注入的进程句柄; HANDLE m_hInjectProcess; // 路径分配的内存; LPVOID m_lpInjectData; LPVOID m_lpEjectData; // 路径长度; DWORD m_dwPathLen; // 注入线程句柄; HANDLE m_hInjectThread; // 卸载线程句柄; HANDLE m_hEjectThread; }; #endif