It is currently 27 May 2020, 22:02
   
Text Size

DotP 2013: Converting saves from Skidrow to Theta and back.

Moderators: Xander9009, CCGHQ Admins

DotP 2013: Converting saves from Skidrow to Theta and back.

Postby RiiakShiNal » 11 Aug 2012, 15:29

The saves from both Skidrow and Theta versions are compatible with each other the difference is how each version generates and uses the player virtual id. This will probably be most useful for people who want to convert from Skidrow to Theta to take advantage of the Theta 1.0r36 update, but don't want to lose their profile data.

So on to how to convert from one to the other.
Skidrow => Theta:
  • Theta swarm directory does not exist:
    • You can either create a new directory with the name [PlayerName]_swarm or run the game once with Theta version to automatically create the directory.
  • Without hex editing (must have an existing profile and "vuid" file for Theta version):
    • Copy the [SkidrowNumber].profile and hash.file from the Skidrow directory (C:\Users\[UserName]\AppData\Local\SKIDROW\97330\Storage) to the swarm directory.
    • Rename the profile to [ThetaNumber].profile where [ThetaNumber] is the number of the existing profile from Theta version.
    • Done you should now be able to start the game in Theta version using the save from Skidrow.
  • With hex editing:
    • Copy the [Number].profile and hash.file from the Skidrow directory (C:\Users\[UserName]\AppData\Local\SKIDROW\97330\Storage) to the swarm directory.
    • Hex edit (or create) the "vuid" file and inside it make the 4 bytes equal the number from the profile's filename (requires converting the number from base 10 to base 16 to enter the number in hex).
    • Done you should now be able to start the game in Theta version using the save from Skidrow.

Example:
I have a Skidrow profile with these files:
  • 1961162605.profile
  • hash.file
I have a Theta swarm:
  • Riiak_swarm
    • 588182154.profile
    • hash.file
    • vuid
I copy the files from Skidrow to Theta swarm (replacing the "hash.file"):
  • Riiak_swarm
    • 588182154.profile
    • 1961162605.profile
    • hash.file
    • vuid
I now have 2 choices I can either delete "588182154.profile" and rename "1961162605.profile" to "588182154.profile". Or I can hex edit "vuid" to have these 4 bytes "6D F7 E4 74", then optionally delete "588182154.profile". Either way I can now run the game using Theta version with my "Skidrow" profile.

Theta => Skidrow
  • Start the game once with Skidrow (needed to know which number to use).
  • Copy the [ThetaNumber].profile and hash.file from Theta swarm directory to Skidrow directory (C:\Users\[UserName]\AppData\Local\SKIDROW\97330\Storage) overwriting the "hash.file".
  • Rename the [ThetaNumber].profile to [SkidrowNumber].profile (deleting the old Skidrow profile).
  • Done you should now be able to start the game in Skidrow version using the save from Theta.

Example:
I have an existing Theta swarm:
  • Riiak_swarm
    • 588182154.profile
    • hash.file
    • vuid
I started Skidrow version and it gave me this:
  • 1961162605.profile
  • hash.file
I copy "588182154.profile" and "hash.file" to Skidrow directory (overwriting "hash.file"):
  • 588182154.profile
  • 1961162605.profile
  • hash.file
I now delete "1961162605.profile" and rename "588182154.profile" to "1961162605.profile".
  • 1961162605.profile
  • hash.file
I can now run the game using Skidrow version with my "Theta" profile.

Some users will notice that the basic method here can also be used to transfer/use saves from other people.

Edit: As I have now looked at an official save I can say with certainty that official and cracked saves ARE compatible meaning you can convert a save from Skidrow or Theta to Official and vice-versa. The procedure to convert to Official is basically the same as the procedure to convert from Theta to Skidrow with the exception of the location. The location for official saves is in Steam\userdata\[UserNum]\97330\remote (found by mandl).
Last edited by RiiakShiNal on 18 Aug 2012, 22:04, edited 1 time in total.
RiiakShiNal
Programmer
 
Posts: 2135
Joined: 16 May 2011, 21:37
Has thanked: 74 times
Been thanked: 474 times

Re: DotP 2013: Converting saves from Skidrow to Theta and ba

Postby sadlyblue » 11 Aug 2012, 17:42

Thats a great finding...
But i'm more concerned with the problems with unlocks not being saved when we have a lot of different dlcs. Is there a way to solve that also?
sadlyblue
 
Posts: 175
Joined: 06 Feb 2012, 13:18
Has thanked: 18 times
Been thanked: 16 times

Re: DotP 2013: Converting saves from Skidrow to Theta and ba

Postby RiiakShiNal » 11 Aug 2012, 19:33

I have not found a way at this point, I tried to see if maybe a naked hash of the profile or a contiguous part of the profile would match the game generated hash, but it didn't. I tried CRC-32, MD5, RIPEMD-160, SHA-1, SHA-256, SHA-384, and SHA-512 on every possible contiguous part of the profile (with and without the two delimiters in the deck save information) on multiple profiles, but could not find a common match between any of them (upwards of 700 million+ generated hashes, ~40 GB). Though I haven't tried looking at the 1's complement of the hashes yet.

If I could have found the way to create the hash then creating a save editor which would at least allow us to control which decks are saved might have been possible, but without the secret hashing algorithm I can't even do that yet.

All that testing and examining of the profile/hash did lead me to see that the two versions save out exactly the same (the difference is in the amount of data saved out and how the virtual ids are generated).

I never really learned assembly so I'm not confident I can pull too much out of the executable as far as either the hash algorithm or the save functions.
RiiakShiNal
Programmer
 
Posts: 2135
Joined: 16 May 2011, 21:37
Has thanked: 74 times
Been thanked: 474 times


Return to Documentation

Who is online

Users browsing this forum: No registered users and 1 guest


Who is online

In total there is 1 user online :: 0 registered, 0 hidden and 1 guest (based on users active over the past 10 minutes)
Most users ever online was 1371 on 09 Feb 2020, 16:22

Users browsing this forum: No registered users and 1 guest

Login Form