Skip to content
s1cp edited this page Aug 5, 2016 · 36 revisions

Welcome to the VitaGuide wiki!

This page will guide you on how you to make an undubbed version of your own Persona 4 GOLDEN game. This guide covers both the physical and digital versions of the game.

The cutscene undub is being worked on.

The steps in this guide were written so that you can also learn how to mod other games.

Installing Henkaku

  • Make sure your Vita is on firmware version 3.60.
  • Go to henkaku.xyz on your Vita.
  • A popup will appear, touch the "Ok" button and wait for the browser to close.

If the browser crashes, try deleting cookies, rebooting and rebuilding the database.

If you've done everything correctly, there should now be a molecularShell bubble on your Vita menu. You can use it to access your files, install .vpk homebrew and host a FTP server on your Vita.

Dumping your game

For this, we need to get the game's files while they are decrypted by the Vita. To do this, we trick the system into opening the game's manual and replacing the game's eboot.bin with molecularShell's one.

Dumping app.db

  • Open molecularShell and press Select to start the FTP server. Make sure your Wi-Fi is turned on.

  • Open your favorite FTP client on your computer and connect to your Vita.

Recommended settings for Filezilla:

File -> Site Manager Edit -> Settings -> Filetypes

  • Go to ur0:/shell/db and copy the app.db file to your computer.

FTP clients like FileZilla uses the ur0:/folder/ notation. When working with files using the Vita itself, use the ux0:folder/ notation.

Make sure to make a backup copy of this file.

Tip: If you lose this file and want to "fix" your app.db, you can just turn on your Vita while holding the R button and select "Rebuild Database".

Modifying app.db

If you're using a PS TV, use NPXS10072 instead of NPXS10000 in the following steps.

  • In SqliteBrowser, open the app.db you just copied.

  • Click on the "Browse Data" tab, click the dropdown menu and select tbl_uri.

  • Click on "New record" on the top right.

Note the new blank space below the existing entries.

  • On titleId, type NPXS10000.

  • On flag, type 1.

  • On scheme, type ux0 if you're dumping a digital game, gro0 if you're dumping a physical game.

  • Click on the dropdown menu and select tbl_appinfo.

  • Find all titleId corresponding to NPXS10000 by typing its name on the filter text box.

  • Now we look at the val column to find the one that ends in eboot.bin.

  • Double click the path we just found and change it to vs0:app/NPXS10027/eboot.bin.

  • Now open your FTP client on your PC and browse the ur0:/shell/db directory.

  • Delete the existing app.db on your Vita, and copy the one you just modified back to your console.

  • Reboot your Vita.

Remember that you have to reinstall Henkaku every time you reboot your console.

Modifying eboot.bin

On the Vita, game updates are installed in ux0:patch/[TITLEID], with TITLEID being the ID of the game you want to dump. They have the very same structure as ux0:app/[TITLEID]. That means that the Vita will prioritize the files that are installed in ux0:patch/[TITLEID] because it thinks it's an update file for that game. With this behavior in mind, we can modify the eboot.bin of the game with the molecularShell one so that we can dump the game's files over FTP, simply by putting molecularShell's files in ux0:patch/[TITLEID].

  • Copy the contents of ux0:app/MLCL00001 to your computer. These are the molecularShell's files.

  • Now copy the contents of MLCL00001 to ux0:patch/[TITLEID], where [TITLEID] is the game you want to decrypt. In our case, the files should be put in:

ux0:patch/PCSE00120 for the American version.

ux0:patch/PCSB00245 for the European version.

If the game you want to decrypt uses update files, you'll have to delete them before putting molecularShell's files in ux0:patch/[TITLEID] and dump the original game without the patches.

