Developer idlesauce has updated ps4-5-eboot-dlc-patcher, a tool that will help with DLC issues on PS4 FPKGs running on PS5s. The tool works by emulating functions from the libSceAppContent library, the library responsible for loading DLC on the PS4. The updates from the past few days should help make more DLCs compatible.
Ps4-5-eboot-dlc-patcher still requires IDA Pro at the moment, so will only be reserved to the selected few who can afford (or get their employer to pay for) the very expensive decompiling tool. Nonetheless, it is seen as the best way to get FPKG PS4 DLC to run on hacked PS5s currently.
What is ps4-5-eboot-dlc-patcher
From the readme:
Patches the eboot to load a custom .prx containing the dlc content ids, and all functions from libSceAppContent
, emulating some of the functions from it:
sceAppContentGetAddcontInfoList
sceAppContentGetAddcontInfo
sceAppContentGetEntitlementKey
sceAppContentAddcontDelete
sceAppContentAddcontMount
sceAppContentAddcontUnmount
sceAppContentGetPftFlag
The other functions are “proxied” to the real libSceAppContent
library. Some of the newer cross-gen games use the libSceNpEntitlementAccess
library, this is currently not emulated, however i plan at least partially support it.
This is made for ps4 fpkgs, running on ps5, where dlc fpkgs dont work, although i guess it might also be useful for games where the main game is unlocked with dlcs so it can all be in one pkg (like some telltale games).
Download and run ps4-5-eboot-dlc-patcher
You can download the tool on the project’s github here.
How to use:
- Extract eboot.bin from update (or base pkg if you dont have an update) and un-fself it.
- Load eboot.elf in IDA (Make sure you select
PS4 - Main Module - ASLR
type when opening, if you dont see this option the eboot.bin might be an fself still) - Wait for analysis to finish. The bar at the top should be mostly blue (Regular functions)
- Go to File->Script file… and select the python script from this repo.
- Follow the instructions, if you see
Patching complete
you’re good. - Extract all files from the update pkg.
- Replace the eboot.bin from the extracted update pkg’s Image0 folder with our patched one (rename to eboot.bin), and place
dlcldr.prx
next to it. - During the patching process you were asked to input a list of content ids. For each of the content ids you entered in the box for
DLCs with extra data
, you’ll need to create a new folder in Image0 nameddlcXX
where XX is the index from 0, in the same order you entered in the textbox. In this new folder youll need to copy the contents of the Image0 folder of the respective extracted dlc. See below for example:GEDLC00000000001 -> dlc00/ TRAUMAPACK000000 -> dlc01/ GEPREDLC00000001 -> dlc02/
- Repack update pkg and you’re done