02 异常事件的采集
作者:互联网
【太多事情要做了,这部分难度对我来说又很大,先写一下大体框架,到时候具体函数逆向分析过程给写出来】
1. 调试器会接收到被调试程序什么事件?
答:并不是被调试程序芝麻大点的事都会往调试器上发,对于调试器来讲,其只接收七种事件。
2. 被调试程序使用什么函数来进行事件的采集并发送给调试器。
答:使用Dbgk开头的一类函数。在各类事件的必经之路上创建一个函数调用,一旦经过就判断DebugPort,如果处于调试状态就收集调试事件,然后发送给调试器。
比如这是 PspExitThread,线程退出与进程退出的必经之路。
3.DbgkpSendApiMessage如何实现发送消息的?
EvenList 处于 +0x30位置,DbgkpSendApiMessage会调用 _DbgkpQueueMessage,取出_EPROCESS+DebugPort处的 DebugObject,然后偏移+0x30取出链表,之后链表操作将DebugEvent插入到链表当中。
标签:02,0x30,链表,采集,DbgkpSendApiMessage,事件,调试程序,异常,调试器 来源: https://www.cnblogs.com/onetrainee/p/11894032.html