🐳 Android 反编译工具 Androguard 使用简介 🐳
1、Androguard — Windows 安装
Windows 已经预装 python 3.6.2,conda 4.6.11,pycharm,jdk 1.8.0_101 等环境和工具。
安装非 GUI 版本的 Androguard,直接 pip install androguard
即可。其中可能会有某些包版本报错。但只要不影响主要功能执行,可忽略此类 error。
安装非 GUI 版本的 Androguard 可参考 Androguard installation 。
2、Androguard 使用
基本的操作包括:
- Session 的使用方法,Working with Sessions 。
- 取 app 基本信息,Getting Started ,包括 app name、permission、components、sdk version、manifest file、classes 等。
- 取 app method,Crossreferences (XREFs) 。
- 取 app CFG (control flow graph),Basic Blocks 。
- 取 app signature information,Android Signing Certificates ,包括 signature time、md5、sha1 等。
- 取 app signature time 推荐使用 ldk 自带的 keytool 证书工具,keytool 证书工具详解 。
3、Androguard 使用注意事项
- 使用 session 做反编译时,需要使用
sess.reset()
释放内存。 - Androguard 取到的 app method 为 smali 格式,如需 java 格式,需要做进一步转换。
- 由于 Androguard 自身只更新至 Android API level 28,因此解析 level 大于 28 的 app 时,会出现 warning
Requested API level 29 is larger than maximum we have, returning API level 28 instead.
。 - 上述 warning 可能会导致无法解析或处理较新的 features,但目前尚未发现较大的 features 遗漏问题。