用vc编写任务管理器杀不掉的进程

来源:互联网 发布:二维数组先定义 再赋值 编辑:程序博客网 时间:2024/05/01 01:18

      记得自己上高中的时候,我们上微机课,那时候每个机子都有个监控程序,很麻烦,老师上课了机子就被锁住了,什么也做不了,很不爽,那时候大家都知道用任务管理器结束进程,但是偏偏这个进程结束不了,后来我找到了个方法,在cmd下运行ntsd -c q -p 进程ID,这样这个监控程序就会结束了。那时候只知道这个方法,但不知道为什么任务管理器无法结束那个进程。现在我们也来写一个任务管理器杀不掉的进程吧。

      

     上面的代码是在我前一篇的基础上,做了些修改,让它更容易使用,并且修正了一些错误。大家可以写个exe调用上面的dll,看看效果啊。

      当然,ring0级的工具结束上面的程序还是很easy的。其实上面的程序只是给大家做了个演示,告诉那些杀不掉的进程是怎么样实现的,不论是ring0还是ring3,都离不开api的hook。

       实验中也发现ring3下的IAT hook不是很稳定,容易使程序崩溃,而且如果对方程序事先获得了调用函数的真实地址,你修改了IAT是没用的,(即便你hook了getprocaddress,当然inline hook除外)。有可能是我代码的问题吧,这只是我个人的一些观点。(感觉那些成熟的安全软件都是写驱动的,估计是自己认识太少吧)

       文章有哪些不足之处,还望大家多多指正。

原创粉丝点击