阅读:2165回复:2
关于读文件恢复 SSDT 的问题
前段时间实现了 SSDT Shadow 的读文件恢复,在各个环境下测试了下都没有失败。
方法是: 表头地址与模块地址偏移 减去 RVA 加上 POINTTORAWDATA 等于表文件偏移。 这两天想试试用相同的方法,恢复 SSDT 试试,结果发现只在部分机器上生效。 在安装了卡巴的机器上,表头地址居然不在 ntoskrnl.exe 的范围内——;?? -------------下面是输出--------- DbgView_SSDT() g_pSST: 0x80562480 DbgView_SSDT() ServiceTable: 0x85583B58 **** 这地址不在模块内啊 DbgView_SSDT() TableSize: 0x00000129 (297) DbgView_SSDT() gs_pSSTShadow: 0x80562450 DbgView_SSDT() ServiceTable: 0xBF998300 DbgView_SSDT() TableSize: 0x29B (667) --------------------------- CTSSDTReserve::GetRealSSDT() pImageBase: 00400000 CTSSDTReserve::GetRealSSDT() pModuleBase: 804E0000 **** 模块起始地址 CTSSDT::GetRealSSDT() pModuleLen: 00213F80 **** 模块大小 CTSSDTReserve::GetRealSSDT() pSSTAddr: 85583B58 **** 表头(明显不在模块内) CTSSDTReserve::GetRealSSDT() get image file: ntoskrnl.exe offset failed! 希望大虾们指点指点,感谢! |
|
|
沙发#
发布于:2007-04-04 17:24
自己坐沙发。
现在还有没有放分之说?我不太懂…… |
|
|
板凳#
发布于:2007-04-11 17:47
|
|
|