如何从Android APK生成调用图?

时间:2012-12-06 08:42:01

标签: java android call-graph smali

我从Google Play下载了一些Android应用程序。我通过逆向工程工具Smali获得了apktool代码。我想为这些应用程序生成调用图。我已经看到很多关于堆栈溢出和Google的链接,大多数建议的工具都是针对c/c++的,或者如果它们是Java,他们需要我不具备的源代码,当然

有没有办法自动生成调用图?感谢。

1 个答案:

答案 0 :(得分:1)

apkinspector - http://code.google.com/p/apkinspector/

该项目的目标是帮助分析师和逆向工程师可视化编译的Android软件包及其相应的DEX代码。 APKInspector为用户提供分析功能和图形功能,以深入了解恶意应用程序:

  • CFG
  • 致电图
  • 静态仪器
  • 权限分析
  • Dalvik代码
  • Smali代码
  • Java代码
  • APK信息

我尝试在我的计算机上安装apkinspector(Debian 6.0):

sudo aptitude install libxext-dev
source compile python-qt and python-sip

http://sourceforge.net/projects/pyqt/files/PyQt4/PyQt-4.9.4/

sudo aptitude install python-tk

easy_install ipython
(sudo aptitude install python-pip & sudo pip install ipython)

vi androguard/androlyze.py
change "import IPython.ipapi" to "import IPython.core.ipapi"
change "from IPython import IPShellEmbed" to "import IPython"
change "IPShellEmbed" to "IPython.embed"

但不幸的是它无法使用!!!

因此我尝试使用Ruby编写自己的工具,可以在here

中找到