Ubuntu下Soot+Graphviz生成程序控制流图

在Ubuntu下安装并使用Soot

  1. 下载soot.jar,网址为:https://www.sable.mcgill.ca/soot/soot_download.html.
  2. 使用soot
    将下载的soot的jar包、jre/lib/下的rt.jar、待分析的程序文件放到一个特定的文件中,如图 。特别注意,soot对应的系统的jdk是1.7版本准备工作
    进入该文件目录的终端,运行两行命令
    java -cp soot-2.5.0.jar soot.Main -cp .:rt.jar Tri
    java -cp soot-2.5.0.jar soot.tools.CFGViewer --soot-class-path .:rt.jar Tri
    如下图所示生成sootOutPut文件
    此时,在该目录下自动生成sootOutput文件,打开该文件夹,里面会出现源文件的.clas文件以及源代码中每个方法的执行流图(.dot格式),那么我们就要将.dot格式的文件转换为可视化的图片。

在Ubuntu下安装并使用Graphviz

  1. ubuntu下可以自动安装Graphviz
    在终端执行命令:sudo apt-get install graphviz

  2. 将.dot可视化
    在sootOutput文件夹内,生成的.dot文件名称过长,先修改为简短的名字,然后针对其中任意一个.dot文件进行可视化。
    进入sootOutput终端,输入命令:dot -Tpng -o init.png init.dot
    此时,该文件夹下会生成一个.png的文件,即是该方法的控制流图。
    如图生成png文件

[参考文档]

以下博客可以也可以作为参考学习
https://www.cnblogs.com/clownice/p/5515775.html.
https://blog.csdn.net/myw_katrina/article/details/80243149.
https://blog.csdn.net/Xunxianren007/article/details/54667063.
https://blog.csdn.net/caiandyong/article/details/44408831.
windows下Graphviz安装及入门教程: https://blog.csdn.net/lanchunhui/article/details/49472949.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章