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
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.
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 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)
CodeInspect - A Jimple-based Reverse-Engineering framework for Android and Java applications.
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
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.
Frida - Inject JavaScript to explore native apps on Android
Obfuscators & Deobfuscators Tools
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
Online Analyzers
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.
Android Testing Distributions
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
Santoku Linux - Santoku Linux is a virtual machine developed by NowSecure Mobile.
Shadow OS - ShadowOS is a free tool designed by Fortify on Demand to help Security and QA teams test Android applications for security vulnerabilities. It is a custom OS based off of KitKat that intercepts specific areas of the device's operation and makes testing apps for security vulnerabilites easier.
Vezir Project - Yet Another Linux Virtual Machine for Mobile Application Pentesting and Mobile Malware Analysis.
Android Vulnerable Apps
Sieve- Sieve is a password manager app, riddled with security vulnerabilities.
Android Security Apps
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.
Application Security Framework
AppRay - App-Ray takes a look inside your apps and helps you understand what they really do. In fully automated tests, App-Ray analyzes apps and highlights vulnerabilities, data leaks, and privacy breaches.
YSO-Mobile Security Framework - Mobile Security Framework is an intelligent, all-in-one open source mobile application (Android/iOS) automated pen-testing framework capable of performing static and dynamic analysis.
Android Malwares Related
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.)
Tutorials
Android Application Security Series - A simple and elaborative series on Android Application Security. Beneficial for Android Security Professionals and Developers.
- Android Security Articles By Infosec Institute
- Learning Android Bytecode
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.
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.
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
- Secure Coding in Android
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. List of awesome contributors to this wiki is given below. 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 or an issue to Mobile Security Wiki Repository gh-pages branch. Please add content in index.html in gh-pages branch if creating an pull request.
Please let me know if you have any suggestions
Below is the list of awesome people who contributed to this wiki.I would like to specially thanks Philippe Arteau and Amandeep Gupta who contributed a lot for UI of this website.
'40. > 41. Android' 카테고리의 다른 글
[Android Exploit] Android Exploit with metasploit (0) | 2015.11.16 |
---|---|
[Android Exploit] Stagefright 취약점 (0) | 2015.11.16 |
Sublime Text에서 Androguard plugin 설치 및 사용법 (1) | 2015.03.05 |
[Android] 안드로이드에 python 설치 (0) | 2015.02.12 |
Unicode 한글 (0) | 2015.01.30 |