- 注册时间
- 2011-8-8
- 最后登录
- 1970-1-1
该用户从未签到
|
不少人不知道怎么过完美的DbgkpProcessDebugPortMutex,高手飘过
修改DbgkpProcessDebugPortMutex后调试程序就会让你的调试器死掉关都关不掉只有重新启动,OK,有这个症状的就是DbgkpProcessDebugPortMutex被修改了
其原理是:
利用DebugAPI 调试程序时(od就是利用DebugAPI),系统通过 DbgkForwardException 函数给调试器发送异常等消息。DbgkForwardException 函数又会调用 DbgkpSendApiMessage 函数给调试对象发送调试消息。DbgkpSendApiMessage 再调用 DbgkpQueueMessage 函数把调试消息插入到调试对象的事件队列里面,插入前先获取一个 DbgkpProcessDebugPortMutex 快速互斥体。
根据调试器的这个流程,我们可以写一个驱动始终占有 DbgkpProcessDebugPortMutex,那么被调试进程就会挂在内核代码里面,始终得不到执行
知道原因就好办了
|
|