码迷,mamicode.com
首页 > 其他好文 > 详细

调试器与被调试程序的关系建立

时间:2020-04-30 15:24:45      阅读:78      评论:0      收藏:0      [点我收藏+]

标签:win   逆向   内核分析   分析   target   type   创建   active   https   

Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html

调试器与被调试程序的关系建立

这里只是对《软件调试》这部分的补充,如果不理解可以先看那部分,这一块当初写的比较详细,就不做过多介绍。

1. NtCreateDebugObject分析

  之前讲到过调试器调用ZwCreateDebugObject函数来创建一个DebugObject内核对象,其在内核中调用NtCreateDebugObject函数。

  从WRK中摘取到对应_DEBUG_OBJECT定义

  typedef struct _DEBUG_OBJECT {
      KEVENT EventsPresent;
      FAST_MUTEX Mutex;
      LIST_ENTRY EventList;
      ULONG Flags;
  } DEBUG_OBJECT, *PDEBUG_OBJECT;

  下面分析一下NtCreateDebugObject核心部分,其简单,创建对象插入到进程的句柄表之后返回即可。

  技术图片

2.DebugActiveProcess内部调用与调试关系建立

   有关函数可以看《软件调试》这一部分,这部分对有关函数做出了详细的说明,之后随着我们逆向分析的深入,还会更详细的分析有关函数。

   现在你应该对调试的建立过程在脑海中有一个对应的模型,这很好理解。

   技术图片

 

 

调试器与被调试程序的关系建立

标签:win   逆向   内核分析   分析   target   type   创建   active   https   

原文地址:https://www.cnblogs.com/onetrainee/p/12806911.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!