Import old stats

Problems and issues with the multiplayer client.
DobarParshut
TeknoCricket
TeknoCricket
Posts: 4
Joined: Wed Jan 13, 2016 1:58 pm

Import old stats

Postby DobarParshut » Thu Oct 20, 2016 5:41 pm

hi guys, sorry for bothering..

i may be a noob, but i can't solve this one.. i upgraded my pc to windows 10, and before that i did a backup of my old cod games.. now i copied the files from player2 file and put the into newly installed mw3, but when i login with my username, all my classes and data aren't available.. am i doing something wrong or how can i import old game files to a clean install of mw3?
lordevil10
TeknoHorse
TeknoHorse
Posts: 1232
Joined: Sun Oct 07, 2012 12:57 am
Location: Finland

Re: Import old stats

Postby lordevil10 » Thu Oct 20, 2016 8:37 pm

DobarParshut wrote:hi guys, sorry for bothering..

i may be a noob, but i can't solve this one.. i upgraded my pc to windows 10, and before that i did a backup of my old cod games.. now i copied the files from player2 file and put the into newly installed mw3, but when i login with my username, all my classes and data aren't available.. am i doing something wrong or how can i import old game files to a clean install of mw3?

i believe you need the stats file and your xuid to be the same. xuid can be found in teknogods.ini file and stats file was in players2 folder.
xuid consists of 8 random characters and if you can't remember your old one, i doubt you can retrieve your stats.
Now we fight like men! And ladies! And ladies who dress like men!
szczurcio wrote:Stop capitalizing nouns dude, this ain't German :P
User avatar
Hans Krebs
TeknoGod
TeknoGod
Posts: 322
Joined: Tue Dec 23, 2014 12:44 am

Re: Import old stats

Postby Hans Krebs » Fri Oct 21, 2016 7:38 am

@lordevil10 is correct; in the current TeknoMW3 version, the stats file is encrypted with your SteamID , so without it it's essentially useless. Why the previous developers have made this choice I don't know, but that's the way it is for now (it has been removed from the next release). If you had a moderator/admin rank on a dedicated server, the owner will be able to give you your SteamID ; also, if you played on a server with an admin plugin such as SAT/SinAdmin, you can ask the owner to take a look at the logs, they will contain your old SteamID as well.
DobarParshut
TeknoCricket
TeknoCricket
Posts: 4
Joined: Wed Jan 13, 2016 1:58 pm

Re: Import old stats

Postby DobarParshut » Fri Oct 21, 2016 10:55 am

so, basically, there is nothing to do :happycrazy:

anyway, thanks guys!
User avatar
~Seraphim
TeknoHorse
TeknoHorse
Posts: 1186
Joined: Sun Jan 12, 2014 10:36 pm

Re: Import old stats

Postby ~Seraphim » Wed Nov 16, 2016 5:13 am

DobarParshut wrote:so, basically, there is nothing to do :happycrazy:

anyway, thanks guys!

Well if you want to get technical, the stats files were encrypted with a rather weak algorithm ( if you can even call that an algorithm ) so you can _technically_ brute force the decryption.
Basically there's 2^32 possible combinations you can try.

https://github.com/teknogods/TeknoMW3

Read this to find out how stats files were encrypted. You can decrypt them by simply running it through the decryption function with every possible lower SteamID ( 00000000 - FFFFFFFF )
Hyper-V
TeknoCricket
TeknoCricket
Posts: 2
Joined: Thu Nov 24, 2016 7:46 pm

Re: Import old stats

Postby Hyper-V » Thu Nov 24, 2016 8:20 pm

~Seraphim wrote:
DobarParshut wrote:so, basically, there is nothing to do :happycrazy:

anyway, thanks guys!

Well if you want to get technical, the stats files were encrypted with a rather weak algorithm ( if you can even call that an algorithm ) so you can _technically_ brute force the decryption.
Basically there's 2^32 possible combinations you can try.

https://github.com/teknogods/TeknoMW3

Read this to find out how stats files were encrypted. You can decrypt them by simply running it through the decryption function with every possible lower SteamID ( 00000000 - FFFFFFFF )

FWIW, I'll leave what I found out after I quickly glanced over the code, in case anybody decides to do this:

1. The function you're targeting is SteamDataCrypto (steam_api_emu_misc.cpp)

2. The encryption function seems like a stream cipher, so both encryption and decryption use the same function (TL;DR stream ciphers generate a bunch of values based on the key and then usually XOR the input against that, so generating the same values and XORing again decrypts the encrypted data)

3. The implementation is... laughable, without being too mean. I recommend rewriting it if your goal is to attack the crypto, for several reasons; one of them being the "if", which can be dumbed down to a single expression, which could help analyzing the function. (branches are never nice when translating crypto code to math)

4. There is a side-channel attack which, in the worst case, reduces the key space to ((2**32 - 1) / 4). However, in practice, the actual keyspace is reduced to less than 5% of the worst case scenario, making this concrete example extremely easy to crack. However, I'll leave that as an exercise to the reader. :-)
User avatar
~Seraphim
TeknoHorse
TeknoHorse
Posts: 1186
Joined: Sun Jan 12, 2014 10:36 pm

Re: Import old stats

Postby ~Seraphim » Fri Nov 25, 2016 2:10 am

Hyper-V wrote:FWIW, I'll leave what I found out after I quickly glanced over the code, in case anybody decides to do this:

1. The function you're targeting is SteamDataCrypto (steam_api_emu_misc.cpp)

2. The encryption function seems like a stream cipher, so both encryption and decryption use the same function (TL;DR stream ciphers generate a bunch of values based on the key and then usually XOR the input against that, so generating the same values and XORing again decrypts the encrypted data)

3. The implementation is... laughable, without being too mean. I recommend rewriting it if your goal is to attack the crypto, for several reasons; one of them being the "if", which can be dumbed down to a single expression, which could help analyzing the function. (branches are never nice when translating crypto code to math)

4. There is a side-channel attack which, in the worst case, reduces the key space to ((2**32 - 1) / 4). However, in practice, the actual keyspace is reduced to less than 5% of the worst case scenario, making this concrete example extremely easy to crack. However, I'll leave that as an exercise to the reader. :-)

Pretty sure no-one here ( Apart from the actual developers ) are even capable of using that information. Hence why I didn't bother elaborating.

Return to “Problems & issues”

Who is online

Users browsing this forum: No registered users and 11 guests