A Python-based framework for fuzzing Android's Stagefright media engine to discover security vulnerabilities.
MFFA (Media Fuzzing Framework for Android) is an open-source security testing framework that automates the discovery of vulnerabilities in Android's Stagefright media engine. It generates structurally valid but corrupt media files, sends them to Android devices for decoding, and monitors for system crashes that could indicate exploitable security flaws. The tool helps identify issues like integer overflows and heap corruption in media processing components.
Security researchers, Android platform developers, and penetration testers focused on uncovering vulnerabilities in Android's media subsystems. It's particularly useful for those conducting systematic security assessments of Android devices.
Developers choose MFFA for its specialized focus on Android media security, automated distributed testing across multiple devices, and built-in triage mechanism that filters unique vulnerabilities. It provides a structured approach to fuzzing Stagefright that has proven effective in discovering critical CVEs.
Media Fuzzing Framework for Android
Distributes corrupt media files across multiple Android devices with real-time logging, enabling scalable fuzzing campaigns as described in the Key Features.
Includes a custom triage mechanism that filters duplicate crash reports to identify unique vulnerabilities, reducing manual analysis effort in post-processing logs.
Has successfully uncovered critical CVEs like CVE-2014-7915 and CVE-2015-3832, demonstrating real-world effectiveness in finding exploitable Stagefright bugs.
Leverages Android's built-in stagefright command-line tool for direct media decoding and playback testing, ensuring targeted and efficient fuzzing.
Requires modifying Android.mk files or building custom images to include the stagefright tool, which is time-consuming and demands deep Android system knowledge.
The README explicitly states it's a prototype developed in a specific environment and may not work out of the box, leading to compatibility issues with newer devices or OS versions.
Focuses solely on the Stagefright media engine, so it cannot fuzz other Android components or media frameworks without significant modification.
Configuration relies on manual steps like populating devices.txt and batches.txt, with minimal guidance, which can hinder setup and troubleshooting for new users.
Security oriented software fuzzer. Supports evolutionary, feedback-driven fuzzing based on code coverage (SW and HW based)
This project provides materials for performing greybox fuzzing on Android applications by leveraging AFL++ with Frida mode. It includes build configurations, example harnesses, and libraries to facilitate fuzzing of both native and JNI functions in Android environments. ## Key Features - **AFL++ Frida Mode for Android** — CMake configuration to build AFL++ Frida mode for Android 12 aarch64 - **Multiple Harness Examples** — Native, weakly linked JNI, and strongly linked JNI function harnesses for different fuzzing scenarios - **Java Environment Initialization** — jenv library to initialize Java environments from native harnesses - **Ready-to-Use Target** — Includes an Android application (APK) as a fuzzing target for testing - **Practical Implementation** — All materials are associated with a detailed blog post explaining the approach ## Philosophy The project emphasizes practical, reproducible Android fuzzing setups that bridge native code instrumentation with Java/JNI environments through Frida's dynamic instrumentation capabilities.
An Android port of radamsa fuzzer
An Android port of the melkor ELF fuzzer
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.