•  Mobile App 駭客與資訊安全測試工具與資源

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

    Reverse Engineering Tools

    • Androguard – Reverse engineering, Malware and goodware analysis of Android applications … and more (ninja !)
    • Android Apk decompiler – Online decompile for Apk and Dex Android files
    • 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.
    • dextra – dextra utility began its life as an alternative to the AOSP’s dexdump and dx –dump, both of which are rather basic, and produce copious, but unstructured output. In addition to supporting all their features, it also supports various output modes, specific class, method and field lookup, as well as determining static field values. I lated updated it to support ART (which is also one of the reasons why the tool was renamed).
    • 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
    • Xenotix APK Reverser – An open source Android Application Package (APK) decompiler and disassembler powered by dex2jar, baksmali and jd-core

    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
    • NowSecure Lab community edition – It does dynamic analysis of mobile apps (network traffic)
    • Santoku Linux – Santoku is an OS and can be run outside a VM as a standalone operating system.
    • 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

    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.
    • Koodous – Koodous is a collaborative platform that combines the power of online analysis tools with social interactions between the analysts over a vast APKs repository focused on the detection of fraudulent patterns in Android applications. You can download their Android application to check whether your device contain any mailicious app or not.

    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.
    • Qark – Quick Android Review Kit – This tool is designed to look for several security related Android application vulnerabilities, either in source code or packaged APKs. The tool is also capable of creating “Proof-of-Concept” deployable APKs and/or ADB commands, capable of exploiting many of the vulnerabilities it finds. There is no need to root the test device, as this tool focuses on vulnerabilities that can be exploited under otherwise secure conditions.
    • 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 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


    Book Year Author Link
    Exploring Security Enhancements for Android 2015 William Confer, William Roberts 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
    Android Malware And Analysis 2014 Shane Hartman, Ken Dunham, Manu Quintans, Jose Andre Morales, Tim Strazzere 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

    Security Overview

    SecMobi Wiki










    Presentation Conference Year Author Link
    Improving mobile security with forensics, app analysis and big data Android Security Symposium 2015 Andrew Hoog Link
    Android security architecture Android Security Symposium 2015 Nikolay Elenkov Link
    Lessons from the trenches: An inside look at Android security Android Security Symposium 2015 Nick Kralevich Link
    Secure copy protection for mobile apps Android Security Symposium 2015 Nils T. Kannengiesser Link
    Human factors in anonymous mobile communication Android Security Symposium 2015 Svenja Schröder Link
    Continuous risk-aware multi-modal authentication Android Security Symposium 2015 Rainhard D. Findling and Muhammad Muaaz Link
    Assessing Android applications using command-line fu Android Security Symposium 2015 Pau Oliva Fora Link
    The quest for usable security Android Security Symposium 2015 N. Asokan Link
    Android and trusted execution environments Android Security Symposium 2015 Jan-Erik Ekberg Link
    An infestation of dragons: Exploring vulnerabilities in … Android Security Symposium 2015 Josh Thomas and Charles Holmes Link
    Secure elements for you and me: A model for programmable secure … Android Security Symposium 2015 Alexandra Dmitrienko Link
    Mobile threats incident handling Android Security Symposium 2015 Yonas Leguesse Link
    How Google killed two-factor authentication Android Security Symposium 2015 Victor van der Veen Link
    Mobile Application Reverse Engineering: Under the Hood Derbycon 2015 Drew Branch Billy McLaughlin Link
    Unbillable: Exploiting Android In App Purchases Derbycon 2015 Alfredo Ramirez Link
    The problems with JNI obfuscation in the Android Operating System Derbycon 2015 Rick Ramgattie Link
    Offensive & Defensive Android Reverse Engineering Defcon 2015 Jon Sawyer, Tim Strazzere, Caleb Fenton Link
    Fuzzing Android System Services by Binder Call to Escalate Privilege Blackhat USA 2015 Guang Gong Link
    Fingerprints on Mobile Devices: Abusing and Leaking Blackhat USA 2015 Yulong Zhang & Tao Wei Link
    Ah! Universal Android Rooting is Back Blackhat USA 2015 Wen Xu Link
    Attacking Your Trusted Core: Exploiting Trustzone on Android Blackhat USA 2015 Di Shen Link
    This is DeepERENT:Tracking App Behaviors with Phone for Evasive Android Malware Blackhat USA 2015 Y.Park & J.Choi Link
    Mobile Point of Scam: Attacking the Square Reader Blackhat USA 2015 Alexandrea Mellen & John Moore & Artem Losev Link
    Commercial Mobile Spyware – Detecting the Undetectable Blackhat USA 2015 Joshua Dalman & Valerie Hantke Link
    Faux Disk Encryption: Realities of Secure Storage on Mobile Devices Blackhat USA 2015 Daniel Mayer & Drew Suarez Link
    Stagefright: Scary Code in the Heart of Android Blackhat USA 2015 Joshua J. Drake Link
    Android Security State of the Union Blackhat USA 2015 Adrian Ludwig Link
    Is my app secure? Bsides Lisbon 2015 Cláudio André, Herman Duarte Link
    The nightmare behind the cross platform mobile apps dream Blackhat Asia 2015 Marco Grassi, Sebastian Guerrero Link
    DABid: The Powerful Interactive Android Debugger for Android Malware Analysis Blackhat Asia 2015 Link
    Resurrecting The READ_LOGS Permission On Samsung Devices Blackhat Asia 2015 Ryan Johnson, Angelos Stavrou Link
    We Can still Crack you Blackhat Asia 2015 Link
    Relaying contactless EMV transactions with off-the-self hardware Blackhat Asia 2015 Link
    Hiding behind ART Blackhat Asia 2015 Paul Sebanal Link
    Watch you lookin’ at? Securi-Tay 2015 Jahmel Harris & Owen Evans Link
    On Relaying NFC Payment Transactions using Android devices RootedCon 2015 Ricardo J. Rodríguez y & José Vila Link
    Android: Back to the Future, Two or Too RootedCon 2015 Raúl Siles Link
    Understanding IMSI Privacy BlackHat USA 2015 Ravishankar Borgaonkar & Swapnil Udar Link
    Android FakeID Vulnerability Wwalkthrough BlackHat USA 2015 Jeff Forrista Link
    Reflection On Trusting Trustzone BlackHat USA 2015 Dan Rosenberg Link
    Researching Android Device Security With The Help Of A Droid Army BlackHat USA 2015 Joshua Drake Link
    MyY Google Glass Sees Your Passwords! BlackHat USA 2015 Xinwen Fu & Qinggang Yue & Zhen Ling Link
    Cellular Exploitation On A Global Scale: The Rise And Fall Of The Ccontrol Protocol BlackHat USA 2015 Mathew Solnik & Marc Blanchou Link
    Android FakeId Vulnerability Blackhat 2014 Jeff Forristal Link
    Mobile Analysis Kung Fu, Santoku Style RSA Conference 2014 Andrew Hoog & Sebastián Guerrero Link
    Beginners Guide to Reverse Engineering Android Apps RSA Conference 2014 Pau Oliva Fora Link
    Touchlogger on iOS and Android RSA Conference 2014 Neal Hindocha & Nathan McCauley Link
    Predatory Hacking of Mobile: Real Demos RSA Conference 2014 Jeff Forristal Link
    Reverse Engineering, Pentesting and Hardening of Android Apps DroidCon 2014 Marco Grassi Link
    DREBIN: Effective and Explainable Detection of Android Malware in Your Pocket NDSS 2014 Daniel Arp, Michael Spreitzenbarth, Malte Hubner, Hugo Gascon & Konrad Rieck Link
    Execute This! Analyzing Unsafe and Malicious Dynamic Code Loading in Android Applications NDSS 2014 Sebastian Poeplau, Yanick Fratantonio, Antonio Bianchi, Christopher Kruegel, Giovanni Vigna Link
    AppSealer: Automatic Generation of Vulnerability-Specific Patches for Preventing Component Hijacking Attacks in Android Applications NDSS 2014 Mu Zhang, Heng Yin Link
    SMV-Hunter: Large Scale, Automated Detection of SSL/TLS Man-in-the-Middle Vulnerabilities in Android Apps NDSS 2014 David Sounthiraraj, Justin Sahs, Zhiqiang Lin, Latifur Khan, Garrett Greenwood Link
    AirBag: Boosting Smartphone Resistance to Malware Infection NDSS 2014 Chiachih Wu, Yajin Zhou, Kunal Patel, Zhenkai Liang, Xuxian Jiang Link
    Pre-installed Android application poisoning AppSecAsiaPac 2014 Yoshitaka Kato Link
    Rage Against the Virtual Machine: Hindering Dynamic Analysis of Android Malware EuroSec 2014 Thanasis Petsas, Giannis Voyatzis, Elias Athanasopoulos, Sotiris Ioannidis, Michalis Polychronakis Link
    Pentesting Android Applications Confraria Segurança PT 2014 Cláudio André Link
    Tricks for image handling in Android DroidCon Berlin 2014 Tyrone Nicholas Link
    Post-Mortem Memory Analysis of Cold-Booted Android Devices IMF 2014 Christian Hilgers, Holger Macht, Tilo Muller, Michael Spreitzenbarth Link
    Execute this! Looking into code-loading techniques on Android Honeynet Project Workshop 2014 Sebastian Poeplau, Yanick Fratantonio, Antonio Bianchi, Christopher Kruegel, Giovanni Vigna Link
    Exploiting the Bells and Whistles: Uncovering OEM Vulnerabilities in Android CarolinaCon 2014 Jake Valletta Link
    Enter Sandbox: Android Sandbox Comparison MOBILE SECURITY TECHNOLOGIES 2014 Sebastian Neuner, Victor van der Veen, Martina Lindorfer, Markus Huber, Georg Merzdovnik, Martin Mulazzani and Edgar Weipp Link
    A Systematic Security Evaluation of Android’s Multi-User Framework MOBILE SECURITY TECHNOLOGIES 2014 Paul Ratazzi, Yousra Aafer, Amit Ahlawat, Hao Hao, Yifei Wang and Wenliang Du Link
    Sprobes: Enforcing Kernel Code Integrity on the TrustZone Architecture MOBILE SECURITY TECHNOLOGIES 2014 Xinyang Ge, Hayawardh Vijayakumar and Trent Jaeger Link
    Android Packers:Separating from the pack Hacktivity 2014 Ruchna Nigam Link
    ASM: A Programmable Interface for Extending Android Security 23rd USENIX Security Symposium 2014 Stephan Heuser, Adwait Nadkarni, William Enck, Ahmad-Reza Sadeghi Link
    Peeking into Your App without Actually Seeing it: UI State Inference and Novel Android Attacks 23rd USENIX Security Symposium 2014 Qi Alfred Chen, Zhiyun Qian, Z. Morley Mao Link
    On the Feasibility of Automa3cally Generating Android Component Hijacking Exploits Hitcon 2014 Wu Daoyuan Link
    Play Flappy Bird while you pentest Android in style Hitcon 2014 Chris Liu & Matthew Lionetti Link
    Bypassing wifi pay-walls with Android RootedCon 2014 Pau Oliva Fora Link
    A distributed approach to malware analysis BruCON 0x06 2014 Daan Raman Link
    Enter The Snapdragon! Hacktivity 2014 Daniel Komaromy Link
    Android Forensics: The Joys of JTAG Ruxcon 2014 tty0x80 Link
    TACKYDROID: Pentesting Android Applications in Style HiTB KUL 2014 Chris Liu & Matthew Lionetti Link
    Hide Android Applications in Images BlackHat Europe 2014 Axelle Apvrille & Ange Albertini Link
    MAN IN THE BINDER: HE WHO CONTROLS IPC, CONTROLS THE DROID BlackHat Europe 2014 Nitay Artenstein & Idan Revivo Link
    Mobile Hacking – Reverse Engineering the Android OS HackerHalted 2014 Tom Updegrove Link
    Making Android’s Bootable Recovery Work For You EkoParty 2014 Drew Suarez at EkoParty Link
    An Infestation of Dragons: Exploring Vulnerabilities in the ARM TrustZone Architecture PacSec Japan 2014 Josh “m0nk” Thomas, Charles Holmes & Nathan Keltner Link
    Hey, we catch you – dynamic analysis of Android applications PacSec Japan 2014 Wenjun Hu Link
    Steroids for your App Security Assessment ZeroNights 2014 Marco Grassi Link
    Racing with DROIDS ZeroNights 2014 Peter Hlavaty Link
    Creating a kewl and simple Cheating Platform on Android DeepSec 2014 Milan Gabor & Danijel Grah Link





    Posted by Tony @ 10:42 am

  • Leave a Reply

    Your email address will not be published.