IDA pro 和 Bochs 调试器

逆向工程 艾达
2021-07-05 07:15:33

我正在 IDA Pro 中调试 shellcode

IDA Pro version: 6.1.011 (32-bit)
Bochs version: 2.6.2

我从文本文件加载 shellcode,代码在 IDA Pro 反汇编中正确显示。现在,我想调试它。

我正在使用与 IDA Pro 安装在同一台机器上的 Bochs 调试器。

我从文本文件中加载 shellcode 作为二进制文件,加载段设置为:0x00000000,加载偏移量设置为:0x00000000

seg000:00000000                 db 0FFh
seg000:00000001                 db 0FEh ; ¦
seg000:00000002                 db  55h ; U
seg000:00000003                 db 0EBh ; d
seg000:00000004                 db  6Eh ; n
seg000:00000005                 db  33h ; 3
seg000:00000006                 db 0C0h ; +
seg000:00000007                 db  64h ; d

实际代码从偏移量 0x02 开始,所以我按 C 并显示正确的反汇编

seg000:00000000                 db 0FFh
seg000:00000001                 db 0FEh ; ¦
seg000:00000002 ; ---------------------------------------------------------------------------
seg000:00000002                 push    ebp
seg000:00000003                 jmp     short loc_73
seg000:00000005
seg000:00000005 ; =============== S U B R O U T I N E =======================================
seg000:00000005
seg000:00000005
seg000:00000005 sub_5           proc near               ; CODE XREF: sub_AE+6p
seg000:00000005                 xor     eax, eax

现在,我选择“Local Bochs Debugger”,选择从偏移量 0x2 开始的代码,然后按 F9。

它给出了错误: "**Failed to map a database segment to virtual address, 00000000. This usually happens if the debugged program has segments that overlap with BOCHS loader segments**".

所以,我从文本文件重新加载 shellcode,这次将加载段设置为:0x00400000 并将加载偏移设置为:0x00000000

现在,当我重复上述步骤时,它会尝试启动 Bochs 调试器(我只是得到一个忙碌图标,所以我猜它正在尝试启动 Bochs 调试器),几秒钟后,给了我警告:

"Failed to run bochs with: C:\Program Files (x86)\Bochs-2.6.2\bochsdbg.exe" -f "C:\shellcodes\shellcode.bochsrc" -q

Please make sure that BOCHS is configured properly:
1. You are using bochsdbg.exe executable
2. You are using a supported version of BOCHS."
0个回答
没有发现任何回复~