分析功能并按VV进入图形模式后,是否可以将整个图形导出/渲染为图像?

我有一些强大的主要功能,很高兴拥有它全部在图像中。

#1 楼

ag命令和子命令可以帮助您将视觉图形输出为Graphviz格式。

[0x00000000]> ag?
Usage: ag<graphtype><format> [addr]  
Graph commands:
| aga[format]             Data references graph
....
| agf[format]             Basic blocks function graph
....

Output formats:
| <blank>                 Ascii art
| *                       r2 commands
| d                       Graphviz dot
| g                       Graph Modelling Language (gml)
| j                       json ('J' for formatted disassembly)
| k                       SDB key-value
| t                       Tiny ascii art
| v                       Interactive ascii art
| w [path]                Write to path or display graph image (see graph.gv.format and graph.web)


例如,您可以将视觉图形输出为点文件,然后进行转换将其转换为PNG。这是从/ bin / ls的主要功能创建图像的示例:

$ r2 /bin/ls
[0x004049a0]> aa
[x] Analyze all flags starting with sym. and entry0 (aa)
[0x004049a0]> agfd main > graph.dot
[0x004049a0]> !!dot -Tpng -o graph.png graph.dot


dot实用程序是Graphviz的一部分可以使用sudo apt-get install graphviz安装的软件。

还可以使用agf命令将图形输出为ascii-graph。

[0x004049a0]> s main
[0x00402a00]> agf > ascii_graph.txt


此外,如果您只是在寻找一种舒适的方式来查看图形,则只需在Graphviz中打开点文件或使用在线Graphviz查看器即可,而不是将其转换为图像文件。

评论


谢谢,我更喜欢用dot打开dot文件并浏览它。我在使用各种图像查看器(feh,display,geeqie)使用700多个节点打开生成的图像时遇到性能问题。

– Paul G.
17年6月20日在9:02