带臂调试切刀
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。
在逆向 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。