Join Us and become a Member for a Verified Badge to access private areas with the latest PS4 PKGs.
PS5 CFW and Hacks       Thread starter PSXHAX       Start date Feb 9, 2024 at 9:41 AM       20      
Developer idlesauce on Github released a PS4 / PS5 EBOOT DLC Patcher Python Script crediting @jocover for discovering the functions used to load DLCs intended for use with PlayStation 4 Fake PKGs running on Exploited PlayStation 5 consoles where the PS4 DLC FPKGs currently aren't working. 🤩

Download: ps4-eboot-dlc-patcher-framework-dependent.zip (914 KB) / ps4-eboot-dlc-patcher-linux-arm64 (7.76 MB) / ps4-eboot-dlc-patcher-linux-x64 (7.45 MB) / ps4-eboot-dlc-patcher-win-arm64.exe (6.66 MB) / ps4-eboot-dlc-patcher-win-x64.exe (6.42 MB) / ps4-eboot-dlc-patcher-main.zip / GIT

Spoiler: Depreciated

@BedroZen reports on Twitter he's already working on some patched PS4 games, with further details from the accompanying README.md: PS4-EBOOT-DLC-Patcher

This is intended to be used on PS5 where dlc fpkgs don't work. It automatically patches the eboot (or other executables) to use custom prx which replaces calls to the libSceAppContent library to load dlcs from the base pkg.

Tools
Download
Other OS and arch binaries are available here, along with a framework-dependent version which is cross-platform, but requires the dotnet 8 runtime.

Instructions
  1. Extract the update pkg of the game, or if the game is base only or merged base+update, then extract the Sc0 and sce_sys folders along with the executables to patch. The executables you need will most likely be eboot.bin and other .elf files (most games only use the eboot.bin) (it could also be .prx, but ignore .prx files in the sce_module folder)
  2. Run selfutil on the executables to decrypt them.
  3. For the easiest usage copy all the dlc pkgs and executables into a folder then highlight and drag them onto the ps4-eboot-dlc-patcher exe. (You can also drag just the dlc pkgs onto it and enter the executables paths in the menu, or enter all paths as cli arguments)
  4. Select patch executable(s) and wait for the patcher to do its thing
  5. At the end the patcher will show a list of paths for each dlc with extra data, you'll need to extract the contents of the respective dlc's Image0 into the given folder inside the update's Image0.
  6. The patcher outputs the patched executables in the same folder as the patcher exe/eboot_patcher_output, copy back the executables into the update folder. Make sure you rename the file back to what it was before you ran selfutil since it changes the extension to .elf! The dlcldr.prx always goes into the root of Image0 of the update, even if the executable patches wasn't in that folder.
  7. Repack the update
Limitations
  • Right now only games that rely on libSceAppContent is supported, some newer cross-gen games use libSceNpEntitlementAccess, if this is the case the patcher will give an error, support for this library is doable I just haven't gotten around to it yet.
  • This isn't a limitation of this program, but something to note is that you cannot create update pkgs for remaster type pkgs.
Credits and thanks
Spoiler: Previous README.md

Spoiler: Related Tweets
PS4 PS5 EBOOT DLC Patcher Python Script for FPKGs by IdleSauce.jpg
 

Comments

Hello~ Thank you so much for this new insight :)

After I copy over the PS4 modules files into the root of my IDA folder, whenever I run IDA I get the warning message: IDAPython: error executing init.py: DLL load failed while importing _ida_loader: The specific file could not be found.

This warning message only happens after copying the PS4 module files. After I click okay, it opens the IDA but when I click the eboot.elf file, the option of 'PS4 - Main Module - ASLR' does not show :(

any ideas what could be the problem? I'm on IDA 7.5.

Thank you in advance :)
 
@kimchisoo2 In the PS4 MODULE LOADER archive you have a phyton folder and in this you have another folder named (3) you have to take all the files from this folder and copy them directly to the python folder without having the folder named 3

P.s : sorry for my bad english
 
Although I did get IDA to work with your method @hyndrid, there seems to be an error in the final step of building the package through patch builder :
Code:
ERROR: .*\src\sbl\host\make_fself\gen.c:eek:verwriteSelfInfo(469) illegal elf ex info 0x57

ERROR: .*\src\sbl\host\make_fself\gen.c:genSelfCfg(627) overwriteSelfInfo -38

ERROR: .***\src\sbl\host\make_fself\gen.c:sceSblSelfGenGenSelf(1038) genSelfCfg -38

[Error] Could not convert elf file. (eboot.bin)
Can anyone help? :cry:
 
Back
Top