Windows内核层技术
苞米地里捉小鸡
程序蒟蒻
展开
-
MiniFilter文件过滤驱动编译时遇到inf文件报错
用MiniFilter写文件过滤驱动的时候,编译过程遇到inf文件中报错。 Invalid Class value “TODO_Change_Class_appropriately” exceeds max length of 31 Invalid ClassGuid “{TODO_Change_ClassGuid_appropriately}”,expecting{xxxxxxxx…} 就如下图这样 如何解决? 打开inf文件。 将上面两个Class和ClassGuid的注释取消。 将.原创 2020-09-22 16:10:51 · 720 阅读 · 0 评论 -
SSDT HOOK技术(2)——获取SSDT表地址以及从中获取指定SSDT函数的地址
32 位系统和 64 位上,获取 SSDT 表的方式并不相同,获取 SSDT 表中的函数地址也不相同。 由于32位系统中SSDT是可以通过Ntoskrnl.exe导出的,所以可以直接获取SSDT地址。然而在64位系统上,SSDT不能导出,需要通过特征码寻找到KeServiceDescriptorTable的地址 1.32位获取SSDT的地址 在 32 位系统中,SSDT 表是内核 Ntoskrnl.exe 导出的一张表,导出符号为 KeServiceDescriptorTable,该表含有一个指针指向原创 2020-08-19 17:19:44 · 1288 阅读 · 3 评论 -
SSDT HOOK技术(1)——获得SSDT函数索引号
1.SSDT是什么? SSDT全程是System Services Discriptor Table 翻译过来就是系统服务描述符表,那么系统服务描述符是什么呢?根据官方的解释ssdt表就是把ring3的Win32 API和ring0的内核API联系起来。SSDT并不仅仅只包含一个庞大的地址索引表,它还包含着一些其它有用的信息,诸如地址索引的基地址、服务函数个数等。 那么我们可以理解为SSDT就是一个很庞大的数组,它被用来保存windows系统服务地址。 比如我们在R3层调用了CreateFile这个A原创 2020-08-19 16:13:06 · 864 阅读 · 0 评论