www.pudn.com > API Hook 工具相关代码 apihooktest.rar > HookProcess.h
/*****************************************************************************
Filename: HookProcess.h
Copyright(C) XXXXXXXXXXXXX
Created: 2004-07-09
Author: jyan
Abstract:
实现 Dll 的注入, 方法是修改入口代码为 Jmp,跳到自己指定的代码中,
然后 LoadLibrary -> 恢复 -> Jmp 回去
Modified History:
Who When Modify
*****************************************************************************/
#ifndef _HOOK_PROCESS_H
#define _HOOK_PROCESS_H
class CHookProcess
{
public:
CHookProcess();
virtual ~CHookProcess();
//唯一的共有函数,
//hProcess 为一个刚创建,且主线程被挂起的进程句柄
//pszFileExe 为这个 Exe 的路径
//pszFileDll 为要注入的 Dll
BOOL HookProcess(HANDLE hProcess, char* pszFileExe, char* pszFileDll);
private:
DWORD GetProcessEntryPoint(char* pszFileExe);
LPVOID AllocBufAfterBaseAdr(HANDLE hProcess, LPVOID pBase, int nSize);
BOOL WriteProcessMemorySafe(HANDLE hProcess, LPVOID pDes, LPVOID pSrc, int nSize);
BOOL ReadProcessMemorySafe(HANDLE hProcess, LPCVOID lpBaseAdr, LPVOID lpBuffer, DWORD nSize, LPDWORD lpNumberofBytesRead);
};
#endif