SHOW:
|
|
- or go back to the newest paste.
| 1 | I'll be refering to mr.gas' old trick for bypassing pfs protection on old fw. Old instructions : | |
| 2 | ||
| 3 | "most of the work are going to be in app.db | |
| 4 | 1- add a value in table tbl_uri like the following | |
| 5 | NPXS10000;1;ux0; | |
| 6 | 2- modify NPXS10000 eboot.bin path in tbl_appinfo to vs0:app/NPXS10027/eboot.bin | |
| 7 | 3- overwrite the modified app.db using email app and reboot | |
| 8 | 4- now use the browser to call the new uri with your target game . example : | |
| 9 | ux0:app/PCSA00017 | |
| 10 | apparently near app will open the game manual. | |
| 11 | 5- minimize near then dump the game using the psp pboot trick and QCMA (while the near app still open) | |
| 12 | 6- end of th story .. and have fun | |
| 13 | . | |
| 14 | tested in fw 3.18 and above | |
| 15 | " | |
| 16 | ||
| 17 | Make these modifications in app.db before following this guide. | |
| 18 | If you want to decrypt cartridges as well, you can also add "NPXS10000;1;gro0;" at step 1. | |
| 19 | ||
| 20 | * PSVita Digital Game/Cartridge Game/DLC/Savedata decryption on 3.60* | |
| 21 | ||
| 22 | It has been reported many times that mr.gas' trick to dump unencrypted files from ux0:app was patched in 3.60, but it's not actually exact. | |
| 23 | What has been patched is the PBOOT.PBP dumper trick. MolecularShell can't access other applications files, that is why applying mr.gas' trick doesn't seem to work on 3.60. | |
| 24 | ||
| 25 | So, how to do it again ? Well, we'll be taking advantage of how the vita handles game updates. | |
| 26 | Game updates are installed in ux0:patch/[TITLEID]. They have the very same structure as ux0:app/[TITLEID]. | |
| 27 | ||
| 28 | Thanks to HENkaku, we can run unsigned eboot.bin. We will basically be hijacking the main game binary with our dumper. | |
| 29 | Install MolecularShell in ux0:patch/[TITLEID] (exact same files as if they were in ux0:app/MLCL00001), where [TITLEID] is the game you want to decrypt (same for cartridges game). | |
| 30 | ||
| 31 | Now, using mr.gas' old trick, open the URI "ux0:app/[TITLEID]" (or gro0:app/[TITLEID] for cartridges) in the webbrowser, minimize the newly opened near app. | |
| 32 | Run the game you want to decrypt, MolecularShell will boot instead. | |
| 33 | ||
| 34 | You can now access ux0:app/[TITLEID], your decrypted game files will be present (or gro0:app/[TITLEID] if you want to decrypt a cartridge). | |
| 35 | You can also access the following locations, where you can find unencrypted files : | |
| 36 | - app0: (basically the same as ux0:app/[TITLEID], but with mixed files from ux0:patch as well) | |
| 37 | - addcont0: (DLC Content) | |
| 38 | - savedata0: (That's where the fun is, unencrypted savegame, you can edit it directly, it should encrypt it back automatically) | |
| 39 | ||
| 40 | * HOW CAN I MOD MY GAME ???! I WANT 18+ PATCHES * | |
| 41 | ||
| 42 | Hehehe, very easy. If you paid attention, you may have noticed we already managed to mod our game, indeed, we replaced its main binary with MolecularShell. | |
| 43 | So, following the same process, you can basically put your modded files in ux0:patch/[TITLEID], FOLLOWING THE SAME STRUCTURE as the original one from ux0:app/[TITLEID]. | |
| 44 | Put the modded files, unencrypted, in ux0;patch/[TITLEID]. If the directory already exists, delete it (or back it up, as you wish). | |
| 45 | Make sure you're not using mr.gas trick here, or the directory won't be writable. Also use the original MolecularShell, you must not be running the game at this point. | |
| 46 | Don't put any sce_pfs directory in ux0:patch/[TITLEID]. You can use sce_sys from MolecularShell. | |
| 47 | ||
| 48 | * Wait, if we hijack the patch directory from our game, doesn't it mean the updates won't be installed anymore ? * | |
| 49 | ||
| 50 | Indeed. To install your updates back, you need to dump an unencrypted version of ux0:patch/[TITLEID], and basically put the unencrypted files as well in your mod. | |
| 51 | Decrypting the ux0:patch/[TITLEID] is really a PAIN IN THE ASS, so I won't explain how to do it here. I managed to do it, if no one figures it out, I'll eventually explain it later. |