Applied Emulation - Module 2 (Patreon)
Published:
2023-08-29 21:59:13
Imported:
2023-09
Flagged
Downloads
Content
Unicorn CPU Emulator
This is the second part in our five-part tutorial series on emulation. In this module we learn how to use the Unicorn emulator for simple emulation tasks. The module is accompanied by a live demo and a lab that builds on the concepts we discuss.
References
- Unicorn Overview
https://www.unicorn-engine.org/BHUSA2015-unicorn.pdf - Undocumented CPU Instructions
https://github.com/chip-red-pill/udbgInstr/tree/main - Intel Instruction Set Reference
https://www.cs.cmu.edu/~410/doc/intel-isr.pdf - Qemu Tiny Code Generator (JIT)
https://wiki.qemu.org/Documentation/TCG - Qemu Tiny Code Interpreter (JIT)
https://wiki.qemu.org/Features/TCI - Qemu Binary Translation
https://www.slideshare.net/RampantJeff/qemu-binary-translation - Qemu JIT Notes
https://www.slideshare.net/jserv/qemu-jit-code-generator-and-system-emulation
Unicorn Cheat Sheet (Alex Hanel)
https://github.com/alexander-hanel/unicorn-engine-notes
Lab Exercise
The lab for this module is contained in the lab2_zip file. Download lab2_zip, unzip, and run jupyter-lab from the root of the unzipped directory. Once Jupyter Labs is launched in your browser open the lab notebook and follow the instructions.