Radare2 Disassembler 你如何组织可视面板(V!)?
Posted
技术标签:
【中文标题】Radare2 Disassembler 你如何组织可视面板(V!)?【英文标题】:Radare2 Disassembler How Do You Organize Visual Panels (V!)? 【发布时间】:2019-06-09 15:25:35 【问题描述】:我想使用 Radare2 来了解如何将 C 组装成程序集,但我在布局方面遇到了问题。我觉得V!模式会非常方便,因为您可以在指令指针在程序中移动时看到寄存器更新,但我不明白布局。
这是我想要的布局示例:
似乎当我添加一个窗口(如这张照片中的堆栈或寄存器)时,它出现在屏幕外,我必须尝试关闭不同的窗口并拆分窗口,直到布局到位。有没有一种简单的方法可以准确地更改每个窗口中的内容?
我知道“X”关闭一个窗口,“z”将当前窗口切换到前面,“-”/“|”分割一个窗口。
我已尝试查看帮助,但似乎无法找出与此问题相关的任何其他命令。
【问题讨论】:
【参考方案1】:环境
radare2: 4.2.0-git 23712 @ linux-x86-64 git.4.1.1-97-g5a48a4017 提交:5a48a401787c0eab31ecfb48bebf7cdfccb66e9b 构建:2020-01-09__21:44:51 系统: Ubuntu 18.04.3 LTS解决方案
可以通过多种方式解决此问题,这只是一个示例。要创建您描述的布局,请通过以下方式更改默认布局中显示的命令:
-
在内部单击/选择要更改的面板。
右键单击面板并选择新命令或
输入“e”,然后输入新命令。 (例如:寄存器 = 博士)
下面显示的更多文档可以在这里找到:https://radare.gitbooks.io/radare2book/visual_mode/visual_panels.html
|Visual Ascii Art Panels:
| | split the current panel vertically
| - split the current panel horizontally
| : run r2 command in prompt
| _ start the hud input mode
| ? show this help
| ?? show the user-friendly hud
| ! run r2048 game
| . seek to PC or entrypoint
| * show pseudo code/r2dec in the current panel
| / highlight the keyword
| ( toggle snow
| & toggle cache
| [1-9] follow jmp/call identified by shortcut (like ;[1])
| ' ' (space) toggle graph / panels
| tab go to the next panel
| a toggle auto update for decompiler
| b browse symbols, flags, configurations, classes, ...
| c toggle cursor
| C toggle color
| d define in the current address. Same as Vd
| D show disassembly in the current panel
| e change title and command of current panel
| g go/seek to given offset
| G show graph in the current panel
| i insert hex
| hjkl move around (left-down-up-right)
| J scroll panels down by page
| K scroll panels up by page
| H scroll panels left by page
| L scroll panels right by page
| m select the menu panel
| M open new custom frame
| nN create new panel with given command
| pP seek to next or previous scr.nkey
| q quit, back to visual mode
| r toggle jmphints/leahints
| sS step in / step over
| t rotate related commands in a panel
| uU undo / redo seek
| w start Window mode
| V go to the graph mode
| X close current panel
| z swap current panel with the first one
示例
打开可视面板
user@host:~$ r2 /bin/ls
[0x00005850]> aaaa
...
[0x00005850]> s main
[0x00003e90]> V!
打开可视面板后的默认视图
选择右上角的面板,然后右键单击并选择寄存器
选择右下面板然后右键单击并选择堆栈
最终视图
【讨论】:
还可以考虑查看reverseengineering.stackexchange.com 了解逆向工程问题!以上是关于Radare2 Disassembler 你如何组织可视面板(V!)?的主要内容,如果未能解决你的问题,请参考以下文章