Platform for Architecture-Neutral Dynamic Analysis built on QEMU, enabling whole-system record/replay and cross-architecture analysis.
PANDA is an open-source Platform for Architecture-Neutral Dynamic Analysis built on the QEMU whole system emulator. It enables security researchers and reverse engineers to perform deep, whole-system analyses by providing access to all code and data in guest systems, with the unique capability to record and replay executions for repeatable experiments.
Security researchers, reverse engineers, and academic researchers who need to perform deep dynamic analysis of whole systems across multiple CPU architectures.
Developers choose PANDA for its architecture-neutral approach that supports 13 CPU architectures through LLVM IR, its compact and shareable record/replay system, and its plugin architecture that simplifies complex analysis development with code re-use.
Deprecated repo for PANDA 1.0 – see PANDA 2.0 repository
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables capture and replay of x86, x86_64, and ARM guest executions with compact log files, allowing for repeatable experiments in security research.
Leverages QEMU's support for 13 CPU architectures and uses LLVM IR, enabling single analyses like dynamic taint to work precisely across multiple CPUs.
Offers a simple plugin system with shared functionality, facilitating code re-use and simplifying development of complex analyses like introspection tools.
Supports ARMv7 Android guests on the Goldfish emulated platform, making it useful for mobile system analysis in an emulated environment.
This version is no longer updated, with development moved to PANDA 2, meaning it lacks new features, fixes, and may have security vulnerabilities.
Only confirmed to build on Debian 7/8 and Ubuntu 14.04, with no support for Mac/BSD, restricting usability on modern or diverse systems.
Requires multiple dependencies and a specific installation script, making initial setup challenging and time-consuming for new users.
Depends on LLVM 3.3, an older version that may lack modern optimizations, features, and community support, limiting analysis capabilities.