Skip to content
This repository has been archived by the owner on Jun 23, 2021. It is now read-only.

Latest commit

 

History

History
193 lines (157 loc) · 21 KB

tools.md

File metadata and controls

193 lines (157 loc) · 21 KB

collected from impillar / AndroidReferences

Forensics Tools

  • 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.

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.
  • DroidSafe – The DroidSafe project develops novel program analysis techniques to diagnose and remove malicious code from Android mobile applications. The clone is located at DroidSafe-GitHub.
  • Crashlytics - Crashlytics is a powerful, yet light-weight crash reporting solution
  • 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.
  • ApkCombiner - Combining multiple Android apps to one for supporting inter-app analysis
  • IC3 - Inter-Component Communication Analysis with COAL
  • FlowDroid – FlowDroid is a context-, flow-, field-, object-sensitive and lifecycle-aware static taint analysis tool for Android applications.
  • IccTA - An Inter-Component Communication based Taint Analysis tool based on FlowDroid and Epicc/IC3 to perform inter-component privacy leaks in Android apps
  • 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.
  • PMD – PMD is a source code analyzer. It finds common programming flaws like unused variables, empty catch blocks, unnecessary object creation, and so forth. It supports Java, Javascript, XML, XSL.
  • 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.
  • SuSi - automatically discover and categorize sources and sinks in the Android framework

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.
  • TaintDroid – Tracking how apps use sensitive information required integrating our software into the Android platform at a low level.
  • Xposed Framework
  • Inspeckage - Inspeckage is a tool developed to offer dynamic analysis of Android applications. By applying hooks to functions of the Android API, Inspeckage will help you understand what an Android application is doing at runtime.

Reverse Engineering Tools

  • Androguard – Reverse engineering, Malware and goodware analysis of Android applications … and more (ninja !)
  • [dockerfile-androguard] (https://github.com/dweinstein/dockerfile-androguard) - Docker file for building androguard dependencies w/ an optional interactive shell environment
  • 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.
  • enjarify - A tool for translating Dalvik bytecode to equivalent Java bytecode ⭐
  • 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.
  • Dexposed - Dexposed is a powerful yet non-invasive runtime AOP (Aspect-oriented Programming) framework for Android app development, based on the work of open-source Xposed framework project.
  • Frida – Inject JavaScript to explore native apps on Android
  • ELLA - Ella is a tool to instrument Android APK's for various purposes. Out of the box, it instruments apps to record which methods gets executed. It can also record time-stamped trace of executed methods, values of arguments passed at call-sites, values of formal parameters of methods, etc.

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.
  • Baidu – It provides an online security analysis of Android apps.
  • 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
  • Now Secure App Testing Suite:Community Edition
  • 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.
  • AndroidJUnitRunner - An Instrumentation that runs JUnit3 and JUnit4 tests against an Android package (application).
  • Espresso

Android Vulnerable Apps

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

Tutorials

Android Vulnerability List

Android Security Libraries

  • 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

Best Practices

Android App Crawler

  • APK Downloader: A web service to take package name as input, and generate a link to download apps in Google Play.
  • Gplaycli: A framework to download Android apps from Google Play via command line