🐳 Android 反编译工具 Androguard 使用简介 🐳
1、Androguard — Android decompiling tool
Androguard is a full python tool to play with Android files. It is designed to work with Python 3 only.
- DEX, ODEX
- APK
- Android’s binary xml
- Android resources
- Disassemble DEX/ODEX bytecodes
- Decompiler for DEX/ODEX files
其官方文档为 Andruguard documentation 。
最新版本的 Androguard (update on 24 Nov 2020) 集成了 axplorer (对应提供了 API-permission mapping of Android API level 25)。而 Androguard 自身则更新至 Android API level 28。
2、Androguard 安装
Linux OS 下安装:
Ubuntu 18.04。下载 github 源码后切好路径,然后执行
python3 setup.py install
。然后执行androguard
命令判断是否安装成功,此时可能会因为缺如下某个或某些包导致报错。依次pip install ***
安装即可。networkx>=2.2 pygments>=2.3.1 lxml>=4.3.0 colorama>=0.4.1 matplotlib>=3.0.2 asn1crypto>=0.24.0 click>=7.0 pydot>=1.4.1 ipython>=5.0.0
santoku ,该 Linux OS 自带 Androguard。而且集成了 androapkinfo 等命令,方便好用,可参考 开源静态分析工具 Androguard 体验 。
3、Androguard 使用一
santoku OS 中直接写脚本调用 androapkinfo 等命令遍历反编译 app 即可。代码示例如下:
for i in `ls *`
do
echo $i "start."
/*/androguard/androapkinfo.py -i /*/apk/playdrone-apk-52/$i > /*/info/playdrone-apk-52-info/$i.info
echo $i "stop."
done
但这里存在一个问题,最新的 santoku OS 自带的 androguard 仅能解出来 30% 左右的 app,远小于 apktool 90%+ 的解出率。
4、Androguard 使用二
继续尝试 Windows 10 下安装最新版本的 Androguard,然后通过调包的方式写 python 代码处理,即通过 Working with Sessions 的方式查看 app 的解出率。
该解出率一定程度上决定是否采用 Androguard 来反编译 app 抽取信息,否则退回继续使用 Apktool 进行反编译工作。