我正在通过连接到 QEMU(远程 gdb 调试)使用 IDA Pro 调试 ARM 二进制文件。
在 gdb 配置中,我选择ARM_versatilepb
作为设备。
现在,我能够成功调试 ARM 二进制文件。但是,我无法在二进制文件中执行诸如fork()
,之类的系统调用socket()
。
我认为这是因为我使用的是 QEMU 的裸机配置。那么,如何修改此配置以在 QEMU 上运行完整的 Linux 系统,以便我也可以执行系统调用?
gdb_arch.cfg
IDA Pro的文件中还有一个设备名称,ARM_Linux,它有arm_root.img
命令行中传递的参数。
我选择了这个设备,但即便如此,也无法执行系统调用。
我目前使用的裸机配置这里有详细介绍。