type
status
date
slug
summary
tags
category
icon
password
Soot is a Java optimization framework that provides a set of tools for analyzing and transforming Java bytecode.
SOOT框架简介
整体架构图:Soot核心对象分别是Scene、SootClass、SootMethod、SootField、Body
SOOT实践
我自己运行测试无误的程序已经上传至仓库:
安装配置
克隆仓库,参考readme进行安装:
为了分析apk文件,我们还需要android-platforms jar包
设置好相关路径:
运行程序
运行,在主类中选择需要执行的功能:
分析apk文件,打印其jimple表示:
分析java clas文件,打印出继承关系等信息:
代码解析
分析apk文件相关代码:
分析java clas文件相关代码:
问题处理
- maven符号无法解析:重新打开idea/maven重新加载项目/重新执行
mvn clean install
- 无法分析android apk文件:检查是否克隆android-platforms仓库并设置好路径
实践总结
本实验使用Soot框架来分析APK文件和Java class文件,展示了Soot作为一个强大的Java字节码分析和优化工具的能力。
通过这个实验,我们深入了解了Soot框架的使用方法,以及如何利用它来分析和处理Java字节码和Android应用。这种分析能力对于软件安全分析、性能优化和程序理解等领域都有重要应用。
- 作者:jackpai
- 链接:https://www.jackpai.life//technology/soot-lab
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。