在Ubuntu下安裝並使用Soot
- 下載soot.jar,網址爲:https://www.sable.mcgill.ca/soot/soot_download.html.
- 使用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文件,打開該文件夾,裏面會出現源文件的.clas文件以及源代碼中每個方法的執行流圖(.dot格式),那麼我們就要將.dot格式的文件轉換爲可視化的圖片。
在Ubuntu下安裝並使用Graphviz
-
ubuntu下可以自動安裝Graphviz
在終端執行命令:sudo apt-get install graphviz -
將.dot可視化
在sootOutput文件夾內,生成的.dot文件名稱過長,先修改爲簡短的名字,然後針對其中任意一個.dot文件進行可視化。
進入sootOutput終端,輸入命令:dot -Tpng -o init.png init.dot
此時,該文件夾下會生成一個.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.