【编译免杀一】


🐳 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。

Androguard

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 体验

santoku

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 进行反编译工作。

Apktool


文章作者: Yude Bai
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Yude Bai !
  目录