Spice86 – A PC emulator for real mode reverse engineering
Published on: 2025-07-12 18:47:09
Spice86 - A PC emulator for real mode reverse engineering
Spice86 is a tool to execute, reverse engineer and rewrite real mode DOS programs for which source code is not available.
Release are available on Nuget.
Pre-releases are also available on the Release page
NOTE: This is a port, and a continuation from the original Java Spice86.
It requires .NET 8 and runs on Windows, macOS, and Linux.
Approach
Rewriting a program from only the binary is a hard task.
Spice86 is a tool that helps you do so with a methodic divide and conquer approach.
General process:
You start by emulating the program in the Spice86 emulator.
At the end of each run, the emulator dumps some runtime data (memory dump and execution flow)
You load those data into ghidra via the spice86-ghidra-plugin
The plugin converts the assembly instructions in the memory dump to C# that can be loaded into spice86 and used either partially or completely instead of the assembly code.
This allows you to gradually reimpl
... Read full article.