文章目录
1.安装
2.命令行基本使用
3.生成控制流图
1.安装
sootclasses-trunk-jar-with-dependencies.jar这个包含了soot使用所需要的全部依赖。
下载地址:https://soot-build.cs.uni-paderborn.de/public/origin/master/soot/soot-master/
2.命令行使用
Soot(一):Soot的三种使用方式:命令行、idea、eclipse_soot使用_CodePanda@GPF的博客-CSDN博客
3.生成控制流图
输出格式注意
soot默认输入是class文件,输出也是class文件,如果需要输出jimple文件,可以使用参数-f J
soot绘制完成后得到.dot文件,需要使用graphviz进行绘制,从而得到控制流图
给小白准备的graphviz图文安装教程(2021最新)_大謝狠实在的博客-CSDN博客
运行“sootclasses-trunk-jar-with-dependencies.jar”时,输入文件Test.class文件的位置与sootclasses-trunk-jar-with-dependencies.jar在同一目录下。
# 命令1:按语句划分
java -cp sootclasses-trunk-jar-with-dependencies.jar soot.tools.CFGViewer -cp . -pp Test
将生成的dot文件改名为main.dot,并执行下列命令即可看到对应的控制流图。
dot -Tpng -o main.png main.dot