首页
社区
课程
招聘
[求助]ssdt hook后,在自己的函数里如何获取索引号?
发表于: 2014-9-24 15:06 5063

[求助]ssdt hook后,在自己的函数里如何获取索引号?

2014-9-24 15:06
5063
收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 608
活跃值: (643)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
你不知道索引号还HOOK个毛的SSDT
2014-9-24 15:25
0
雪    币: 96
活跃值: (64)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
不懂叫个毛
我从0到400都hook了,我知道要调用的是哪个索引?
2014-9-24 15:30
0
雪    币: 45
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
如果hook函数少的话。直接在每一个hook函数里面写死索引即可。
如果多的话。而且共用hook函数可以根据返回地址。取上一条调用指令。解析出被hook函数的地址。根据这个地址得到原来的索引。
2014-9-24 16:09
0
雪    币: 96
活跃值: (64)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
跟我想的一样,还是得这样。。谢谢大神。
2014-9-24 16:17
0
雪    币: 45
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
要不还是你获得一下eax的值好了。这个就是在ssdt表中的索引。
2014-9-24 16:43
0
雪    币: 96
活跃值: (64)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
eax是我hook的函数地址。。。那样必须hook kifast才能得到索引
2014-9-24 16:45
0
雪    币: 45
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
.text:0046A7C2                 mov     ebx, [edi+eax*4]
.text:0046A7C5                 sub     esp, ecx
.text:0046A7C7                 shr     ecx, 2
.text:0046A7CA                 mov     edi, esp
.text:0046A7CC                 test    byte ptr [ebp+72h], 2
.text:0046A7D0                 jnz     short loc_46A7D8
.text:0046A7D2                 test    byte ptr [ebp+6Ch], 1
.text:0046A7D6                 jz      short loc_46A7E4
.text:0046A7D8
.text:0046A7D8 loc_46A7D8:                             ; CODE XREF: sub_46A611+1BFj
.text:0046A7D8                 cmp     esi, ds:MmUserProbeAddress
.text:0046A7DE                 jnb     loc_46A98C
.text:0046A7E4
.text:0046A7E4 loc_46A7E4:                             ; CODE XREF: sub_46A611+1C5j
.text:0046A7E4                                         ; DATA XREF: sub_42BD16:loc_42BD4Bo
.text:0046A7E4                 rep movsd
.text:0046A7E6                 call    ebx

eax就是index
2014-9-24 17:15
0
雪    币: 96
活跃值: (64)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
[QUOTE=丘比龙;1318878].text:0046A7C2                 mov     ebx, [edi+eax*4]
.text:0046A7C5                 sub     esp, ecx
.text:0046A7C7                 shr     ecx, ...[/QUOTE]

我是win7的不一样,反正我这里eax就是自己的函数地址
2014-9-24 19:26
0
雪    币: 608
活跃值: (643)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
10
[QUOTE=丘比龙;1318878].text:0046A7C2                 mov     ebx, [edi+eax*4]
.text:0046A7C5                 sub     esp, ecx
.text:0046A7C7                 shr     ecx, ...[/QUOTE]

你这个情况是原始SSDT的情况,不具备通用性。
32位下很多时候SSDT是被HOOK的,你直接取EAX取到的不见得是Service Index
所以 要么硬编码,要么就去挂Ki
2014-9-24 20:58
0
雪    币: 96
活跃值: (64)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
ki被检测
2014-9-24 21:05
0
游客
登录 | 注册 方可回帖
返回
//