Lazy loaded image
soot框架:分析apk文件与class文件
00 分钟
2024-10-28
2024-10-28
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
notion image

SOOT实践

我自己运行测试无误的程序已经上传至仓库:

安装配置

克隆仓库,参考readme进行安装:
为了分析apk文件,我们还需要android-platforms jar包
设置好相关路径:

运行程序

运行,在主类中选择需要执行的功能:
notion image
分析apk文件,打印其jimple表示:
notion image
分析java clas文件,打印出继承关系等信息:
notion image

代码解析

分析apk文件相关代码:
分析java clas文件相关代码:

问题处理

  • maven符号无法解析:重新打开idea/maven重新加载项目/重新执行mvn clean install
  • 无法分析android apk文件:检查是否克隆android-platforms仓库并设置好路径

实践总结

本实验使用Soot框架来分析APK文件和Java class文件,展示了Soot作为一个强大的Java字节码分析和优化工具的能力。
通过这个实验,我们深入了解了Soot框架的使用方法,以及如何利用它来分析和处理Java字节码和Android应用。这种分析能力对于软件安全分析、性能优化和程序理解等领域都有重要应用。
 
上一篇
DroidBot:android自动化测试工具
下一篇
信息系统安全实验(1/3)