好友
阅读权限10
听众
最后登录1970-1-1
|
H让我过来发点东西,我偷个懒,复制一个以前发在360内部技术论坛的没什么料的小资料,哈哈
X64 SSDT 科普
X64下没有导出KeServiceDescriptorTable,要获取这个的地址没有比较简单的方法,我使用的一个技术是通过 KiSystemCall64来定位它,这是SysCall时64位程序进入的EIP,可以通过readmsr(0xc0000082)来获取其,向下搜索0X100个字节左右就有KeSerciveDescriptorTable和ShadowTable
KeServiceDescriptorTable第一个成员是ServiceTableBase,但和32位不一样,这个表存放的并不是所有SSDT 函数的地址,而是其相对于ServiceTableBase的偏移*0x10的数据,每个函数一个DWORD,也就说,取出来ServiceTableBase要转换为具体的函数地址的方式是:
ServiceTableBase[x]/0x10+ServiceTableBase |
|
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|