我正在使用 Local Bochs Debugger 和 IDA Pro 来调试 shellcode。这个shellcode在IDA Pro中可以正确反汇编,但是,现在我想调试它。
我试过调试,但由于Bochs的配置是裸机,它无法正确执行一些代码,例如:
xor eax, eax
mov eax, dword ptr fs:[eax+0x30] // PEB
由于PEB 是Windows 操作系统中定义的结构,因此Bochs 不会正确执行此代码(不会在eax 中加载PEB 地址)。
同样,解析 kernel32.dll 结构以查找各种 API 地址的其他代码段也不起作用。
如何使用 IDA Pro 和 Bochs Debugger 调试 shellcode?
我还有以下几点:
Windows XP SP3 Guest OS running in VMWare workstation.
IDA Pro running on the host OS.
是否可以将 shellcode.txt 文件放在来宾操作系统中,然后在主机操作系统上使用 IDA Pro 对其进行调试?我想在这种情况下,可以使用Windows Debugger,windbg 的引擎。
会有什么配置?在以下文章中:
https://www.hex-rays.com/products/ida/support/tutorials/debugging_windbg.pdf
它描述了如何调试在 Windows 上运行的远程进程。但就我而言,它不是一个进程,而是从文本文件加载的 shellcode。