Ubuntu(14.04)下搭建androguard(1.9)

来源:互联网 发布:mac ssh 上传文件 编辑:程序博客网 时间:2024/06/06 13:12
  Androguard是目前比较常用的安卓静态分析工具,它是用Python写的开源项目,每个功能对应Python文件。Androguard通过源码发布,对应的依赖比较繁琐,在此记录下折腾的过程。
Androguard目前最新的版本是1.9,传送门:https://androguard.googlecode.com/files/androguard-1.9.tar.gz
下面简单梳理下Androguard所需的环境:
  这个版本的Androguard要求系统必须有Python环境,并且不能低于2.6不能高于3.0
其实光有基本的Python,Androguard以及可以完成基本的功能了,例如反汇编apk程序
  但是,如果要想使用Androguard其它的高级功能,除去最基本的Python运行环境提供的基本库之外,还要安装以下一些依赖模块:
  • python-dev
  • ipython:是一个 Python 的交互式 shell,要求版本>0.12,androlyze.py会用到。
  • pygments:是一个用于显示语法高亮的库,反编译的时候可以高亮显示关键字,androlyze.py会用到。
  • pydot:是一个在Python下作图的库,androdd.py在绘制类方法的调用流程图的时候会用到。
  • python-ptrace:专门用来在Python中调用ptrace库的工具库,androdump.py会用到。
  • chilkat:主要用来解压缩apk文件,如果没有这个库的话就会直接用Python中自带的zip模块解压。同时,这个模块还会用来提取apk文件的签名证书。在apk.py会用到。
  • magic:这个库是用来辨别文件类型的,apk.py中的get_files_types方法会用它来视图。
  • pyfuzzy:是一个专门用来处理模糊逻辑的Python库,androrisk.py在分析某个apk时候存在潜在风险的时候会用到这个库。
  • mercury:也是一个专门分析Android应用程序的库,目前改名叫做drozer了,andromercury.py是对其的一个简单封装。
  除了这些可选的Python依赖库之外,在Androguard代码目录下还有一个elsim(element similarity)子目录,看了名字应该猜到了,这个库是用来计算元素的相似度的,androcsign.py、androsign.py、androsim.py和andromercury.py都会要依赖这个库。这个库是需要在安装机器上编译的,为了编译这个库,必须要依赖以下一些库:
  • sparsehash
  • muparser
  • snappy
  • bzip2
  • zlib

  好了,说清了要哪些依赖库,接下来就是动手安装这些依赖库了。但说起来,做起来有点难度,大致有三种方法可以在Ubuntu上安装库,一是通过apt-get,二是通过Python的pip或者easy_install,最后一种就是直接下载源码过来安装。即使都装上了,有时候还有兼容性问题,有些库通过第一种或第二种方式安装过后,版本过低,还必须要直接下最新源码来安装。笔者饶了不少弯,总结出了以下一些步骤,总体原则是能用第一种就不用第二种,能用第二种就不用第三种。
    接下来记录下操作步骤(root身份安装):
    首先附上官方安装文档:https://code.google.com/archive/p/androguard/wikis/Installation.wiki
第一步:
sudo apt-get install mercurial python python-setuptools g++
第二部:
sudo apt-get install python-dev python-bzutils libbz2-dev libmuparser-dev libsparsehash-dev python-ptrace python-pygments python-pydot graphviz liblzma-dev libsnappy-dev
第三部:
sudo easy_install ipython
第四部:
wget http://sourceforge.net/projects/pyfuzzy/files/latest/download?source=files $ tar xvfz pyfuzzy-0.1.0.tar.gz $ cd pyfuzzy-0.1.0 $ sudo python setup.py install
第五步:
git clone git://github.com/ahupp/python-magic.git $ cd python-magic $ sudo python setup.py install
第六步:
安装chilkat,首先下载:http://www.chilkatsoft.com/python.asp
  按照Ubuntu的版本选择是32位版本还是64位版本下载,安装方法很简单,只需要以root身份,将chilkat.py和_chilkat.so两个文件直接拷贝到Python的“site-packages”目录下就好了。但是,该目录的位置会依赖于Python的安装路径。对于Ubuntu 12.04预装的Python 2.7来说,其“site-packages”目录位于“/usr/local/lib/python2.7/dist-packages”或者“/usr/lib/python2.7/dist-packages”。随便选一个,将两个文件拷贝进去就好了。
  第七步(编译):
  首先更改elsim(Androguard下)下面的formula和libelsign的Makefile文件。
  打开elsim/elsign/formula/Makefile,添加上包含目录,从而使编译器能够找到muParser.h,例如:

   CFLAGS += -I/usr/include/muParser

   打开elsim/elsign/libelsign/Makefile,添加上包含目录,从而使编译器能找到muParser.h和Python,例如:

   CFLAGS += -I/usr/include/muParser -I/usr/include/python2.7
  在Androguard目录下打开命令行,执行make。
  到此安装结束。

1 0
原创粉丝点击