首页
社区
课程
招聘
[求助]ssdt的索引值问题
发表于: 2008-4-26 19:43 5144

[求助]ssdt的索引值问题

2008-4-26 19:43
5144
如果一个函数最后是像下面调用:

; __stdcall NtUserSetWindowsHookEx(x, x, x, x, x, x)
_NtUserSetWindowsHookEx@24 proc near
mov     eax, 1225h         ;超出了我ssdt(ntoskrlpa)索引值,比如我的(见后面)才129h
mov     edx, 7FFE0300h
call    dword ptr [edx]
retn    18h
_NtUserSetWindowsHookEx@24 endp

lkd> dd keservicedescriptortable
8087b180  847a51a8 00000000 00000129 848379b0
8087b190  00000000 00000000 00000000 00000000
8087b1a0  00000000 00000000 00000000 00000000
8087b1b0  00000000 00000000 00000000 00000000
8087b1c0  00002710 bf80db87 00000000 00000000
8087b1d0  f3e91a80 f36659e0 841020f4 80a11f40
8087b1e0  00000000 00000000 00000000 00000000
8087b1f0  277d3640 01c8a787 00000000 00000000

Windows是怎么处理的?

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

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 722
活跃值: (123)
能力值: ( LV12,RANK:300 )
在线值:
发帖
回帖
粉丝
2
NtUserSetWindowsHookEx中的索引值>0xfff,它已经不是对应KeServiceDescriptorTable中的服务函数了,而是对应KeServiceDescriptorTableShadow中第二张表,即win32k.sys中的函数,索引值-0x1000得到在此表的索引。
相关内容可参考http://bbs.pediy.com/showthread.php?t=56955
2008-4-26 22:41
0
雪    币: 243
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
大哥真是博学多识!谢谢你啊,终于理解了
2008-4-27 11:54
0
游客
登录 | 注册 方可回帖
返回
//