# avatar²

> Python framework from EURECOM's S3 group that orchestrates emulators, debuggers and physical devices for dynamic analysis of embedded firmware. An analysis script declares targets, such as a modified QEMU, PANDA, Unicorn, a gdbserver or an OpenOCD or J-Link debug probe, then a memory layout whose ranges can forward accesses from one target to another, and an execution plan. Execution and register or memory state can move between targets, so firmware can run in an emulator while its peripheral accesses go to the real device.

- Type: Tool
- Targets: Firmware
- Category: Firmware tools
- Relationship: Foundation tool
- Sources reviewed: 2026-10-19
- Added to the catalog: 2026-10-19
- Original resource: <https://github.com/avatartwo/avatar2>
- Primary source: <https://github.com/avatartwo/avatar2/blob/56a90cfe738886236dcbc3653756bdbdec6aaf92/README.md>
- Catalog page: <https://awesomerea.org/resources/avatar2/>
- Record JSON: <https://awesomerea.org/resources/avatar2/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/avatar2/index.md)

## Requirements & limits

- Latest release at review: 1.4.7, uploaded to PyPI on 2022-02-10 and tagged v1.4.7; GitHub lists no release pages. The reviewed main commit, from 2024-10-23, is nine commits ahead of that tag, adding ARMv7-M interrupt forwarding and hardware-runner plugins and pinning Unicorn 2.0.1.post1.
- The core installs with pip; CI tests Python 3.7-3.9 on Ubuntu 20.04. Target endpoints are separate: python -m avatar2.installer or the targets/build_*.sh scripts build the avatar-qemu fork and PANDA, with build scripts provided for Ubuntu 20.04 only, and the scripts add a restricted deb-src repository to /etc/apt/sources.list, so the README suggests a VM or container. A Dockerfile generator builds images with selected endpoints.
- An analysis needs the user's own firmware image and, for hybrid setups, the physical device reachable through a gdbserver, an OpenOCD script or a Segger J-Link probe. Architecture definitions cover ARM, including Cortex-M3 and big-endian variants, MIPS and x86/x86-64. The analyst writes the memory layout, forwarding rules and execution plan in Python.
- Apache-2.0; avatar-qemu and PANDA come from separate repositories with their own licenses. The README lists research publications that describe, use or extend the framework.

## Primary sources

1. <https://github.com/avatartwo/avatar2/blob/56a90cfe738886236dcbc3653756bdbdec6aaf92/README.md>
2. <https://github.com/avatartwo/avatar2/blob/56a90cfe738886236dcbc3653756bdbdec6aaf92/handbook/0x01_intro.md>
3. <https://github.com/avatartwo/avatar2/blob/56a90cfe738886236dcbc3653756bdbdec6aaf92/handbook/0x02_targets.md#L67-L155>
4. <https://github.com/avatartwo/avatar2/blob/56a90cfe738886236dcbc3653756bdbdec6aaf92/handbook/0x03_memory.md#L31-L45>
5. <https://github.com/avatartwo/avatar2/blob/56a90cfe738886236dcbc3653756bdbdec6aaf92/handbook/0x04_execution.md#L113-L165>
6. <https://github.com/avatartwo/avatar2/tree/56a90cfe738886236dcbc3653756bdbdec6aaf92/avatar2/targets>
7. <https://github.com/avatartwo/avatar2/tree/56a90cfe738886236dcbc3653756bdbdec6aaf92/avatar2/archs>
8. <https://github.com/avatartwo/avatar2/blob/56a90cfe738886236dcbc3653756bdbdec6aaf92/setup.py>
9. <https://github.com/avatartwo/avatar2/blob/56a90cfe738886236dcbc3653756bdbdec6aaf92/.github/workflows/continuous_integration.yml>
10. <https://github.com/avatartwo/avatar2/blob/56a90cfe738886236dcbc3653756bdbdec6aaf92/targets/build_qemu.sh>
11. <https://github.com/avatartwo/avatar2/blob/56a90cfe738886236dcbc3653756bdbdec6aaf92/CHANGELOG.md>
12. <https://github.com/avatartwo/avatar2/blob/56a90cfe738886236dcbc3653756bdbdec6aaf92/LICENSE>
13. <https://pypi.org/project/avatar2/1.4.7/>

## More in Firmware and hardware

- [efiXplorer](https://awesomerea.org/resources/efixplorer/index.md) · Tool
- [vmlinux-to-elf](https://awesomerea.org/resources/vmlinux-to-elf/index.md) · Tool
- [Sony-PMCA-RE](https://awesomerea.org/resources/sony-pmca-re/index.md) · Tool
- [cpu_rec](https://awesomerea.org/resources/cpu-rec/index.md) · Tool
- [ME Analyzer](https://awesomerea.org/resources/me-analyzer/index.md) · Tool
- [CHIPSEC](https://awesomerea.org/resources/chipsec/index.md) · Tool

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
