riscv架构的gdb调试

有些逆向题会有riscv架构的,总结一下如何利用 qemu 和 gdb 调试 riscv 架构的程序

​ riscv 架构的不能用 ida 反编译,但是 ghidra 可以

工具准备

​ 调试 riscv 架构的程序需要准备专用的 gdb ,https://xpack.github.io/riscv-none-embed-gcc/releases/ 这里面包含各种开发工具,gdb 、gcc 、objdump……(ubuntu 的 gdb-multiarch 不支持 riscv 架构,但是其他一些系统可以)

​ 下载完后解压,进入到 bin 目录下就可以使用 gdb

​ qemu 的话直接在官网下载

​ 如果安装的 qemu 找不到 riscv 可以参考下这个来安装 https://pdos.csail.mit.edu/6.828/2019/tools.html

调试

qemu-riscv64 -g 2334 '/home/owl/桌面/main' -g 开放调试端口

./riscv-none-embed-gdb

​ 开启 gdb 后输入如下命令

target remote :2334

file ./main

​ 只能用原版 gdb ,gdb 插件会出错

调试时的一些指令

x /10xi 0x1234:查看对应的反汇编代码

info registers :查看寄存器

x /14xb 0x1234:查看内存

stepi :单步执行

作者

0wl

发布于

2021-07-16

更新于

2021-07-16

许可协议

评论