Noobgamer0111 / SubwaySurfersDecrypted

Figuring out the new encryption used for the Subway Surfers profile *.jsons.
https://gitlab.com/Noobgamer0111/SubwaySurfersDecrypted
MIT License
41 stars 7 forks source link

[NOT decrypting] How to change the values of wallet.json and most likely other json files #6

Closed fo-od closed 1 year ago

fo-od commented 1 year ago

I really don't know if everyone already knows how to do this but you could just paste the old wallet json text, change those values, then open subway surfers and it should work.

I did this and it worked but sorry if you guys already knew this

What I pasted into the wallet.json file: { "version": 2, "data": "{\"lastSaved\":\"2022-04-28T11:37:59.056234Z\",\"patchVersion\":0,\"currencies\":{\"3\":{\"value\":100000000,\"expirationType\":0},\"2\":{\"value\":100000000,\"expirationType\":0},\"1\":{\"value\":100000000,\"expirationType\":0},\"5\":{\"value\":100000009,\"expirationType\":0},\"4\":{\"value\":100000000,\"expirationType\":0},\"20\":{\"value\":100000000,\"expirationType\":0},\"23\":{\"value\":0,\"expirationType\":0},\"22\":{\"value\":0,\"expirationType\":0},\"24\":{\"value\":0,\"expirationType\":0},\"21\":{\"value\":0,\"expirationType\":0},\"6\":{\"value\":100000000,\"expirationValue\":0,\"expirationType\":1}},\"lootboxQueue\":{\"unopenedLootboxes\":{\"0\":[],\"2\":[]}},\"currencyAllowedInRun\":{\"5\":true,\"4\":true},\"lootBoxesOpened\":{\"mini_mystery_box\":3,\"mystery_box\":7,\"token_box\":16,\"super_mystery_box\":5},\"ownedOnlyBuyOnceProducts\":[\"free_token_box\",\"multiplier_pack\",\"speed_crew\"]}" }

Noobgamer0111 commented 1 year ago

Interesting.

By the old "wallet.json text", do you mean the default wallet.json? If so, could you provide images with timestamps to proof that you can indeed load the old style wallet.json files in plaintext and then do regular editing using a text editor

Most users aim to edit existing data, AND the same cipher is reused for all other profile *.jsons.

fo-od commented 1 year ago

this sadly isn't editing existing data, but if you really wanna do that you could screenshot a picture of the where the values are shown in-game, i.e. taking a screenshot of your keys, hoverboards, coins, and the other ones (I think it's the boosts like the headstart and the other one?) then changing those to the ones in the screenshot, then changing the one you want to change. sorry if that's a long explanation but that would bw the only way to "change existing values". but itnwould require knowing which values are what and that kind of stuff

fo-od commented 1 year ago

btw sorry for not making this post on discoussions because I forgot that existed. Also decrypting is still better obviously

fo-od commented 1 year ago

also by old wallet.json I mean before it was encrypted. which I just used the subwaybooster file for that

Noobgamer0111 commented 1 year ago

@fo-od Have you used Android Studio or Unity before? Also if you are able to use a public version of Subway Surfers (https://www.apkmirror.com/apk/sybo-games/subwaysurfers/) and then make it into a debuggable state.

After that, you can connect your Android phone to your computer that's running Android Studio to use USB debugging to extract logs.

devkarlos commented 1 year ago

I can confirm that replacing the "new" encrypted wallet.json with the old plain text wallet.json works great. Unfortunately I cannot provide you any screenshots, you have to try it yourself.