- 注册时间
- 2011-3-6
- 最后登录
- 1970-1-1
该用户从未签到
|
环境是:Wndwos XP SP3
上个星期一直在学习Shadow SSDT HOOK,学一点东西真的是不容易啊!光是定位KeServiceDescriptorTableShadow就遇到不了不少问题。最后还是挺过去了~~~,同时也学到了不少系统内核的知识~~~~,这个才是最重要的~~~。
就在定位KeServiceDescriptorTableShadow的方法中,zhuwg兄的笔记中提到通过搜索KeAddSystemServiceTable这个函数来找到KeServiceDescriptorTableShadow的偏移,原理是这个函数含有对KeServiceDescriptorTableShadow的引用,就是在这句指令中:
lea ecx,nt!KeServiceDescriptorTableShadow (80554060)[eax];
当时看到KeAddSystemServiceTable这个函数的时候,以为是能够添加什么系统服务之类的函数~~,如果是的话,难么这个函数就很强大了~~,随意添加系统服务~,在RING3层修改调用服务号,干点坏事情~~~(偏题了)。网上搜索了一番,发现这个是没有文档化的函数,但是有在ntoskrnl中有导出。在网上对这个函数的说明没有太多,都是提到利用这个函数来定位KeServiceDescriptorTableShadow。
一时心血来潮,就想逆向一下这个函数~~,最后是非常失望的,其实函数的作用只是添加系统服务表~(完全可以自己实现的),不是系统服务~,为什么没有注意到函数名KeAddSystemServiceTable中的Table这个单词呢?
|
|