在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.