01 2014 档案
获取NtOpenProcess的当前地址和原函数地址
摘要:// 获取当前NtOpenProcess的地址ULONG GetCurr_Addr(){ /* LONG *SSDT_Adr,SSDT_NtOpenProcess_Cur_Addr,t_addr; KdPrint(("驱动成功被加载中.............................\n")); //读取SSDT表中索引值为0x7A的函数 //poi(poi(KeServiceDescriptorTable)+0x7a*4) t_addr=(LONG)KeServiceDescriptorTable->ServiceTableBase; Kd... 阅读全文
posted @ 2014-01-13 17:51 萝卜哥 阅读(805) 评论(0) 推荐(0)
根据索引号读出SSDT表当前函数地址
摘要:公式: [[KeServiceDescriptorTable]+index(索引)*4]例如要读取 NtOpenProcess [[KeServiceDescriptorTable]+0x7A*4]1. 纯汇编读取WinDbg推导公式 : dd poi[KeServiceDescriptorTable] + 0x7A*4L 1mul是无符号乘法imul是带符号乘法.cls 清屏r ebx 读取寄存器的值运行结果一致, 这样就读出了 NtOpenPorcess 的当前地址, 代码如下 1 ULONG SSDT_NtOpenProcess_Cur_Addr; 2 KdPri... 阅读全文
posted @ 2014-01-10 16:53 萝卜哥 阅读(619) 评论(0) 推荐(0)
SSDT 系统描述符表 地址读取
摘要:一. 什么是SSDT SSDT(System Services Descriptor Table),系统服务描述符表。这个表就是一个把ring3的Win32 API和ring0的内核API联系起来。SSDT并不仅仅只包含一个庞大的地址索引表,它还包含着一些其它有用的信息,诸如地址索引的基地址、服务函数个数等。通过修改此表的函数地址可以对常用windows函数及API进行hook,从而实现对一些关心的系统动作进行过滤、监控的目的。一些HIPS、防毒软件、系统监控、注册表监控软件往往会采用此接口来实现自己的监控模块,SSDT到底是什么呢?打一个比方,SSDT相当于系统内部API的指向标,作用就是. 阅读全文
posted @ 2014-01-10 15:38 萝卜哥 阅读(1163) 评论(0) 推荐(0)
驱动WDK下载地址
摘要:下载地址: http://msdn.microsoft.com/zh-CN/windows/hardware/gg487463适用于以下 Windows 版本:Windows 7Windows VistaWindows XPWindows Server 2008 R2Windows Server 2008Windows Server 2003 阅读全文
posted @ 2014-01-08 17:52 萝卜哥 阅读(673) 评论(0) 推荐(0)
VS2010编译驱动程序
摘要:1. 建C++空项目, 右键项目属性, 设置如下2. 创建简单的驱动程序, 编译成功 阅读全文
posted @ 2014-01-08 17:02 萝卜哥 阅读(333) 评论(0) 推荐(0)