Spice86: A .NET-based Real Mode DOS Emulator for Reverse Engineering
Spice86 is a .NET-based emulator for executing, reverse engineering, and rewriting real-mode DOS programs without source code. It emulates program execution, exports runtime data (memory dump and execution flow), then uses the spice86-ghidra-plugin to import this data into Ghidra, converting assembly instructions into C# code. This allows for a gradual rewriting of the assembly code with C# methods. Spice86 boasts numerous command-line options, including debugging, EMS memory, A20 gate, and GDB remote debugging, along with custom GDB commands for dynamic analysis. It also features a built-in debugger for inspecting memory, disassembly, registers, stack, and structured memory views.
Read more