欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

SDTrestore Version 0.2 学习注释存档

SDTrestore Version 0.2 学习注释存档

/********************************************************************************************
* Name   : SDTrestore Version 0.2
* Author : Coded by Chew Keong TAN 
* Learner: sudami [xiao_rui_119@163.com]
* Time   : 08/01/12
*
* Comment:
*  
*  适用 XP 和 WIN2K
*  SDT恢复是一个古老的技术了,这些天复习以前的知识,发现东西都忘了.正好找到了这份源码.
*  于是开始边注释边复习起来. 现在终于又把RING3下恢复SSDT的东西温习了一下,感觉很充实.
*  偶很菜,一开始看代码的时候,不知道如何下手,因为原作者的代码风格很乱,看得糊涂.于是偶
*  按照M$ 的代码风格重新注释了一遍,方便以后温习. 如果你还木有看过这份源码的话,在偶注释
*  的基础上应该会理解的更快些了.
*  
*  搜索了下坛子,发现没有关于这份源码的相关细节.于是偶来补充下.
*  存档的主要目的是方便以后学习这些知识的同学更快的找到资源,少走弯路. 老鸟飘过~ 
*
* Description:
*  
*  在RING3获得\device\physicalmemory 的读写权限(前提必须是Administrator). 从磁盘读取
*  ntoskrnl.exe,对齐后映射进内存(这需要我们自己来做),在其EAT中得到KeServiceDescriptorTable
*  相对于ntoskrnl.exe的偏移.把系统高端加载的ntoskrnl.exe 的SSDT地址映射到进程的虚拟地址空间里
*  推算出ServiseTable的地址后,把其所有内容映射到进程的虚拟地址空间里. 得到了ServiseTable的地址
*  但它里面的函数是否被HOOK过,并不知道.所以需要参照我们自己映射的ntoskrnl.exe中的ServiseTable
*  里函数的偏移来作比较.不相同,则被HOOK了,然后恢复之.
*  
*  btw: 90210 的那个搜索SSDT的方法好像不行.得到的地址不正确.而且导致系统直接重启
*
*********************************************************************************************/

注释风格类似如下:

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功