如何从 MIPS 固件调试二进制文件
How to debug binaries from a MIPS firmware
我正在尝试利用该死的易受攻击的路由器固件中的二进制文件,但我在使用 gdb 进行调试时遇到了问题。
运行 我使用这个命令的程序:
sudo chroot . ./qemu-mipsel-static ./pwnable/Intro/stack_bof_01
它有效但是当我尝试 运行 gdb with :
sudo chroot . ./qemu-mipsel-static gdb ./pwnable/Intro/stack_bof_01
我有 :
(gdb) r
Starting program: /pwnable/Intro/stack_bof_01
qemu: Unsupported syscall: 4026
Cannot exec /bin/bash: No such file or directory.
qemu: Unsupported syscall: 4026
Could not open /proc/12532/status
我试图在 qemu VM 中复制二进制文件,但我没有整个系统,所以它不起作用。
那么,从不同于 x86 的架构上的固件调试程序的最佳方法是什么?
在qemu用户模式下,运行程序使用带选项-g
的命令:
sudo chroot . ./qemu-mipsel-static -g 1234 ./pwnable/Intro/stack_bof_01
然后启动 gdb-multiarch
(或对应于该体系结构的 gdb
),并像这样附加到它:
target remote 127.0.0.1:1234
那你就可以愉快的调试了
我正在尝试利用该死的易受攻击的路由器固件中的二进制文件,但我在使用 gdb 进行调试时遇到了问题。
运行 我使用这个命令的程序:
sudo chroot . ./qemu-mipsel-static ./pwnable/Intro/stack_bof_01
它有效但是当我尝试 运行 gdb with :
sudo chroot . ./qemu-mipsel-static gdb ./pwnable/Intro/stack_bof_01
我有 :
(gdb) r
Starting program: /pwnable/Intro/stack_bof_01
qemu: Unsupported syscall: 4026
Cannot exec /bin/bash: No such file or directory.
qemu: Unsupported syscall: 4026 Could not open /proc/12532/status
我试图在 qemu VM 中复制二进制文件,但我没有整个系统,所以它不起作用。
那么,从不同于 x86 的架构上的固件调试程序的最佳方法是什么?
在qemu用户模式下,运行程序使用带选项-g
的命令:
sudo chroot . ./qemu-mipsel-static -g 1234 ./pwnable/Intro/stack_bof_01
然后启动 gdb-multiarch
(或对应于该体系结构的 gdb
),并像这样附加到它:
target remote 127.0.0.1:1234
那你就可以愉快的调试了