Ghidra Plays Mario

In a unique and clever experiment, the author has managed to make Ghidra, a software reverse engineering tool, play Super Mario Bros. Although the game runs very slowly, the author has recorded keyboard inputs that can be replayed to complete the first level. The process involves using a modified emulator that delegates CPU execution to Ghidra’s PCode emulator. This experiment was conducted to validate Ghidra’s processor module, as bugs were found and fixed while trying to render the Super Mario Bros title screen. The author provides instructions for reproducing the experiment and highlights that some desync and hardcoded protocol issues exist. Additionally, profiling revealed that stepping through instructions only takes about 15% of CPU time, while socket I/O accounts for approximately 50%.

https://github.com/nevesnunes/ghidra-plays-mario

To top