Awesome
##Forensics Tools
-
Android Forensics - Open Source Android Forensics App and Framework
-
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.
-
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.
Development Tools
-
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.
##Static Analysis Tools
-
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
-
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.
##Dynamic Analysis Tools
-
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.
##Reverse Engineering Tools
-
Androguard - Reverse engineering, Malware and goodware analysis of Android applications ... and more (ninja !)
-
Android APK Decompiler - Decompiling APK files made easy. Online decompiler.
-
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)
-
Dex2Jar - Tools to work with android .dex and java .class files
-
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
-
Simplify - Generic Android Deobfuscator
-
smali - An assembler/disassembler for Android's dex format
##Hooking Tools
-
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.
##Online Analyzers
-
Android Sandbox - Android Sandbox is a service that allows the dynamic and static analysis of mobile applications.
-
AndroidTotal - AndroTotal is a free service to scan suspicious APKs against multiple mobile antivirus apps.
-
Anubis - Malware Analysis for Unknown Binaries.
-
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.
-
Mobile Sandbox - The Mobile-Sandbox provides static and dynamic malware analysis combined with machine learning techniques for Android applications.
##Android Testing Distributions
-
Appie - A portable software package for Android Pentesting and an awesome alternative to existing Virtual machines.
-
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
-
Santoku Linux - Santoku Linux is a virtual machine developed by NowSecure Mobile.
##Android Vulnerable Apps
##Android Malwares Database
-
Android Sandbox Samples - Index of Android Sandbox Samples listing many APKs.
-
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.
##Tutorials
-
Android Application Security Series - A simple and elaborative series on Android Application Security. Beneficial for Android Security Professionals and Developers.
##Android Vulnerability List
##Android Security Libraries
-
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.
-
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.
-
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
##Best Practices
- Android Security Overview
- Android Security Tips for Developers
- Projects/OWASP Mobile Security Project - Top Ten Mobile Controls
- PCI Mobile Payment Acceptance Security Guidelines for Developers
##Books
Book | Year | Author | Link |
---|---|---|---|
The Mobile Application Hacker's Handbook | 2015 | Dominic Chell, Tyrone Erasmus, Jon Lindsay, Shaun Colley, Ollie Whitehouse | Link |
Android Hacker's Handbook | 2014 | Joshua J. Drake, Zach Lanier, Collin Mulliner, Pau Oliva, Stephen A. Ridley, Georg Wicherski | Link |
Android Security Internals | 2014 | Nikolay Elenkov | Link |
Learning Pentesting for Android | 2014 | Aditya Gupta | Link |
Android Security Cookbook | 2013 | Keith Makan, Scott-Alexander-Brown | Link |
Android Malware | 2013 | Xuxian Jiang, Yajin Zhou | Link |
Android Application Security Essentials | 2013 | Pragati Rai | Link |
Hacking Exposed Mobile Security Secrets & Solutions | 2013 | Neil Bergman, Mike Stanfield, Jason Rouse, Joel Scrambay, Sarath Geethakumar, Swapnil Deshmukh, John Steven, Mike Price, Scott Matsumoto | Link |
Android Security: Attacks and Defenses | 2013 | Anmol Misra, Abhishek Dubey | Link |
Mobile Phone Security and Forensics: A Practical Approach | 2012 | I.I. Androulidakis | Link |
Android Apps Security | 2012 | Sheran Gunasekera | Link |
Decompiling Android | 2012 | Godfrey Nolan | Link |
Mobile Application Security | 2012 | Himanshu Dwivedi, Chris Clark and David Thiel | Link |
XDA Developers' Android Hacker's Toolkit | 2012 | Jason Tyler, Will Verduzco | Link |
Android Forensics: Investigation, Analysis and Mobile Security for Google Android' | 2011 | Andrew Hoog | Link |
Application Security for the Android Platform: Processes, Permissions, and Other Safeguards | 2011 | Jeff Six | Link |
Embedded Java Security: Security for Mobile Devices | 2010 | Mourad Debbabi, Mohamed Saleh, Chamseddine Talhi and Sami Zhioua | Link |
##Android Security Research Papers
- Attacks on Android Clipboard
- A Study of Android Application Security
- Attacks on Webview in the Android System
- Gues who's is Texting you?Evaluating Security of Smartphone Messaging Applications
- Evaluations of Security Solutions for Android Systems
- Why Eve and Mallory Love Android: An Analysis of Android SSL (In)Security
- The Impact of Vendor Customizations on Android Security
- The Peril of Fragmentation: Security Hazards in Android Device Driver Customizations
- An Empirical Study of Cryptographic Misuse in Android Applications
- Android Permissions:User Attention, Comprehension, and Behavior
- AppsPlayground: Automatic Security Analysis of Smartphone Applications
- Understanding and Improving App Installation Security Mechanisms through Empirical Analysis of Android
- Android Malware Situation
- PowerSpy: Location Tracking using Mobile Device Power Analysis
- EdgeMiner: Automatically Detecting Implicit Control Flow Transitions through the Android Framework
- Detecting Passive Content Leaks and Pollution in Android Applications
- DIVILAR: Diversifying Intermediate Language for Anti-Repackaging on Android Platform
- RiskRanker: Scalable and Accurate Zero-day Android Malware Detection
- DroidMOSS: Detecting Repackaged Smartphone Applications in Third-Party Android Marketplaces
- Dissecting Android Malware: Characterization and Evolution
- Hey, You, Get off of My Market: Detecting Malicious Apps in Official and Alternative Android Markets
- Systematic Detection of Capability Leaks in Stock Android Smartphones
- Fast, Scalable Detection of “Piggybacked” Mobile Applications
- Leaving our ZIP undone: how to abuse ZIP to deliver malware apps
##Contribute It is awesome to see that you want to contribute in this wiki, which would directly help the community. Project/Tools which are no longer maintained are not included in this wiki. Please follow one of the ways from below to include tool or resource in this wiki-
-
Tweet the resource to @exploitprotocol
-
Shoot an email to aditya@manifestsecurity.com
-
Create a pull request to Android Security Wiki Repository master branch.
Please let me know if you have any suggestions