Spice86
A PC emulator for real mode reverse engineering, designed to execute, reverse engineer, and rewrite DOS programs.
0 projects
About Spice86
Spice86 is a specialized PC emulator for real mode reverse engineering that enables the execution and rewriting of DOS programs without original source code. It operates by emulating a program while simultaneously building a Control Flow Graph (CFG) of the executed instructions. At the conclusion of a run, the tool dumps runtime data including memory snapshots, execution flow, and the CFG. A core feature of Spice86 is its ability to directly generate a self-contained, runnable C# project from the captured CFG. This project overrides original assembly with equivalent C# code, allowing developers to incrementally replace mechanical translations with readable, intentful code. The tool supports various DOS file formats including `.exe`, `.com`, `.bat`, and `.bin` (BIOS) files. It also provides optional integration with Ghidra via a dedicated plugin for deeper static analysis by dumping compatible symbols. For debugging, it includes a GDB server and a CPU heavy logging mode that records every executed instruction, though this carries a significant performance impact.
Summarised from the official page linked above.