首页
社区
课程
招聘
[求助]WH_DEBUG 的疑问
发表于: 2010-3-4 14:47 4775

[求助]WH_DEBUG 的疑问

2010-3-4 14:47
4775
LRESULT CALLBACK DebugHookProc(int nCode, WPARAM wParam, LPARAM lParam) //WH_DEBUG钩子例程
{
        DEBUGHOOKINFO *debug = (DEBUGHOOKINFO *)lParam;

        if( debug->idThreadInstaller != debug->idThread )
        {
                return FALSE;
        }

        if( debug->idThread != ::GetCurrentThreadId() )
        {
                return FALSE;
        }

        return ::CallNextHookEx(g_debug_hook, nCode, wParam ,lParam);
}

debug->idThreadInstaller 在网上看到别人说,这个值 NT 以后的系统都为 0
难道没有办法判断是其它进程创建的钩子?

(注:想实现的功能是, 如果判断到是其它进程创建钩子,则让它返回失败)

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 1163
活跃值: (137)
能力值: ( LV12,RANK:230 )
在线值:
发帖
回帖
粉丝
2
这个值在NT系统上就是0  。是微软的问题。

想进行处理的话可以在你的DEBUG钩子里面进行钩子类型判断,然后判断参数,最后进行相应的处理。

2010-3-7 14:21
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
很难通过钩子类型和参数来确定就是 其它线程的。
2010-3-8 17:13
0
游客
登录 | 注册 方可回帖
返回
//