- Android Forensics – Open Source Android Forensics App and Framework
- Android Data Extractor Lite
- BitPim – BitPim is a program that allows you to view and manipulate data on many CDMA phones from LG, Samsung, Sanyo and other manufacturers.
- LiME – LiME (formerly DMD) is a Loadable Kernel Module (LKM), which allows the acquisition of volatile memory from Linux and Linux-based devices, such as those powered by Android.
- Open Source Android Forensics
- P2P-ADB – Phone to Phone Android Debug Bridge – A project for “debugging” phones from other phones.
- pySimReader – It allows users to write out arbitrary raw SMS PDUs to a SIM card.
- Android SDK – The Android software development kit (SDK) includes a comprehensive set of development tools. These include a debugger, libraries, a handset emulator based on QEMU, documentation, sample code, and tutorials.
- Android NDK – The NDK is a toolset that allows you to implement parts of your app using native-code languages such as C and C++.
- ADT Bundle – The Android Developer Tools(ADT) bundle is a single download that contains everything for developers to start creating Android Application
- Android Studio IDE or Eclipse IDE
- Android SDK tools
- Android 5.0 (Lollipop) Platform
- Android 5.0 emulator system image with Google APIs
- Native Android Runtime Emulation – A native Android emulator featuring the following functions:
- Full stack support for ELF built by Android NDK.
- Seeminglessly native gdb support.
- Link and load shared library.
- Open to extension of different architecture and C runtime.
- Root Tools – RootTools provides rooted developers a standardized set of tools for use in the development of rooted applications.
- Androwarn:- Yet another static code analyzer for malicious Android applications
- ApkAnalyser – ApkAnalyser is a static, virtual analysis tool for examining and validating the development work of your Android app.
- APKInspector – APKinspector is a powerful GUI tool for analysts to analyze the Android applications.
- Error-Prone – Catch common Java mistakes as compile-time errors
- FindBugs + FindSecurityBugs – FindSecurityBugs is a extension for FindBugs which include security rules for Java applications. It will find cryptography problems as well as Android specific problems.
- FlowDroid – FlowDroid is a context-, flow-, field-, object-sensitive and lifecycle-aware static taint analysis tool for Android applications.
- Lint – The Android lint tool is a static code analysis tool that checks your Android project source files for potential bugs and optimization improvements for correctness, security, performance, usability, accessibility, and internationalization.
- Smali CFGs – Smali Control Flow Graph’s
- Smali and Baksmali – smali/baksmali is an assembler/disassembler for the dex format used by dalvik, Android’s Java VM implementation.
- Thresher – Thresher is a static analysis tool that specializes in checking heap reachability properties. Its secret sauce is using a coarse up-front points-to analysis to focus a precise symbolic analysis on the alarms reported by the points-to analysis.
- Droid Intent Data Flow Analysis for Information Leakage
- Several tools from PSU
- Android Decompiler – not free
- PSCout – A tool that extracts the permission specification from the Android OS source code using static analysis
- CFGScanDroid – Scans and compares CFG against CFG of malicious applications
- Madrolyzer – extracts actionable data like C&C, phone number etc.
- Android Hooker – This project provides various tools and applications that can be use to automaticaly intercept and modify any API calls made by a targeted application.
- Droidbox – DroidBox is developed to offer dynamic analysis of Android applications
- Drozer – Drozer allows you to search for security vulnerabilities in apps and devices by assuming the role of an app and interacting with the Dalvik VM, other apps’ IPC endpoints and the underlying OS.
- Xposed Framework
- Android DBI framework
- Android Malware Analysis Toolkit – (linux distro)
- AppUse – custom build for pentesting
- Cobradroid – custom image for malware analysis
- ViaLab Community Edition
- Taintdroid – requires AOSP compilation
- Xposed – equivalent of doing Stub based code injection but without any modifications to the binary
- Android tamer – custom image
- Droidscope – custom image for dynamic analysis
- Crowdroid – unable to find the actual tool
- AuditdAndroid – android port of auditd, not under active development anymore
- Android Security Evaluation Framework – not under active development anymore
- Android Reverse Engineering – ARE (android reverse engineering) not under active development anymore
- Aurasium – rewrites the android app to add security policy, seems dead now
- Android Linux Kernel modules
- Appie – Appie is a software package that has been pre-configured to function as an Android Pentesting Environment.It is completely portable and can be carried on USB stick or smartphone.This is a one stop answer for all the tools needed in Android Application Security Assessment and an awesome alternative to existing virtual machines
- StaDynA – a system supporting security app analysis in the presence of dynamic code update features (dynamic class loading and reflection). This tool combines static and dynamic analysis of Android applications in order to reveal the hidden/updated behavior and extend static analysis results with this information.
- Androguard – Reverse engineering, Malware and goodware analysis of Android applications … and more (ninja !)
- Android loadble Kernel Modules – It is mostly used for reversing and debugging on controlled systems/emulators.
- AndBug – Android Debugging Library
- ApkTool – A tool for reverse engineering Android Apk Files
- APK Studio – APK Studio is an IDE for decompiling/editing & then recompiling of android application binaries.
- Bytecode-Viewer – A Java 8 Jar & Android APK Reverse Engineering Suite (Decompiler, Editor, Debugger & More)
- dedex – A command line tool for disassembling Android DEX files.
- Dex2Jar – Tools to work with android .dex and java .class files
- dexdisassembler – A GTK tool for disassembling Android DEX files.
- Fern Flower – FernFlower Java decompiler
- Fino – Android small footprint inspection tool
- Introspy-Android – Blackbox tool to help understand what an Android application is doing at runtime and assist in the identification of potential security issues.
- JD-Gui – Yet another fast Java Decompiler
- JEB – The Interactive Android Decompiler
- smali – An assembler/disassembler for Android’s dex format
- Smali/Baksmali – apk decompilation
- emacs syntax coloring for smali files
- vim syntax coloring for smali files
- Android Framework for Exploitation
- Bypass signature and permission checks for IPCs
- Android OpenDebug – make any application on device debuggable (using cydia substrate).
- Dare – .dex to .class converter
- Indroid – thread injection kit
- Jad – Java decompiler
- JD-GUI – Java decompiler
- CFR – Java decompiler
- Krakatau – Java decompiler
- Procyon – Java decompiler
- FernFlower – Java decompiler
- Redexer – apk manipulation
- Smali viewer
- Simplify Android deobfuscator
- Bytecode viewer
- ADBI Framework – Simple and easy to use toolkit for dynamic instrumentation of Dalvik code.
- Cydia Substrate – Cydia Substrate for Android enables developers to make changes to existing software with Substrate extensions that are injected in to the target process’s memory.
- Xposed Framework – Xposed framework enables you to modify the system or application aspect and behaviour at runtime, without modifying any Android application package(APK) or re-flashing.
Obfuscators & Deobfuscators混淆与解混淆工具
- APK Obfuscator – A generic DEX file obfuscator and munger.
- Bytecode-Viewer – A Java 8 Jar & Android APK Reverse Engineering Suite (Decompiler, Editor, Debugger & More)
- Class Name Deobfuscator – Simple script to parse through the .smali files produced by apktool and extract the .source annotation lines.
- Dalvik Obfuscator – A set of tools/scripts to obfuscate and manipulate dex files
- Simplify – Generic Android Deobfuscator
- Android Observatory – The Android Observatory is a web interface to a large repository of Android applications. It allows users to search or browse through thousands of Android apps and retrieve metadata for those apps.
- Android APK Decompiler – Decompiling APK files made easy. Online decompiler.
- AndroidTotal – AndroTotal is a free service to scan suspicious APKs against multiple mobile antivirus apps.
- Anubis – Malware Analysis for Unknown Binaries.
- Akana – Akana is an online Android app Interactive Analysis Enviroment (IAE), which is combined with some plugins for checking the malicious app.
- App360Scan – Tells about permissons used by an Application and what harm it can cause to users.
- CopperDroid – It automatically perform out-of-the-box dynamic behavioral analysis of Android malware.
- Dexter – Dexter is an interactive Android software analysis environment with collaboration features.
- Eacus – A lite Android app analysis framework
- Mobile Sandbox – The Mobile-Sandbox provides static and dynamic malware analysis combined with machine learning techniques for Android applications.
- Sandroid – An automatic Android application analysis system
- Virus Total – VirusTotal is a free service that analyzes suspicious files and URLs and facilitates the quick detection of viruses, worms, trojans, and all kinds of malware.
- Mobile app insight
- Visual Threat
- Android Sandbox
- Mobile Malware Sandbox
- MobiSec Eacus
- IBM Security AppScan Mobile Analyzer – not free
- NVISO ApkScan
- AVC UnDroid
- Appie – A portable software package for Android Pentesting and an awesome alternative to existing Virtual machines.It is a one stop answer for all the tools needed in Android Application Security Assessment, Android Forensics, Android Malware Analysis.
- Android Tamer – Android Tamer is a Virtual / Live Platform for Android Security professionals.
- AppUse – AppUse is a VM (Virtual Machine) developed by AppSec Labs.
- Mobisec – Mobile security testing live environment
- Now Secure App Testing Suite:Community Edition
- Santoku Linux – Santoku Linux is a virtual machine developed by NowSecure Mobile.
- Vezir Project – Yet Another Linux Virtual Machine for Mobile Application Pentesting and Mobile Malware Analysis.
Android Vulnerable Apps
- Android Challenges of Various Conferences/Events
- Owasp Goatdroid Project
- ExploitMe labs by SecurityCompass
- InsecureBank V2
- Sieve– Sieve is a password manager app, riddled with security vulnerabilities.
- Android IMSI-Catcher-Detector – It is an app to detect IMSI-Catchers. IMSI-Catchers are false mobile towers (base stations) acting between the target mobile phone(s) and the real towers of service providers. As such they are considered a Man-In-The-Middle (MITM) attack. In the USA the IMSI-Catcher technology is known under the name “StingRay”.
- Am I Vulnerable – AIV is an Android security app that notifies the user of publicly known vulnerabilities found in the installed version of apps on the device.
- Contagio Mini Dump – Contagio mobile mini-dump offers an upload dropbox for you to share your mobile malware samples.
- Android Malwares Databases – No Longer Maintained.
- Android Malware Evaluating Tools – Evaluation tools for Android Malwares
- Maldrolyzer – Simple framework to extract “actionable” data from Android malware (C&Cs, phone numbers etc.)
- Android Application Security Series – A simple and elaborative series on Android Application Security. Beneficial for Android Security Professionals and Developers.
- Android Forensics Course
- Introduction to ARM
- Android Security Articles By Infosec Institute
- Learning Android Bytecode
- Android Password Store
- Android Pinning – A standalone library project for certificate pinning on Android.
- Conceal By Facebook – Conceal provides easy Android APIs for performing fast encryption and authentication of data.
- Dexguard – DexGuard is our specialized optimizer and obfuscator for Android. Create apps that are faster, more compact, and more difficult to crack.
- Encryption – Encryption is a simple way to create encrypted strings to Android project.
- CWAC-Security – Helping You Help Your Users Defend Their Data
- IOCipher – IOCipher is a virtual encrypted disk for apps without requiring the device to be rooted.
- Java AES Crypto – A simple Android class for encrypting & decrypting strings, aiming to avoid the classic mistakes that most such classes suffer from.
- NetCipher – This is an Android Library Project that provides multiple means to improve network security in mobile applications.
- OpenPGP API – The OpenPGP API provides methods to execute OpenPGP operations, such as sign, encrypt, decrypt, verify, and more without user interaction from background threads.
- OWASP Java HTML Sanitizer
- Proguard – ProGuard is a free Java class file shrinker, optimizer, obfuscator, and preverifier. It detects and removes unused classes, fields, methods, and attributes.
- Spongy Castle – a repackage of Bouncy Castle for Android
- SQL Cipher – SQLCipher is an open source extension to SQLite that provides transparent 256-bit AES encryption of database files.
- Secure Preferences – Android Shared preference wrapper than encrypts the keys and values of Shared Preferences.
- Trusted Intents – Library for flexible trusted interactions between Android apps