一个原创c语言+汇编的驱动程序 通过ssdt hook及inline hook和深层hook限制进程被访问
本帖最后由 放肆的青春ゝ 于 2012-9-3 08:44 编辑进程保护实现方式:
NTOpenProcess ---打开进程
NTSetSystemInformation --特殊方式加载驱动程序
NTTerminateprocess --结束进程
NTNtCreateThread --创建线程
ObOpenObjectByPointer --NTOpenProcess深层函数调用
另外为了兼容一些深层ark进程结束而自己没收到释放消息造成的资源问题
注册了PsSetCreateProcessNotifyRoutine来接收进程退出的消息实时将进程PID从维护列表中抹去
为了防止访问冲突 可以使用自旋锁的地方都用自旋锁了
但是ObOpenObjectByPointer这里还有点问题 会不会蓝看RP吧 希望有牛人帮我改好呢~;P
内核驱动程序 打交道最多的就是指针这个驱动也是各种指针飞来飞去 不过希望不会让大家觉得很乱啊
ssdt其实就是一个指针链表ininle涉及jmp的地址运算 深层inline更是需要准确反运算原本指针地址
其实 深层次的东西 更可以和你直接使用函数名字得到的地址进行对比来查看是否已经被hook了 但是这块我没做
怕误人子弟
直接上源码
**** Hidden Message *****
沙发一下 .. 赞一个。 貌似比较牛逼 值得学习~~~~~ 路过看一看
参与/回复主题 关闭
RE: 一个原创c语言+汇编的驱动程序 通过ssdt hook及inline hook和深层hook限制进程被访问 [修改]
不错, 我来看看吧~~~~ 不错不错!真给力,收藏了 感谢楼主分享 谢谢谢谢 HKLJLJ 看看牛人写的hook 看看看!!!!!!!!!!!!! 路过赞一个 看看 下下来 好像很高深。。。 我是鱼油 我到鱼c
:o本贴由隐藏贴回复机快速回复 看看,顶一下……