Gdb 如何从MIPS固件调试二进制文件

Gdb 如何从MIPS固件调试二进制文件,gdb,mips,firmware,Gdb,Mips,Firmware,我试图利用路由器固件中的二进制文件进行攻击,但我在使用gdb进行调试时遇到了问题。 要运行程序,我使用以下命令: sudo chroot/qemu mipsel静态。/pEnable/Intro/stack_bof_01 它可以工作,但当我尝试运行gdb时: sudo chroot . ./qemu-mipsel-static gdb ./pwnable/Intro/stack_bof_01 我有: (gdb)r 启动程序:/pEnable/Intro/stack\u bof\u 01 qe

我试图利用路由器固件中的二进制文件进行攻击,但我在使用gdb进行调试时遇到了问题。 要运行程序,我使用以下命令:
sudo chroot/qemu mipsel静态。/pEnable/Intro/stack_bof_01
它可以工作,但当我尝试运行gdb时:

sudo chroot . ./qemu-mipsel-static gdb ./pwnable/Intro/stack_bof_01 
我有:

(gdb)r

启动程序:/pEnable/Intro/stack\u bof\u 01

qemu:不支持的系统调用:4026

无法执行/bin/bash:没有这样的文件或目录

qemu:不支持的系统调用:4026 无法打开/proc/12532/status

我试图在qemu虚拟机中复制二进制文件,但我没有整个系统,因此无法工作


那么,从不同于x86架构的固件调试程序的最佳方法是什么呢?

在qemu用户模式下,使用带有选项
-g
的命令运行程序:

sudo chroot . ./qemu-mipsel-static -g 1234 ./pwnable/Intro/stack_bof_01
然后启动与该体系结构对应的
gdb多拱
(或
gdb
),并按如下方式连接到它:

target remote 127.0.0.1:1234
然后您可以愉快地调试它