首页
社区
课程
招聘
[求助]WIN7 32位HOOK KiDispatchException,关闭了页保护,走到 lock cmpxchg8b qword ptr ss : [esi] 这条语句就无法单步继续执行了
发表于: 2022-4-26 18:23 4582

[求助]WIN7 32位HOOK KiDispatchException,关闭了页保护,走到 lock cmpxchg8b qword ptr ss : [esi] 这条语句就无法单步继续执行了

2022-4-26 18:23
4582

BOOLEAN addHookHooKE8OrE9Struct(PHooKE8OrE9Struct hkf)
{
if (hkf->isHookSuccess)
return TRUE;
memcpy(hkf->code, (PVOID)hkf->oldHookAddress, hkf->len);
UCHAR code[8] = {0xe9};
ULONG address = calcE8OrE9(hkf->oldHookAddress, hkf->newHookAddress);
(ULONG)(code + 1) = address;
memcpy(code + 5, (PVOID)(hkf->oldHookAddress + 5), 3);

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
KIRQL irql = KeRaiseIrqlToDpcLevel();
writeProbOff();
__asm
        {
        cli;
        mov edi, [hkf];
        mov esi, [edi + 4];
        mov ecx, dword ptr ss : [code + 4] ;
        mov ebx, dword ptr ss : [code] ;
 
        mov eax, [edi + 0xC];
        mov edx, [edi + 0x10];
 
        lock cmpxchg8b qword ptr ss : [esi] ;
 
        cmp[esi], 0xe9
        jnz __exit;
        mov eax, 1;
        mov[edi + 0x18], eax;
        __exit:
        sti;
        }
 
writeProbNo();
KfLowerIrql(irql);
 
if (hkf->isHookSuccess)
{
    insertListTail(&gHookE8OrE9Struct.listEntry, &hkf->listEntry);
    return TRUE;
}
 
ExFreePoolWithTag(hkf, 'hic');
return FALSE;

}


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 1
支持
分享
最新回复 (7)
雪    币: 493
活跃值: (1803)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
HOOK其他的内核函数一点问题都没有,就这个KiDispatchException不行,而且也不蓝屏.
2022-4-26 18:28
0
雪    币: 12848
活跃值: (9142)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
3
换调试器,windbg调试内核本身就依赖KiDispatchException
2022-4-26 22:38
0
雪    币: 493
活跃值: (1803)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
hzqst 换调试器,windbg调试内核本身就依赖KiDispatchException
哪用什么调试器,偶像原来是你回答我啊
2022-4-26 23:07
0
雪    币: 493
活跃值: (1803)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
hzqst 换调试器,windbg调试内核本身就依赖KiDispatchException
比心
2022-4-26 23:07
0
雪    币: 1558
活跃值: (3432)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
不能调试,只能摸黑继续走,挂了检查代码打印信息,我写这的时候也特痛苦
2022-4-27 19:55
0
雪    币: 493
活跃值: (1803)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
qj111111 不能调试,只能摸黑继续走,挂了检查代码打印信息,我写这的时候也特痛苦
好的,老哥
2022-4-27 20:02
0
雪    币: 493
活跃值: (1803)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
baggiowo 好的,老哥
多谢了,搞定了
2022-4-27 22:40
0
游客
登录 | 注册 方可回帖
返回
//