Radare2(菜鸟问题)无法设置断点?

逆向工程 雷达2 断点
2021-07-06 05:37:08

最后我一直在关注这个视频,它展示了如何使用 Radare2 (r2) 进行基本操作。

当我尝试设置断点时:

db 0x004005bd

0x004005bd刚刚执行的main函数的第一个地址在哪里

push rbp

但是在我运行db命令后,它告诉我:

Cannot place a breakpoint on 0x004005bd unmapped memory. See dbg.bpinmaps

我明白它说的是什么,但我该如何解决?

4个回答

在调试模式下运行radare2。 r2 -d

您可能使用的是过时版本的radare2。

卸载当前radare2版本,然后运行:

git clone https://github.com/radare/radare2 && cd radare2 && ./sys/install.sh

如果您使用 ArchLinux,请使用radare2-git

如果您使用的是 windows 或其他平台(如 iOS 或 Android),请使用rada.re上的 git 链接或构建它。

最后,如果您遇到与radare2本身相关的问题,我强烈建议您来IRCTelegram打个招呼,您也可以在github上报告问题

您可以使用“file”命令检查可执行文件。那么您会发现该文件是“精灵共享对象”而不是“精灵可执行文件”。但是你可以直接执行它。

所以你需要使用“gcc xxx.c -no-pie -o xxx”重新编译它然后使用“radare2 -d xxx”调试它,你很高兴

您也可以这样e dbg.bpinmaps=0做 Radare2 允许您在没有该限制的情况下设置断点。