Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version 1.2-NX replaced ResMapPb.bytes with ResPackerInfoSet.bin #4

Open
yretenai opened this issue Oct 2, 2021 · 10 comments
Open

Comments

@yretenai
Copy link

yretenai commented Oct 2, 2021

Version 1.2.1.1 replaced ResMapPb.bytes with ResPackerInfoSet.bin, this is encrypted with the same method as ResMapPb using the filename "ResPackerInfoSet.bin" as salt.

However, the protobuf schema changed format, and is undecypherable by standard protobuf introversion. Considering the extension changed from .bytes to .bin, it could be that they are no longer using protobuf and instead using Unity Serialization which requires il2cpp introspection.

global-metadata.bin remains unmodified and parsable by conventional il2cpp processors.

1.1.1.6 ResMapPb lead-in bytes: 1A 07 31 2E 31 2E 31 2E 36 20 AB CF -> protobuf tag 0x1A + string 1.1.1.6 + protobuf tag 0x36 + leb128 305067
1.2.1.3 ResPackerInfoSet lead-in bytes: 07 31 2E 32 2E 31 2E 33 C4 A5 28 -> string 1.2.1.3 + protobuf tag 0x33 + leb128 660164

@MissingNOFan
Copy link

Also the case in Mobile. This NEEDS to be resolved so the Halloween menu music can be extracted!

@EoF-1141
Copy link

EoF-1141 commented Oct 31, 2021

Sounds are a whole different ballgame.
But as for most of the archive type files it's purely Filename as Salt to derive a key from Switch Masterkey (also for mobile) and then decrypt&decompress.
As for @yretenai is there any way to contact you directly?

@yretenai
Copy link
Author

yretenai commented Nov 1, 2021

The manfiest and asset bundles still decrypt with the old functions, although the filenames changed completely the encryption methods and keys have not. I do believe the new manifest remains to be protobuf or some derivitation of it.

You can contact me on twitter with the same handle (yretenai) but I am not very experienced with reverse engineering cryptography, mobile or switch games. Unite has already proved itself to me to be a bit over my head.

@hurdurivan
Copy link

@EoF-1141 Hi EoF! I know you helped around ProtoUnite and here, so I'm gonna try my luck!
After building the latest untie project from that fork and extracting, I get the assetbundles but they no longer work on AssetStudio (errors every single file). Is there a work around this or am I doing something wrong?
I've gone too far searching for an answer and couldnt come out with anything 👎

@KillerBOSS2019
Copy link

me too. I am am getting error on every file using AssetStudio with V1.2.1 Pokemon Unite

@SF-Cody
Copy link

SF-Cody commented Jun 15, 2022

Any updates on this one? I managed to get the data for the Android version of the game, altho I still need to decrypt the files itself to actually access it. Anyone know any workarounds that can be applied?

@EoF-1141
Copy link

EoF-1141 commented Jul 5, 2022

@hurdurivan @KillerBOSS2019 @SF-Cody
The AssetBundle Encryption has changed.
Some Bundles (flag 0x400) now have a SecurityKey which is used in place of the AES and SM4 Keys

Updated the Fork to take care of it

@HolunderP
Copy link

So is there any way to get this work currently?

@EoF-1141
Copy link

By adapting it to solve the new crypto of the BlockInfo and adding zstd decompression for the blocks

@PokemonUnite129
Copy link

I don't know, if this conversation is still going on or not?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants