Savegame Cheat Disabler

Manual method:
  1. Open the savegame in your favourite Hex Editor
  2. Change the byte at 0x000000C8 from 0x01 to 0x00

Can someone give me some help with this method? I've had cheats stuck on for a while, and it's bugging me, but the download link to the save file editor isn't working, and I don't know anything about hex editing - I've tried searching for the byte at "0x000000c8", but I keep getting "Cannot find string 0x000000c8", and it's annoying.

Help?
 
Can someone give me some help with this method? I've had cheats stuck on for a while, and it's bugging me, but the download link to the save file editor isn't working, and I don't know anything about hex editing - I've tried searching for the byte at "0x000000c8", but I keep getting "Cannot find string 0x000000c8", and it's annoying.

I'm sure you've long since either figured this out or given up, but for anyone else: the phrase "byte at 0x000000c8" refers to the position in the file where the data can be found. If you load up a hex editor, it'll show you the position of your cursor in hex; here's sort of what it'd look like:

00000000 A0 09 3F C1 00 00 00 00 AA 00 00 00 03 00 00 00 ..?.............
00000010 F8 61 0D 00 73 72 33 5F 63 69 74 79 00 00 00 00 .a..sr3_city....
00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000050 00 00 00 00 00 00 00 00 E1 7F 75 0F CC 81 E4 03 ..........u.....
00000060 31 00 34 00 3A 00 30 00 38 00 3A 00 31 00 37 00 1.4.:.0.8.:.1.7.
00000070 00 00 30 00 35 00 2E 00 30 00 34 00 2E 00 31 00 ..0.5...0.4...1.
00000080 37 00 00 00 40 00 00 00 16 00 00 00 D4 07 05 0B 7...@...........
00000090 0A 08 2A 04 1D 00 00 00 BC C1 36 6C 58 66 88 46 ..*.......6lXf.F
000000A0 33 44 00 00 00 F8 7F FF FF 1F 00 00 00 00 00 00 3D..............
000000B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000000C0 00 00 00 00 00 00 00 00 01 00 00 00 07 00 00 00 ................
000000D0 65 07 FF F6 15 74 EF E3 FF F2 EA 24 32 B9 55 6F e....t.....$2.Uo
--- sr3save_07.sr3s_pc --0xC8/0x238C0-----------------------------------000000F0 0.

The red highlight is where my cursor is, and the purple address at the bottom is saying that I'm at position 0xC8 (out of 0x238C0). So you'd change that "01" to a "00" and save it out. The hex number "0x000000c8" is the same as "0xC8" in the same way that the decimal number 00123 would be the same as 123.

Anyway, the actual reason I stopped by here was to point out that while the Windows version of Saints Row 4 is using an updated version of their savegame files (a utility for which can be found on the previous page), the Linux version doesn't seem to have kept up, and is still using the "old style" savegame format for which the advice at the beginning of this thread still holds. So to clear a "Cheats Enabled" flag on SR4 on Linux, you're still looking for "sr3s_pc" files, and you can clear that byte at 0xC8 from 01 to 00 and things will be groovy.

One thing I hadn't seen mentioned in here yet is that the "Load Game" screen does not actually read from the savegames themselves in order to populate its list of games, so even after editing the savegame, you'll see a "Cheats Enabled" message when the savegame is highlighted. The game will load without that flag set, though, and subsequent savings of the game will put the proper data in the index that it does use. I assume this is probably the case for SR3 as well, and possibly for the updated savegame versions on Windows SR4 (Edit: apparently not re: SR4).

There's a bunch of info about the SR3 savegame format (including that "loading" index file) in this thread, btw: https://www.saintsrowmods.com/forum/threads/sr-tt-save-game-schema.2577/

The format of the index file is largely the same for SR4, though the packed data doesn't actually correspond to what's listed in there. I didn't bother trying to parse it out since it turns out to be not very important, only being used for the "load game" display.

From that thread, btw, is the following interesting (to me) tidbit from the SR3 savegame format (which still holds true for the old-style SR4 saves, at least):

bool has cheated
int number of saved cheats
array of 200 uint32 checksums for saved cheats

That initial "bool" is the value at 0xC8 in the save file, and the next two data there do seem to be accurate. Interestingly, in SR4 (with all the DLC/whatever I have), there's six cheats "enabled" by default (you'll see an "06 00 00 00" for the saved-cheats int), with hex checksums of "65 07 FF F6", "15 74 EF E3", "FF F2 EA 24", "32 B9 55 6F", "56 4C BE 9E", and "1B 26 11 DC" respectively. If you want to completely erase all evidence of your nefarious cheating (you cheater!), you could drop the saved-cheat count back down to 6, and zero out any cheat checksums which follow.
 
Last edited:
I don't believe the modding patch for SRIV uses the savedir file any more - it now loads the save file directly on Windows if memory serves.
 
Is there a way to use this for Saints Row 4? Beacause I've read that you can in a different discussion, but when I start the Javafile it only lets me choose between my SR3 savefiles. The Hex Editor method isn't working for me either because there is no 0x000000C8 part in my savefile.
 
Back
Top