`
tianshibaijia
  • 浏览: 1121876 次
文章分类
社区版块
存档分类
最新评论

SSDT HOOK禁止指定进程结束

 
阅读更多

经过两个星期的折腾,SSDT HOOK终于成功了,在这里首先感谢论坛里的一位大神,真的是非常感谢,他的ID是什么记不得了,加了他的好友,记得他的名字下面写着列宁两个字,呵呵很有趣的名字啊,想加的人可以看一看我发的帖子。

这里闲扯淡两句,论坛里的大神级别的人物还是不少的,我们不能用等级来衡量一个人的知识水平,就像那天看到一个c++高级程序员的帖子,两星级以上的用户优先录取,我觉着吧,这是不明智的举动,我认识的那位内核大神就是五裤衩的裤衩级用户。有人说的对,裤衩级的大神多得是,星级的菜鸟也到处都是。

作为一位大神,其实你一个你认为很不经意的举动,你认为很简单的一个回答说不定就能帮助一个菜鸟少走一大段路程,所以当一个菜鸟劳烦你一些事情的时候如果你能够稍稍再多付出一点,收到的不仅仅是感谢,还会有一种帮助的快感。

闲话就不扯了,本菜鸟要发表言论了。

经过第一个内核程序的编写,我明显的觉得自己在一步一步的成熟,我第一次写的是HOOK分发函数截获键盘记录,如果有兴趣的朋友看我另一篇博客,现在我写的是挂钩SSDT表在R0HOOK API函数。

在我写驱动HOOK之前,我是由看黒防的杂志得到的想法,我也想自己动手试试SSDT HOOK,菜鸟么,重在动手练习。我查阅资料,翻看书籍,自己写或者是借鉴别人成功的代码,写了一些SSDT HOOK的代码,但是编译神马的都通过了,就是一旦运行不是蓝屏就是死机,于是反复查资料改代码,最终还是没能通过,于是我就去论坛发帖,一个帖子挂在论坛上一个星期没有人回帖,我也只好郁闷的结了,正好有些错误经过改动和源代码也不一样,就又重写了一下发了新帖,果然当天晚上就遇到那个“列宁”的大神,他仔细的看了,真仔细的看了,给我的代码提出了五点错误。我仔细看了一下,发现了一个严重的逻辑错误,难怪蓝屏,呵呵,还是不仔细啊,除此之外“列宁”作为一个经验丰富的内核程序设计者指出了一些由于经验不足导致的小错误,使我受益匪浅。在此再次感谢。

以下是我修改后的HOOK的代码,和上次一样,为了方便,我任然没有写卸载函数,我是用的是暴力修改CR0寄存器的方法,所以稳定性有待考证,经过我的测试还是会有蓝屏的情况出现,不过作为菜鸟写的代码,确实也实现了这段代码应该有的功能,在此,我就贴出来让大家瞧瞧,不要笑话啊,毕竟是菜鸟,呵呵。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics