带臂调试切刀

Cutter with arm debugging

在逆向 x86 二进制文件时,我已经能够使用我的本机主机 (x86_64) 库 运行 Cutter (radare2) 中的调试器。尝试调试 arm 二进制文件时我会怎么做?我怎样才能让 cutter 将 libc.so 用于 arm 而不是我的本地主机,以便我可以调试?

环境

  • 切割器:版本1.10.0,使用r2-4.1.1,基于Qt 5.12.1(GCC 7.4.0,64位)
  • 系统: Ubuntu 18.04.3 LTS

解决方案

  • 注意:截至 Cutter v1.10.0 调试仍处于测试阶段,因此这些结果可能会随着时间的推移而变化。

  • 选项 1:利用 Cutter 的仿真功能而不是调试。
  • 选项 2:将 Cutter 连接到远程会话。

示例

选项 1

用目标 ARM 二进制文件打开 Cutter 并寻找主函数。

Select "Start emulation" 来自调试菜单。

设置breakpoints/step/continue如同调试。

选项 2

用目标 ARM 二进制文件打开 Cutter 并寻找主函数。

为目标 ARM 二进制文件启动远程会话。

user@host:~$ qemu-arm -g 5000 test.x

Select "Connect to a remote debugger" 来自调试菜单。

以远程调试器为目标。

像往常一样设置breakpoints/step/continue。