Multi-architecture assembly execution playground for web browsers.
Powered by Capstone.js, Keystone.js, Unicorn.js. Everything else is pure vanilla JS/CSS.
- Multi-architecture support: x86, ARM, AArch64, MIPS, PowerPC, SPARC, S390X.
- Live dis/assembling editor with control-flow visualization.
- In-browser emulation with stepping controls: run, pause, step-in, step-over, step-out, reset.
- Breakpoints and conditional breakpoints supporting arbitrary expressions.
- Register viewing/editing, with value inspection in different formats.
- Memory and stack viewing/editing, with address auto-tracking.
- Import/export the entire memory state as ELF binaries.
- Shareable URLs that encode memory and CPU state.
Clone this repository and run:
npm install
npm run buildThese commands generate all the files in the build/ directory, which index.html depends on at runtime. To serve the app locally after building, run npm run serve.
This project relies on the following open-source work:
- Capstone.js: Released under BSD 3-Clause license.
https://github.com/AlexAltea/capstone.js/blob/master/LICENSE - Keystone.js: Released under GPLv2.0 license.
https://github.com/AlexAltea/keystone.js/blob/master/LICENSE - Unicorn.js: Released under GPLv2.0 license.
https://github.com/AlexAltea/unicorn.js/blob/master/LICENSE - Codicons: Released under CC-BY-4.0 license.
https://github.com/microsoft/vscode-codicons/blob/main/LICENSE - Feather: Released under MIT license.
https://github.com/feathericons/feather/blob/main/LICENSE