7. win32调试API

一、前言

相比于上一章,本章的内容就稍微有意思一点了,因为可以直接上手使用。

本文要介绍的时win32 api中提供的一系列用于调试的api,比如vs中为什么能打断点调试程序?x64dbg为什么能让程序运行的时候暂停下来?其很大程度上就依赖于这些api。

二、API概述

常用的调试API大概有以下几个:

如果有兴趣的可以自行点击前往官方文档研究研究如何使用,后续逆向实战我也会使用一下这些函数。

三、调试事件

调试器的作用就是监视目标进程的执行、并对其发出的每一个调试事件做出应有的反应。

一旦目标进程发生了一个调试事件,那么系统就会通知调试器来处理这个事件,调试器就可以通过WaitForDebugEvent函数来获取目标进程的相关环境信息。

也就是这个函数第一个参数返回的值,更多内容可以查看官方文档:DEBUG_EVENT

主要就是下面这个结构体:

typedef struct _DEBUG_EVENT {
  DWORD dwDebugEventCode;
  DWORD dwProcessId;
  DWORD dwThreadId;
  union {
作者:余识
全部文章:0
会员文章:0
总阅读量:0
c/c++pythonrustJavaScriptwindowslinux