经过两个星期的折腾,SSDT HOOK终于成功了,在这里首先感谢论坛里的一位大神,真的是非常感谢,他的ID是什么记不得了,加了他的好友,记得他的名字下面写着列宁两个字,呵呵很有趣的名字啊,想加的人可以看一看我发的帖子。
这里闲扯淡两句,论坛里的大神级别的人物还是不少的,我们不能用等级来衡量一个人的知识水平,就像那天看到一个c++高级程序员的帖子,两星级以上的用户优先录取,我觉着吧,这是不明智的举动,我认识的那位内核大神就是五裤衩的裤衩级用户。有人说的对,裤衩级的大神多得是,星级的菜鸟也到处都是。
作为一位大神,其实你一个你认为很不经意的举动,你认为很简单的一个回答说不定就能帮助一个菜鸟少走一大段路程,所以当一个菜鸟劳烦你一些事情的时候如果你能够稍稍再多付出一点,收到的不仅仅是感谢,还会有一种帮助的快感。
闲话就不扯了,本菜鸟要发表言论了。
经过第一个内核程序的编写,我明显的觉得自己在一步一步的成熟,我第一次写的是HOOK分发函数截获键盘记录,如果有兴趣的朋友看我另一篇博客,现在我写的是挂钩SSDT表在R0层HOOK API函数。
在我写驱动HOOK之前,我是由看黒防的杂志得到的想法,我也想自己动手试试SSDT HOOK,菜鸟么,重在动手练习。我查阅资料,翻看书籍,自己写或者是借鉴别人成功的代码,写了一些SSDT HOOK的代码,但是编译神马的都通过了,就是一旦运行不是蓝屏就是死机,于是反复查资料改代码,最终还是没能通过,于是我就去论坛发帖,一个帖子挂在论坛上一个星期没有人回帖,我也只好郁闷的结了,正好有些错误经过改动和源代码也不一样,就又重写了一下发了新帖,果然当天晚上就遇到那个“列宁”的大神,他仔细的看了,真仔细的看了,给我的代码提出了五点错误。我仔细看了一下,发现了一个严重的逻辑错误,难怪蓝屏,呵呵,还是不仔细啊,除此之外“列宁”作为一个经验丰富的内核程序设计者指出了一些由于经验不足导致的小错误,使我受益匪浅。在此再次感谢。
以下是我修改后的HOOK的代码,和上次一样,为了方便,我任然没有写卸载函数,我是用的是暴力修改CR0寄存器的方法,所以稳定性有待考证,经过我的测试还是会有蓝屏的情况出现,不过作为菜鸟写的代码,确实也实现了这段代码应该有的功能,在此,我就贴出来让大家瞧瞧,不要笑话啊,毕竟是菜鸟,呵呵。
分享到:
相关推荐
监控指定进程的详细操作 内涵三个文件夹,一个驱动注入工具,一个启动设备端,一个被监控程序。 五脏俱全!!不是像目前流行的监控所有进程的对某系统资源的监控! 同时因为分数少所有才多要了些分
使用ssdthook技术实现进程防止关闭功能,包含完整代码,代码注释齐全。
SSDTHook实现进程保护:http://blog.csdn.net/php_fly/article/details/9202379
ssdthook
Windows内核态SSDT-hook实现进程隐藏和文件隐藏,代码很规整,学习内核编程的好例子 -a good example of studying kernel programing or driver developing, SSDT hook
SSDT钩子 隐藏进程_SSDT HOOK没用汇编代码修改CR0的第16位,修改SSDT进程列表及进程的时间属性值.zip
ssdt hook,最简单的内核技术,多用于保护进程。
ssdt hooking for windows kernel
WINDOWS 过PG后可修改SSDT,实现SSDT hook,采用二次挑战方式实现
对学习驱动的朋友有帮助,同时实现了驱动和应用层之间的通信,实现进程保护,这个框架很好
他可以基于ring3恢复SSDTHOOK,一款很专业的工具。使用ZwSystemDebugControl,可以在ring3下读写内核空间虚拟内存,但是XP以上系统貌似就不支持写内核了,还有NtSystemDebugControl被SSDT HOOK之后也无法写进内核,...
SSDT HOOK检测,SSDT SHADOW HOOK的检测没有做,跟SSDT检测原理一样,只是多分析一个PE,多比对一套函数,没有计算当前HOOK落到那个moudle也没有INLINE检测,INLINE还是很麻烦,早就有linxer大牛的xuetr了,自己写也...
SSDT表 hook 原理 源码
通过hook内核中ssdt表中的ntopenprocess函数,标号为35,可通过遍历ssdt表查找得知,可实现进程保护。 适用系统:win7 64,需关闭驱动签名保护 编程工具:vs2012+wdk8.0
如何区分ssdt hook和inline hook的区别
ssdt hook监控进程,注册表,内核模块的加载_禁止程序运行 禁止修改注册表 禁止加载sys文件.zip
SSDT HookSSDT HookSSDT HookSSDT HookSSDT HookSSDT Hook
ring0 ssdt hook sys驱动 得到进程全路径.zip
HookDemo_SSDT SSDT hook 的简单例子
SSDt HOOK的 源码 大家感兴趣的看看