windbg指令学习

windbg调试命令 (opens new window)

eb rip 90

将断点nop掉

.cls

清空屏幕

u rip-6 l 30

定位到前面6个字节 并显示30行汇编

ba r4 info+4

  • ba 是 "break on access" 的缩写,代表设置一个访问断点。
  • r4 的 r 表示在读取时触发断点,同时 4 指定访问的大小为4字节。可以将这个认为是设置了一个当读取了4字节时触发的断点。
  • info+4 表示该断点的地址,是一个变量 info 的地址偏移4字节的地方。 所以,ba r4 info+4 的具体含义是“在程序尝试读取存储在 info+4 地址(我们假设 info 是一个地址)开始的 4 字节时,触发断点”。 简单来说,当程序试图访问 info+4 的 4 个字节时,就会暂停执行,使你有机会检查或改变程序的运行状态。

!process 0 0

是在 WinDbg (Windows Debugger)中的一个命令,主要用于枚举系统中的所有进程。 WinDbg 是一个 Windows 平台下的核心级别的、多功能的调试器,被广泛用于驱动程序开发以及系统故障的排查。 "!process" 是一个非常常用的命令,通过它可以获取进程的相关信息。 参数 "0 0" 针对 "!process" 命令来讲,有特殊含义:

  • 第一个 0 表示输出所有进程的基本信息,包括进程地址、进程ID、建立时间,还有进程名。
  • 第二个 0 表示只输出进程的基本信息。如果该值大于0,例如1,那么将输出包括进程环境、并发线程、模块、堆信息在内的更多详细信息。 所以,"!process 0 0" 的意思是,输出系统中所有进程的基本信息。

20240416235046_image.png