Tesla.Angela 发表于 2014-6-2 19:16:38

《WIN64驱动教程》补充[5]:获得SSDT函数地址(WIN32/WIN64全兼容)

作者:Tesla.Angela

WIN32和WIN64在NTOSKRNL里差别最大的地方,非SSDT莫属。不过这个差别,说大也大,说不大也不大。主要在以下四个方面:1.WIN32上KeServiceDescriptorTable是导出的,WIN64上需要自己定位;2.WIN32的KeServiceDescriptorTable->ServiceTableBase记录了函数的完整地址,而WIN64上记录的则是“耍了花样的”偏移地址(在低四位里存放了函数的参数个数)。3.SYSTEM_SERVICE_TABLE的定义是一样的,但因为SIZE_T和PVOID的长度都是跟平台相关的,所以此结构体在WIN32上的长度是4*4=16,在WIN64上的长度是4*8=32。4.NT5X64和NT6X64的SSDT偏移地址的计算方法还有点不同,NT5是dwTmp & 0xfffffff0,NT6是dwtmp=dwtmp >> 4。综上所述,整理出了适合所有NT平台的代码。
**** Hidden Message *****

5ak 发表于 2024-1-1 12:18:16

学习了

zf0815zj 发表于 2024-1-3 23:43:26


学习了

sam7894604 发表于 2024-1-4 09:09:21

学习了

ruin1990 发表于 2024-1-16 15:00:35

还在研究,感谢分享,SSDT用处多多啊

baggiowangyu 发表于 2024-1-26 14:06:01

2024补充学习

nj001 发表于 2024-3-13 16:50:24

学习一下

WordStar 发表于 2024-10-25 14:00:50

学习一下

lizhuowu 发表于 2024-10-27 11:20:25

这个必须看看

IBinary 发表于 2024-10-29 17:46:52

需要用到.看看兼容性.谢谢tesla分享.

wst5898 发表于 2025-1-25 16:19:34

认真学习一下

kekao123 发表于 2025-3-24 01:01:42

{:4_225:}学习一下
页: [1]
查看完整版本: 《WIN64驱动教程》补充[5]:获得SSDT函数地址(WIN32/WIN64全兼容)