如何获得原始Shadow SSDT地址
win2k sp4~winxp sp1首先定位加载的win32k.sys的入口点(静态文件的麻烦一些),然后搜索FF 15 DD CC BB AA特征,如果0xAABBCCDD指向的内容是KeAddSystemServiceTable则当前指令的前面4字节就是表的实际地址bf9ae613 68109099bf push offset win32k!W32pArgumentTable (bf999010)
bf9ae618 ff350c9099bf push dword ptr
bf9ae61e 893520359abf mov dword ptr ,esi
bf9ae624 56 push esi
bf9ae625 68008399bf push offset win32k!W32pServiceTable (bf998300)
bf9ae62a ff15d8b498bf call dword ptr
bf9ae630 e8fd0a0000 call win32k!InitCreateUserCrit (bf9af132)
得到的地址减去win32k.sys的实际加载地址并转换为RAW OFFSET就是shadow table在文件中的偏移
winxp,win2k3都可以直接从win32k.sys的.data节开始取,比较简单
如有谬误,请指正
页:
[1]