截获getprocaddress遇到的问题.

nbk16 2003-01-06 08:00:06
我用了hook import table 的方法来截获getprocaddress,可是运行其它程序就非法操作

typedef struct _APIHOOK32_ENTRY
{
LPCTSTR pszAPIName; //api 函数名
LPCTSTR pszCalleeModuleName; //api所在的dll文件名
PROC pfnOriginApiAddress; //原地址
PROC pfnDummyFuncAddress; //新地址
HMODULE hModCallerModule;
}APIHOOK32_ENTRY, *PAPIHOOK32_ENTRY;
//引用一位高手的代码 :)
BOOL C123App::InitInstance()
{
i=GetModuleHandle("kernel32.dll");
hkG.hModCallerModule = NULL;
hkG.pszAPIName = "GetProcAddress";
hkG.pszCalleeModuleName ="kernel32.dll";
hkG.pfnDummyFuncAddress = (PROC) & MyGet;
hkG.pfnOriginApiAddress = GetProcAddress(i,"GetProcAddress");//
get1=(FARPROC (__stdcall *)(HMODULE, LPCSTR ))(GetProcAddress(i,"GetProcAddress"));
SetWindowsAPIHook(&hkG);
}

int C123App::ExitInstance()
{
UnhookWindowsAPIHooks(hkG);
}
问题出在哪里呢?
...全文
48 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
nbk16 2003-01-07
  • 打赏
  • 举报
回复
是位于dll中的
rivershan 2003-01-06
  • 打赏
  • 举报
回复
其他部分的处理呢~?
In355Hz 2003-01-06
  • 打赏
  • 举报
回复
这段代码是位于 DLL 中的吗?

15,467

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