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.

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