其他分享
首页 > 其他分享> > 02 异常事件的采集

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