A dynamic binary analysis framework based on QEMU for whole-system taint analysis and security research.
DECAF (Dynamic Executable Code Analysis Framework) is an open-source binary analysis platform built on QEMU that enables whole-system dynamic taint analysis and malware inspection. It allows security researchers to precisely track data flow across CPU registers and memory in virtualized environments, supporting multiple architectures and operating systems. The framework solves the problem of inefficient and platform-specific binary analysis by providing a unified, high-performance tool for security tasks like intrusion detection and malware behavior analysis.
Security researchers, malware analysts, and academic teams working on dynamic binary analysis, taint tracking, or Android malware inspection (via DroidScope). It is particularly suited for those needing cross-platform support and low-overhead instrumentation.
Developers choose DECAF for its platform-agnostic design, precise bit-level tainting, and elastic performance optimizations (DECAF++), which make it one of the fastest whole-system dynamic taint analysis frameworks available. Its event-driven API and transparent instrumentation management reduce plugin development complexity compared to alternatives.
DECAF (short for Dynamic Executable Code Analysis Framework) is a binary analysis platform based on QEMU. This is also the home of the DroidScope dynamic Android malware analysis platform. DroidScope is now an extension to DECAF.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports multiple architectures (x86, ARM) and operating systems (32-bit Windows XP/7, Linux) with minimal platform-specific code, enabling versatile analysis across different environments as highlighted in the README.
Maintains bit-level precision for CPU registers and memory, with taint propagation implemented at the TCG IR level for extensibility and accuracy, ensuring lossless tracking for security research.
DECAF++ offers elastic whole-system dynamic taint analysis with low overhead (4% on SPEC CPU2006) and is around 25% faster on nbench under heavy workloads, making it efficient for tasks like intrusion detection.
Provides programming interfaces that allow plugins to register for specific events without managing low-level instrumentation, simplifying development and focusing on analysis logic as per the framework's philosophy.
Only supports 32-bit Windows XP/7 and Linux, lacking compatibility with 64-bit or newer operating systems, which restricts its applicability in contemporary security environments.
Requires deep knowledge of QEMU and binary analysis, with a setup that can be challenging for newcomers, as evidenced by its academic focus and reliance on wiki documentation rather than comprehensive guides.
Despite optimizations, under heavy taint analysis, there is still notable overhead (e.g., benchmarks show speed improvements but imply baseline costs), which may not suit all real-time or high-throughput scenarios.