调试时radare2中的可视化视图

逆向工程 拆卸 雷达2
2021-06-30 08:09:03

我在调试模式下使用radare2 (r2 -d ./program)。我在某个地址 ( db 0x12341234)设置了一个断点,然后我使用以下方法进入了可视化视图:V!

按照一些教程,我看到他们使用“ s”切换到下一条指令,但这对我不起作用。这也不起作用:

也许在radare中使用调试器的更简单方法是将其切换到可视模式。这样你就不必记住很多命令,也不必记住程序状态。要进入视觉模式,请使用V

[0xB7F0C8C0]> V

进入可视模式后的初始视图是当前目标程序计数器(例如,x86 的 EIP)的十六进制转储视图。按下p将允许您循环浏览其余的视觉模式视图。您可以按pP旋转最常用的打印模式。使用F7或 s 进入和F8S跳过当前指令。使用c键,您可以切换光标模式以标记字节范围选择(例如,稍后用 覆盖它们nop)。您可以使用F2key设置断点

我按下的任何键都不起作用。我错过了什么吗?

我说的是这个观点。

1个回答

首先,确保您从 git 存储库运行最新版本的radare2:

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

如果您不想安装 git 版本,或者您想要另一台机器(Windows、OS X、iOS 等)的二进制文件,请查看radare2 网站上下载页面

radare2 有几个不同的可视化视图,在我解释它们之前 - 请aa使用s <function_name>. 您可以使用 列出radare2 识别的函数afl

  • V- 基本的视觉模式。您可以使用p在视图之间切换 P
  • VV- 可视化图形模式,显示 ASCII 图形视图。同样,您可以使用p在视图之间切换P
  • V! - 视觉面板模式,这是您附加到问题的模式。

在上述每种模式中,您可以按?以列出可用命令。命令因不同模式而异。

调试时在可视化视图中按下sS将分别步进和步进。radare 将eip在每一步自动同步视图
在可视面板模式 ( V!) 中,您可以使用TAB在面板之间导航,并使用 h/j/k/l 在视图/面板内移动。
您可以使用:(即s 0x00402c1e从可视模式内部运行 r2 命令

如果它仍然不起作用,并且您认为这是radare 的问题,请打开一个问题,radare2 的伟大贡献者将很乐意为您提供帮助。