|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 放肆的青春ゝ 于 2012-9-3 08:44 编辑
进程保护实现方式:
NTOpenProcess ---打开进程
NTSetSystemInformation --特殊方式加载驱动程序
NTTerminateprocess --结束进程
NTNtCreateThread --创建线程
ObOpenObjectByPointer --NTOpenProcess深层函数调用
另外为了兼容一些深层ark进程结束而自己没收到释放消息造成的资源问题
注册了PsSetCreateProcessNotifyRoutine来接收进程退出的消息实时将进程PID从维护列表中抹去
为了防止访问冲突 可以使用自旋锁的地方都用自旋锁了
但是ObOpenObjectByPointer这里还有点问题 会不会蓝看RP吧 希望有牛人帮我改好呢~;P
内核驱动程序 打交道最多的就是指针这个驱动也是各种指针飞来飞去 不过希望不会让大家觉得很乱啊
ssdt其实就是一个指针链表 ininle涉及jmp的地址运算 深层inline更是需要准确反运算原本指针地址
其实 深层次的东西 更可以和你直接使用函数名字得到的地址进行对比来查看是否已经被hook了 但是这块我没做
怕误人子弟
直接上源码
|
评分
-
参与人数 1 | 荣誉 +30 |
鱼币 +20 |
贡献 +10 |
收起
理由
|
小甲鱼
| + 30 |
+ 20 |
+ 10 |
真不错,奖励后下来看看~ |
查看全部评分
|