-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
Expand PRX decryption capabilities #12559
Conversation
This is very cool! I'll take a look in detail soon. I'm not sure what you mean by separating the tag data into lists - do you mean that we should keep a list of which GameIDs require which type of encryption, or something else? |
Each tag corresponds to a certain seed/key and a certain decryption routine based on prx type. Currently, since most tags don't have the prx type defined I just go through each decryption routine until there is a successful decrypt. It's not too expensive given that decryption is pretty rare, but it does mean that Since keys are no longer an issue, the only errors that
All of these issues won't be fixed by nicely organising lists and would all give the same error codes anyway. So, its probably not worth doing, unless you like ultra efficiency and some neat organisation :) |
Really cool and something I never hoped to happen If we can decrypt Pauth files as well, |
Hmm, "Evangelion Jo" does not work with it showing "pauth decryption failed", it uses scePauth_F7AA47F6, game returns to main menu on failed decryption(happens after first level).
|
Looks like there was some incomplete keys that took precedence over the complete ones that I added. My updated commit should allow that game to decrypt pauth files. |
Just tried a whole bunch of stuff (that worked before), everything seems fine so far. Seeing no obvious issue with the code, I'm just gonna go ahead and merge. Thanks! |
@hrydgard Yes, that issue is caused by this patch. Since we can now decrypt all prx, the supporting libraries included in games now no longer fail and fall through to whatever executable loading mechanism ppsspp has. |
Right, thanks for diagnosing the problem! |
These patches extend ppsspp's ability to decrypt PRXs. Currently ppsspp is limited to decryption of type 0, 1, 2 and 6 executables of certain keys.
This patch:
I've tested:
Homebrew:
Currently the decryption routine attempts decryption of all types until it is successful. This is not optimal, and ppsspp would be better suited to separate the tag data into lists belonging to the same PRX type.
I'm also not sure if there is additional work to be done for other executable types, but I can add other PRX types easily.
Additionally, for others outside of PPSSPP interested in using these patches, consider it "dual-licensed" under the public domain.