Dumping the game

  • Open the web browser on your Vita.
  • Type ux0:app/[TITLEID] on the address bar and press the Enter/Return key. (Use gro0 instead of ux0 if you're dumping a physical game.). The Near app will open and inside it there will be your game's manual. If you've followed the steps for the PS TV, the Mail app will open.

Tip: If the Near/Mail app doesn't open, make sure you've edited your app.db file correctly and that you've typed the correct address in the web browser. You must only edit either ux0 or gro0 in the app.db, not both at the same time. You can also try opening it normally before doing so with the web browser.

  • Press the PS button to return to the menu.
  • Launch the game you want to dump. molecularShell will open instead.

You can now access ux0:app/[TITLEID], where your decrypted game files will be present. Use any FTP client you like on your PC to dump the game files to a safe location. (Again, make sure to use gro0 instead of ux0 if you're dumping a physical game.)

You can also access the following locations:

  • app0: (basically the same as ux0:app/[TITLEID], but with mixed files from ux0:patch as well)
  • addcont0: (DLC Content)
  • savedata0: (decrypted save game, it should encrypt it automatically when you put it back)

Unpacking the files

Download these tools first.

After you've got your decrypted game files, store them in a safe place. Try not to change the original files and make a copy of what you are modding to keep things organized and to avoid copying the game's files again. Keep the folder structure intact because we'll need that later to patch the game.

Make 2 folders for your .cpk extraction, one for the English version and another for the Japanese version. You can a Japanese dump at the Amicitia forum. I won't link directly to it because that would be considered piracy.

Extract cpk_unpack.zip, open the Windows CMD on the extracted folder, and type: cpk_unpack "Location of your data.cpk"

Example: cpk_unpack C:\Users\User\Documents\PCSE00120\data\data.cpk

The program will extract the .cpk's contents in a folder inside its own directory.

Do the same for the Japanese version.

Store the extracted contents in a separate folder. In our case, we could use something like extracted_us and extracted_jp.

If you're working with an European version of the game, use extracted_eu to clear up some confusion.

Replacing the files

Now, create a new folder. This folder will be the one where we will replace the sound files from the American/European version with the ones from the Japanese version of the game. We will be calling it extracted_undub

  • Copy all the contents from the extracted_us (or extracted_eu) folder to extracted_undub. That will be our "base" game.
  • Copy the sound folder from extracted_jp to extracted_undub and merge/replace all the files.
  • Copy the model\pack folder from extracted_jp to extracted_undub\model and merge/replace all the files. This will fix some battle voices still being in English.

Repacking

Uncompressed method

This method repackages the files uncompressed, taking almost 3gb of space. I decided to keep it because it uses a GUI and is more user friendly.

For the compressed method, go to the next section.

  • Extract the CriPackedFileMaker.zip file included in the "tools" download provided before.

  • Run CriPackedFileMaker.exe

  • Change the base directory by clicking on the folder icon on the top, and sekect the extracted_undub folder.

  • If all the files are there, you can click the "Build CPK file..." button.

  • Leave everything just like the following picture:

Correct settings

  • Click "Start to Build"

  • After it has finished packing the files, open CriPackedFileMaker.exe again.

  • Click on the top right button that says "Open a CPK file" and select your newly packed data.cpk.

  • Verify if it shows info similar to the following ones:

Info

  • If everything seems correct, we can now put the file back on the Vita.

Compressed method

This method repackages the files compressed, taking almost half the space the file from the uncompressed method takes.

  • Extract the CriPackedFileMaker.zip file included in the "tools" download provided before.

  • Copy cpkmakec.exe and CpkMaker.DLL to the extracted_undub folder.

  • Download this .csv file.. Rename it to data.csv put it inside the extracted_undub folder.

  • Hold CTRL+SHIFT and right click on an empty space inside the folder. Click "Open Command Window Here". Or just cd into the extracted_undub folder using CMD.

  • Type the following into CMD. The program will now repack all your files into a data.cpk file inside the extracted_undub folder:

cpkmakec data.csv data.cpk -align=2048 -mode=FILENAME -code=UTF-8

  • After it has finished packing the files, open CriPackedFileMaker.exe.

  • Click on the top right button that says "Open a CPK file" and select your newly packed data.cpk.

  • Verify if it shows info similar to the following ones:

Info

  • If everything seems correct, we can now put the file back on the Vita.

Copying back

To mod Vita games we can't just replace the files in ux0:/app, we need to put the modified files in ux0:/patch.

Persona 4 GOLDEN uses a single .cpk file for all its contents besides the manual and videos, so we need to copy the entire data.cpk we just created to our Vita until another solution is found. This makes the game take up twice the original space, so make sure you have enough space left.

You can try zeroing the data.cpk found in the app folder as it will probably only look for the one in the patch folder, but I haven't tested that. If it works, you can save a lot of space.

Make sure you have a param.sfo file inside the sce_sys folder at ux0:patch/[TITLEID]/sce_sys or else the game won't boot. You can use the one from molecularShell located at ux0:/app/MLCL00001if you're modding the digital version.

If you're modding the physical version of the game, we can't use molecularShell's param.sfo, you have to get the param.sfo file from your decrypted game dump we did before. Open the file in a Hex editor or a param.sfo editor and increase the version number of your game, like 1.01. After doing this, put the edited param.sfo file in ux0:patch/[TITLEID]/sce_sys.

It should look like this for Persona 4 GOLDEN:

ux0:/patch/PCSE00120/sce_sys for the American version.

ux0:patch/PCSB00245/sce_sys for the European version.

We put the modified files in ux0 regardless if we're using a physical or digital game.

_Don't forget to delete the other molecularShell files from the ux0:/patch/[TITLEID] directory and to restore the original app.db backup we made earlier. We should also reboot after restoring app.db and copy the file back with the game closed. Don't put any sce_pfs directory in ux0:patch/[TITLEID]. Remember that you can use the sce_sys folder from molecularShell if you're modding the digital version.

We put the new data.cpk created from the files of extracted_undub inside ux0:/patch/[TITLEID]/data

Done

The game should now boot and you can now play Persona 4 GOLDEN with Japanese voices.

You can try experimenting with the .mp4 files from the dumped game. It's possible to sub them and convert them back. You just have to use the same encoding options and put the file in the same structure as the game folder inside app, but inside the patch folder.

Patch File

Easier steps with a Xdelta patch. You select your data.cpk, the patch, open xdeltaUI, go to "Apply patch", select the correct files and it's done. MD5 hash included in README.txt.

You now have the undubbed data.cpk with just a few clicks.

American version

NEW 2.0 Patch (753,6 MiB) (Compressed, battle voices fixed) Magnet link: magnet:?xt=urn:btih:0f5b5b174fe91f59552ccfdc645b5f74c72665cc&dn=Persona%204%20GOLDEN%20Undub%20Patch%202.0

The final American patched data.cpk file should have the following md5 hash: 59a8b4c32ddfdb238f546120b6c494c3

(OUTDATED: Missing voice battles) Magnet link: magnet:?xt=urn:btih:95cfc0d9d3cd3b0e29ec19c3792351820c6798ad&dn=P4G%20Undub%20Patch

This patch file was not tested, but it should work.

European version

You can convert the American patch to the European patch easily by using another patch.

Download this .xdelta file.

Patch the American Version patch previously mentioned (.xdelta file) with this patch.

It will generate a new .xdelta file. This will be the patch for your European data.cpk file.

The final European patched data.cpk file should have the following md5 hash: d889e16b842e69ec2b7cd5a19f3e3fc0

Help

If you have any questions, feel free to send me a tweet @Some1CP.

Credits

Thanks to:

  • @regularpanties (for providing the japanese rip).
  • Mr. Gas and Major Tom for the dumping/mod process.
  • The Henkaku devs for providing a new way to run homebrew.
  • @RyanShrinefox (for the tips on compression and battle voices).