在 Windbg 中调试 EXE 文件以及如何在程序集中设置断点

逆向工程 数据库 风袋 外壳代码 纳姆 汇编
2021-07-08 00:20:32

我正在尝试设置断点(在程序集中创建)并逐行进入 EXE 文件以观察寄存器和内存行为。我在 Linux 下用 gdb 很容易地做到了这一点。

gdb -q ./AssembledLinkedFile -tui
break _start  (or break *&code for C using shellcode)
run
stepi

这完美地工作。然而,Windbg 的文档似乎并不那么直截了当。

由于使用GoLink添加了几行asm,我需要找到我的程序集并从头开始(_start:)

当前进程。

  1. 编写我的汇编程序。
  2. 组装(在 linux 上) - nasm -f win64 messageBox64bit.nasm -o messageBox64bit.obj
  3. 与 golink (Windows) 链接 - golink \console messageBox64bit.obj
  4. messageBox64bit.EXE 创建并运行良好。在 Windows 上执行

在Windbg中打开messageBox64bit.EXE后,如何在我的程序集(_start:)中设置断点,然后进入?

1个回答

似乎 bp $exentry应该在入口点上设置断点,然后您可以继续 ( g) 直到您命中它。