windows kernel
文章平均质量分 73
galihoo
day focus
展开
-
如何使用 C++ 方式来编写驱动
这个问题可能会很无聊,而且觉得连这个题目都不好拟,但我还是以我的方式记下来了,觉得有用的朋友就尽管拿去用,不过我觉得可能性很小问题的由来: c源文件是以"c"为后缀的 ,而纯c语言都是在函数的开始就将所有用的变量全部定义好,然后在函数中使用,如果不按照这个规定,那么等待你的就是在编译的时候将你处以极刑,这个让我觉得非常郁闷,我就是想在使用的时候再定义一个变量,这样可以让我的程序更原创 2007-08-06 03:09:00 · 3060 阅读 · 1 评论 -
vc6中集成驱动编译环境的配置方法
本方法是来源于自《windows防火墙与网络封包截获技术》 ,我只是厚颜无耻的加了点东西贴在这里,一是为不知道如何搭建环境的朋友行个方便,二是在这里做一个备忘录(以前的老blog里面讲的不清不楚,因此这次翻新整理一下)编译驱动当然可以使用命令行来编译,但是如果能够在vc6里面就集成驱动的编译将会使一件非常痛快的事情,毕竟vc的IDE环境对源代码的管理、编写支持的非常好,况且还有可爱的vc助手,原创 2007-08-05 02:41:00 · 1831 阅读 · 0 评论 -
绕过安全软件挂钩SSDT的检测
很多安全软件都靠挂钩SSDT中的函数来检测恶意代码,就拿卡巴举例吧,他挂了NtCreateKey来检测注册表的创建,NtCreateThread和NtResumeThread/NtWriteVirtualMemory来检测远程注入, 等等,这些钩子让我们后期的动作很可能暴露,怎么样才能为所欲为呢?我这里提一种方案:1. 首先在用户态读取NTOSKRNL.EXE,找出原始的SSDT的位置,提交到内核原创 2008-04-16 21:31:00 · 1380 阅读 · 0 评论 -
通过PspTerminateThreadByPointer结束进程
很早前写的代码了,免得腐烂了,贴出来这个思想是在读了PJF牛人 "终止进程内幕" 后才晓得基本思想就是用户态将欲结束的进程PID传递到内核驱动,驱动通过PsLookupProcessByProcessId得到进程的EPROCESS结构,再通过EPROCESS结构找到线程的链表头,遍历这个链表,逐一调用PspTerminateThreadByPointer,将其一个一个的KILL掉这里有三个问原创 2008-04-16 22:15:00 · 4187 阅读 · 0 评论