Skip to content

Resigns, Decrypts & Encrypts SaveData files from various games running on idTech Engine versions 7 and 8.

License

Notifications You must be signed in to change notification settings

mi5hmash/idSaveDataResigner

Repository files navigation

License: MIT Release Version Visual Studio 2022 .NET9

Important

This software is free and open source. If someone asks you to pay for it, it's likely a scam.

🆔 idSaveDataResigner - What is it ⁉️

icon

This command-line utility can encrypt and decrypt SaveData files from various games running on idTech Engine versions 7 and 8. It can also resign SaveData files with your own User ID so you can load them on your User Account.

Supported titles

Game Title Steam App ID Game Code
DOOM Eternal 782330 MANCUBUS
DOOM The Dark Ages 3017860 MANCUBUS
Indiana Jones and the Great Circle [STEAM] 2677660 SUKHOTHAI
Indiana Jones and the Great Circle [GOG] - PAINELEMENTAL

Supported platforms

Out of the box, it only supports SaveData files from the Steam PC version. Why? Simply because that’s the platform I chose to purchase these games on.

🔄 Note about the conversion between the Steam and GOG platforms

In the case of Indiana Jones and the Great Circle game, the GOG platform uses a different Game Code than the Steam version, along with a fixed User ID. To convert SaveData files between these two platforms, you must first decrypt the files using the appropriate Game Code and User ID for the source platform, and then encrypt them using the Game Code and User ID of the target platform.

🤯 Why was it created ⁉️

I wanted to share a SaveData file with a friend, but it isn't possible by default.

😱 Is it safe?

The short answer is: No.

Caution

If you unreasonably edit your SaveData files, you risk corrupting them or getting banned from playing online. In both cases, you will lose your progress.

Important

Always create a backup of any files before editing them.

Important

Disable the Steam Cloud before you replace any SaveData files.

You’ve been warned. Now that you fully understand the possible consequences, you may proceed to the next chapter.

📜 How to use this tool

This utility processes files based on the selected mode (-m). Each mode requires a game code (-g) and an input file path (-p). Mode-specific required parameters must be provided accordingly. Additional optional parameters may also be included.

Note

All processed files are saved in a newly created folder within the _OUTPUT directory, located in the program's root directory.

Note

Log files are saved in CSV format in the program's root directory. Only the two most recent log files are retained.

Tip

You can use the SteamDB calculator at steamdb.info to find your 64-bit SteamID.

Resigning (-m r)

Resigns all files in the specified directory from one user ID to another.

Usage:

.\idSaveDataResigner -m r -p "FOLDER_PATH" -g "GAME_CODE" -uI 76561197960265729 -uO 76561197960265730 -v

Parameters:

  • -p (Required) – Path to the directory containing files to resign.
  • -g (Required) – Game code identifier.
  • -uI (Required) – Original User ID.
  • -uO (Required) – New User ID.
  • -v (Optional) – Enables verbose console window output.

Decryption (-m d)

Decrypts all SaveData files in the specified directory.

Usage:

.\idSaveDataResigner -m d -p "FOLDER_PATH" -g "GAME_CODE" -u 76561197960265729 -v

Parameters:

  • -p (Required) – Path to the directory containing files to decrypt.
  • -g (Required) – Game Code identifier.
  • -u (Required) – User ID related to decryption.
  • -v (Optional) – Enables verbose console window output.

Encryption (-m e)

Encrypts all files in the specified directory.

Usage:

.\idSaveDataResigner -m e -p "FOLDER_PATH" -g "GAME_CODE" -u 76561197960265729 -v

Parameters:

  • -p (Required) – Path to the directory containing files to encrypt.
  • -g (Required) – Game Code identifier.
  • -u (Required) – User ID related to encryption.
  • -v (Optional) – Enables verbose console window output.

🔥 Issues

All the issues I encountered during testing were fixed on the spot. If you happen to find any other problems (though I hope you won’t), feel free to report them there.