Eine Sache von wenigen Minuten.
Zum einen sind die Daten relativ einfach gespeichert. Objekte werden für gewöhnlich in der Form <Klassenname @variable1=wert1 @variable2=wert2 ...> gespeichert (natürlich in einer etwas kompakteren binärschreibweise). Du musst im Hexeditor, um z.B. die aktuelle HP deines Helden zu ändern, lediglich nach dem String "@hp" suchen und den dahinterstehenden Wert entsprechend verändern.
Dazu kommt, dass Ruby opensource ist. Es reicht dir die C-Implementierung der Marshal-Funktionen, die für das Abspeichern verantwortlich sind, anzuschauen. Die sind im Internet frei einsehbar.
Wenn du so etwas erschweren willst, würde ich erstmal den Spielstand verschlüsseln und ihn danach noch mit einem Hash-Schlüssel versehen. Solange der Programmcode einsehbar ist, dürfte ein Informatiker aber trotzdem in der Lage sein, den Spielstand beliebig abzuändern.