使用soot命令行生成CFG
来源:互联网 发布:603881数据港股吧 编辑:程序博客网 时间:2024/04/29 08:07
<pre name="code" class="java">//Test.javapublic class Test {public static void main(String[] args) {int i,j,k;i = 5;j = 4;k = 3;if(i < 10){i ++;j ++;k ++;}else{i --;j --;k --;}i = i+j+k;return;}}
一、生成一般java文件的CFG
1. 生成.class文件 在sootOutput文件夹下
java -cp Sootexecutable.jar soot.Main -cp . -pp Test
2. 进入sootOutput文件夹,生成.dot文件
java -cp Sootexecutable.jar soot.tools.CFGViewer -cp . -pp Test
3. 生成图片文件
dot -Tpng -o Test.png void\ main\(java.lang.String\[\]\).dot
二、生成android apk的CFG
http://www.abartel.net/dexpler/
1. 下载需要的android.jar:https://github.com/Sable/android-platforms
2. 对apk中的方法进行处理
java -cp soot-trunk.jar soot.tools.CFGViewer --graph=CompleteBlockGraph -android-jars ./android-platforms-master/android-17/ -allow-phantom-refs -src-prec apk -ire -f J -process-dir snake.apk
3. 生成对应方法的CFG(Jimple code)
dot -Tpdf ./sootOutput/void\ updateWalls\(\).dot > ./sootOutput/void\ updateWalls\(\).dot.pdf
- 使用soot命令行生成CFG
- Introduction:使用Soot作为命令行工具
- Soot学习第一篇;命令行使用
- Introduction:以命令行工具方式使用Soot
- 使用Soot生成控制流图
- 使用SOOT命令行对APK文件进行解码及包装
- Soot 学习笔记 1:First Step 命令行执行 soot
- Soot生成控制流图
- Soot(2) --- 简单示例:命令行运行
- soot
- Soot 学习笔记 5:使用 Soot 创建 Java class
- soot学习笔记-2.使用soot解析Android apk.
- Soot学习笔记3.使用soot解析java文件
- 使用代码分析工具SOOT经验总结
- 使用SOOT得到程序的控制流
- Soot 学习笔记 2:使用 Eclipse 插件
- 使用Soot在android程序中插装
- 使用SOOT进行代码分析(一)
- iOS开发之获取设备型号(最新)
- Objective-C——retain/copy/assign/atomic/nonatomic/strong/weak/readonly/readwrite详解
- Android PopWindow的简单应用
- sublime text2 中文乱码
- docker部署tomcat8
- 使用soot命令行生成CFG
- DeepLearning (六) 学习笔记整理:神经网络以及卷积神经网络
- Martini源码解析-实例1
- 数字电路中如何实现脉冲的边沿检测
- 关于C++指针很好的介绍
- 一个iOS图片选择器的DEMO
- Mysql在select子句中聚集函数和普通属性一起写出现的一个有趣的问题!
- 【iOS学习笔记 15-11-06】简单自定义navigationcontroller push和pop动画效果
- oracle删除 重复记录