- Home
- Reverse Engineering Tools
- Avatar²
Avatar²
What it is
Avatar² is a free, Apache-2.0 licensed Python framework for dynamic analysis of embedded-device firmware. It coordinates targets, memory layouts, and execution plans so firmware execution can be divided across multiple targets. Targets communicate through protocols with emulators, analysis frameworks, or physical devices. Documented targets include GDB, OpenOCD, J-Link, QEMU, and PANDA. OpenOCDTarget connects to physical devices over JTAG, while JLinkTarget supports SWD and JTAG. PANDA integration supports recording and replaying execution and managing analysis plugins. Memory layouts define regions and rules for forwarding reads and writes between targets. Installation is available through pip, source, or Docker, with QEMU and PANDA as Docker defaults. The project lists Linux support and ARM Cortex-M3 and x86-64 architectures. Ubuntu 20.04 build scripts are provided; other distributions are not officially supported. EURECOM's Software and System Security Group maintains the project.
For and against
For
- Free Apache-2.0 licensed framework
- Coordinates multiple firmware-analysis targets
- Supports GDB, OpenOCD, J-Link, QEMU, and PANDA
- Provides execution recording and replay through PANDA
- Offers pip, source, and Docker installation
Against
- Linux support is specified
- Ubuntu 20.04 has the documented build scripts
- Other distributions are not officially supported
The verdict
Avatar² provides a target-orchestration approach for dynamic firmware analysis, with documented hardware, emulator, and analysis integrations. Its distribution options are broad, while platform support outside the documented Ubuntu setup may require modifications.
Who it suits
Avatar² is designed for analysts performing dynamic analysis of embedded devices and firmware. It suits Linux users working with supported targets, architectures, and deployment methods.
Plans and prices
Avatar²
Apache-2.0 licensed Python framework · install with pip or from source
Read 7 Oct 2026 · github.com
On the record
- Audience
- The project describes its framework as designed for analysts working with dynamic analysis of embedded devices.github.com · read 7 Oct 2026
- Distribution
- The project README documents installation with pip, from source, or in Docker, with QEMU and PANDA as the Docker defaults.github.com · read 7 Oct 2026
- Hardware access
- OpenOCDTarget connects to physical targets over JTAG, and JLinkTarget supports SWD and JTAG.github.com · read 7 Oct 2026
- License
- The repository identifies its license as Apache-2.0.github.com · read 7 Oct 2026
- Maintainer
- Avatar² is developed and maintained by EURECOM's Software and System Security Group.github.com · read 7 Oct 2026
- Memory forwarding
- The memory layout describes memory regions and rules for forwarding reads and writes between targets.github.com · read 7 Oct 2026
- Multi-target analysis
- It coordinates targets, memory layouts, and execution plans to divide firmware execution across targets.github.com · read 7 Oct 2026
- PANDA capabilities
- PANDA support includes execution recording and replay and loading, unloading, and listing analysis plugins.github.com · read 7 Oct 2026
- Platform limits
- The README provides target build scripts for Ubuntu 20.04 and says other distributions are not officially supported, though they may work with modifications.github.com · read 7 Oct 2026
- Purpose
- Avatar² is a target orchestration framework for dynamic analysis of embedded-device firmware.github.com · read 7 Oct 2026
- Support
- The maintainers direct users to a public mailing list and an invite-based Slack community.github.com · read 7 Oct 2026
- Supported targets
- The handbook documents GDB, OpenOCD, J-Link, QEMU, and PANDA targets.github.com · read 7 Oct 2026
- Target architecture
- Targets communicate with endpoints such as emulators, analysis frameworks, or physical devices through protocols.github.com · read 7 Oct 2026