我已经从Google Play下载了一些Android应用程序。我已经通过逆向工程工具Smali获得了apktool代码。我想为这些应用程序生成调用图。我在堆栈溢出和Google上看到了很多链接,大多数建议的工具要么用于c/c++,要么用于Java,它们当然需要我没有的源代码。

有什么方法可以自动生成调用图?谢谢。

最佳答案

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

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

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

  • 我尝试在我的计算机(Debian 6.0)中安装apkinspector:
    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中找到

    07-24 20:00