Android逆向工具:Androguard(二)

Android逆向工具:Androguard(一)中我们安装了Androguard并且使用基本的命令反编译了apk文件。在这一部分,我将介绍更过Androguard工具:

  • Androaxml
  • Androsim
  • Androdd
  • Apkviewer
  • Androguard GUI

Androaxml

在做逆向时,AndroidManifest.xml是最重要的文件。使用Androguard中的Androaxml工具,我们可以轻易的获得这个文件。它其实是把二进制格式的XML文件转换为了人可以读的格式。

语法:

# androaxml.py -i <path/apk> -o <output_file> 

以实际app为例:

# androaxml.py -i test.apk -o output.xml
# vim output.xml

androaxml

Androsim - 比较两个apk的相似度

可以用来比较原始的apk和修改后的apk。

在使用Androsim之前,需要安装几个依赖包:

  • sparsehash (Linux configure make 标准源码安装方式)
  • muparser (看Install.txt)
  • snappy (./autogen.sh configure make 标准源码安装方式)
  • bzip2
  • zlib

比较两个apk文件:

# androsim.py -i test.apk test.apk -c ZLIB -n

Androsim

上面是两个相同的apk文件;你可以和移除广告后的apk做对比:移除Android应用广告-Android逆向工程

  • -c:指定压缩的类型 (BZ2, ZLIB, SNAPPY, LZMA, XZ)
  • -d:显示方法

Androdd

导出apk文件中所有class文件中的方法。

安装依赖包:

# androdd.py -i <path/apk> -o <output/dir>

Androdd

Androdd

图形输出为.ag文件,如果要输出png格式使用-f选项:

# androdd.py -i <path/apk> -o <output/dir> -f png

Apkviewer

GraphML是XML格式,用来显示图例和节点:http://www.openthefile.net/extension/graphml

下载yEDGephi查看ApkViewer生成的GraphML。

安装依赖包:

# apkviewer -i <path/apk> -o <output/dir>

androgui

一个GUI工具。

依赖包:

  • PySide (pip install pyside)-需要qt
# androgui.py

androgui


Android逆向工程基本环境设置

Written on April 17, 2016