VC中如何HOOK OpenProcess()?

我最近学习钩子,哪位大虾能指点一下,如何钩住API函数啊?最好给个实例。如果谁能告诉我如何让vc开发的exe程序在任务管理器的“应用程序”栏里面不可见也行(在xp\NT环... 我最近学习钩子,哪位大虾能指点一下,如何钩住API函数啊?最好给个实例。
如果谁能告诉我如何让vc开发的exe程序在任务管理器的“应用程序”栏里面不可见也行(在xp\NT环境下)!不胜感激!也可以QQ告诉我:403100987
展开
 我来答
Aegisys
2010-07-14 · TA获得超过103个赞
知道小有建树答主
回答量:110
采纳率:0%
帮助的人:119万
展开全部
有两种钩子:导入表HOOK,Inline Hook,其代码网上都有。如果要稳定的话可以选择导入表HOOK。
Jeffrey Richer 写过一个CAPIHook类,可以直接实现导入表HOOK。代码网上一搜就有。
在Hook OpenProcess的时候,你要准备一个如下原型的函数:
HANDLE _stdcall Hook_OpenProcess(DWORD, BOOL, DWORD dwId);
然后用CAPIHook a("kernel32.dll", "OpenProcess", (PROC)Hook_OpenProcess);安装它。
其中dwId就是要被打开进程的ID,你可以查询你感兴趣的信息。

不过HOOK其他进程中的API调用需要将HOOK代码写入DLL入再注入到那个进程,否则HOOK自己进程中的API调用是没用的~~
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式