Reverse engineering - Androguard
Androguard is mainly a tool written in python to play with :
º Dex/Odex (Dalvik virtual machine) (.dex) (disassemble, decompilation),
º APK (Android application) (.apk),
º Android’s binary xml (.xml),
º Android Resources (.arsc).
Features:
º Map and manipulate DEX/ODEX/APK/AXML/ARSC format into full Python objects,
º Diassemble/Decompilation/Modification of DEX/ODEX/APK format,
º Decompilation with the first native (directly from dalvik bytecodes to java source codes) dalvik decompiler (DAD),
º Access to the static analysis of the code (basic blocks, instructions, permissions (with database from http://www.android-permissions.org/) …) and create your own static analysis tool,
º Analysis a bunch of android apps,
º Analysis with ipython/Sublime Text Editor,
º Diffing of android applications,
º Measure the efficiency of obfuscators (proguard, …),
º Determine if your application has been pirated (plagiarism/similarities/rip-off indicator),
º Check if an android application is present in a database (malwares, goodwares ?),
º Open source database of android malware (this opensource database is done on my free time, of course my free time is limited, so if you want to help, you are welcome !),
º Detection of ad/open source librairies (WIP),
º Risk indicator of malicious application,
º Reverse engineering of applications (goodwares, malwares),
º Transform Android’s binary xml (like AndroidManifest.xml) into classic xml,
º Visualize your application with gephi (gexf format), or with cytoscape (xgmml format), or PNG/DOT output,
º Integration with external decompilers (JAD+dex2jar/DED/…)