|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 Love 梦想 于 2012-11-16 14:48 编辑
所以在没有稳定的工作前,就先暂时放下单片机,复习一下编程知识。这个编程作品,也是在复习的时候,蒋哥想在需要的时候结束几个隐藏的进程。隐藏进程的实现方法通常都是通过DLL远程注入的方式,也有RING3 下HOOK相关API。而蒋哥的增值程序采用的是 SSDT HOOK技术(具体请看我的另外一篇《学习笔记 -> HOOK SSDT表的理解(1) 》http://user.qzone.qq.com/1007566569/blog/1338534353)。那个增值程序仅仅只是HOOK了 NtQuerySystemInformation,修改里它的返回值,所以普通的任务管理器自然就看不到该进程。就帮他整了一个简单的程序。后来想想,他在网吧工作,所以可能会有别的需要,所以索性就改进成通用版的,可以恢复指定被HOOK 的NtAPI。方便他用批处理器调用,也算是自己的第一个内核驱动变成作品吧。
恢复比HOOK要简单多。只需要把被修改的地址改回原来的即可。留下驱动代码供日后自己复习用:
有详细代码,安装好DDK之后可以完全编译成功~~ 有兴趣的鱼友可以试试~~~
==========================================================================================
程序下载地址:http://pan.baidu.com/share/link?shareid=117493&uk=2400077093
调用方法:
UnSSDTHOOK [ID]-[NtAPI]+
ID:SSDT表中函数服务号
NtAPI:函数名字
通过XueTr可以知道有那些API被HOOK,ID就是
里面的序号。NtAPI就是函数的名字。
例如:UnSSDTHOOK 122-NtOpenProcess+
注意,在执行前需要确定序号与函数名是相对应的。
可以通过批处理(.bat),循环调用,也可以自己写程
序调用。
UnSSDTHOOK 执行后会加载驱动,所以驱动名字不得修改。
恢复指定的函数地址后,会自动卸载驱动。
Love 梦想 于 2012.11.16
|
|