"Cheat" is not the most inventive name, but it's exactly what this program does.

Basically, it's like the old DOS SoftICE-like programs: you'd start the game you wanted to cheat at, then play it for a while and hit a keystroke to break into SoftICE. It would search memory for some value you were interested in (lives left, number of points, etc.) and keep a list of every match in memory to the input value. Of course, most of those wouldn't be where that value was being stored by the game - they'd just be accidental matches. So, you'd go back to the game, and play it some more until the value changed (lose a life, gain points, etc.). Then you'd break into SoftICE again and search inside the previous matches to find the new value. After a few cycles, only one memory location would be left - the one that always changed to the right value. You could then set that memory location to a new value to cheat in the game.

This program does the same thing, but for the "freeze files" generated by video game console emulators that effectively write the memory of the emulated console (like a SNES or N64) out to a file when you use the "state save" feature. It's specifically designed for emulators that compress these freeze files with gzip, like Snes9x and Mupen64, though there likely are others.

Cheat is written in Java, so it should work on any platform supported by Java. The provided Makefile will work on any Unix-like system, including Linux and Mac OS X. There is a script included which will create a Mac OS X "application bundle" from the jar file, which adds an icon and an extra feature: persistent preferences. Currently the preferences are just the setting of the "Allow live editing" feature and the current directory.

Cheat is licensed under version 2 of the GPL.

Source code: cheat-0.95.tar.gz
OS X disk image: Cheat-0.95.dmg

Questions? Comments? Bugs? Contact me at !