Tutorial  Updated

PS5 Exploit Guide

PS5 Hack Status:


FW Ranges:
2.XX = PS4/5 backups (KEX+HV+Linux) + keys exploit (WK: 2.50 best / 2.7X max)
3.XX = PS4/5 backups (KEX+HV+Linux) + keys exploit (WK/BD/LUA: 3.20 best / 3.21 max)
4.XX = PS4/5 backups (KEX+HV+Linux) + keys exploit (WK/BD/LUA (Y2/NF/YARPE 4.03+): 4.50 best / 4.51 max)
5.XX = PS4/5 backups (KEX+HV+Linux) + keys exploit (
WK/BD/Y2/NF/LUA/YARPE: 5.50 best + max)

6.XX = PS4/5 backups (KEX+HV+Linux) (BD/Y2/NF/LUA/YARPE: 6.50 max)
7.XX = PS4/5 backups (KEX+HV+Linux) (
WK/BD/Y2/NF/LUA/YARPE: 7.61 best + max)
8.XX-10.00 = PS4/5 backups (KEX+HV+Linux) (WK/BD/Y2/NF/LUA/YARPE)
10.01-12.70 = PS4/5 backups (KEX+HV+Linux) (
WK/BD/Y2/NF/LUA/YARPE)
13.XX-13.60 = PS4/5 backups (KEX+HV+Linux) (
WK/BD(13.42)/Y2/LUA/YARPE)
14.XX = No public KEX, HV/A53 patched in 14.20, UL ONLY (LUA/YARPE)

NOTE 1: Recommended firmware is subjective. Staying low is always recommended.
NOTE 2: Do not update too many major versions (e.g., 4.xx to 5.xx or 7.xx to 8.xx). Remain low unless all you want is backups.
NOTE 3: P2JB can take over an hour to exploit on FW up to 12.70.


Hypervisor (HV):
Highest released HV: 13.60
Highest unreleased HV: 14.00
*unreleased/unimplemented


Kernel (KEX):
Highest released KEX:
13.60 (ReLapse)
Highest unreleased KEX: 14.10 (Gezine)
UMTX2:
1.00-7.61 (*WK to 5.50 / BDJB to 7.61)
Lapse: 1.00-10.01
Relapse: 7.00-13.60
Poopsploit:
4.03-12.00 (*BD to 12.00)
P2JB: 9.00-12.70 (*WK: Lapse to 10.01 / P2JB to 12.70)

Userland (UL):
Webkit: 1.00-5.50 (PSFREE +UMTX2) / 7.00-13.60 (RELAPSE) (Recommended)
LUA (Artemis): 2.00-LATEST (LUA exploit, + Lapse up to 10.01)
Y2JB: 4.03-13.40 (YouTube exploit, + Lapse: 10.01 / P2JB: 12.70)
NFNH: 4.03-12.XX (Netflix exploit, + Lapse: 10.01)
YARPE: 4.03-12.XX (Ren'Py exploit, + Lapse: 10.01 / P2JB: 12.70)
BD-JB: 1.00-13.42 (BD exploit + UMTX2: 7.61 / BD-JB5 + Poops to 12.00) (14.XX SOON)
Mast1C0re: 1.00-7.61 (Depreciated for LuaC0re)
LuaC0re: 1.00-12.70 (Poops: 4.03-12.00/P2JB: 9.00-12.70)
REDIS: 1.00-5.50 (Jordy's untethered JB on boot)

NOTE 1: A userland entry point (UL) chained to kernel exploit (KEX) is required to exploit your console at bare minimum.
NOTE 2: Consoles 7.00-13.60 should now use WebKit and RELAPSE (Recommended)


Useful Applications:
FPKG: 3.00-11.60 (KStuff Lite) / 12.XX-13.60 (KStuff-NG SOON)
Kstuff Lite: 3.00-12.70
HERE
Kstuff Toggle: 3.00-12.00 HERE
PS5 App Dumper: 3.00-13.60 HERE
Dump Runner: 3.00-12.00 HERE
Dump Installer: 3.00-12.00 HERE
Backporting: Possible (backpork / Porkfolio)
PS4/PS5 DLC: Work with Kstuff Lite
Trophies: Work with Kstuff Lite
Compression: Works with Kstuff Lite
Homebrew Enabler: etaHEN (3.00-10.01) latest HERE
PS5 Backup manager: ItemzFlow Compatibility list: HERE
PS4 Backup Loading: Works (rest mode & backports work, can crash).
PS5 Debug NG: 3.XX-13.XX
HERE
PS5 Remote Play: Works HERE & HERE
PS5 Trainers/Cheats: Work

UART:
HERE
Linux: (OG: 3.00-13.60) HERE
Kldload (wip): 3.00-6.50 HERE
PSN access: NEVER
Latest OFW: 14.22 (2/11/26)
Summarised OFW/Model guide: HERE
1.XX-7.61 compatibility list:
HERE
PS5 SDK Repo: HERE
Legit PKG Updates: HERE or HERE
OFW Updates: HERE (history HERE)

Preparing Your Console:


It is recommended to either self-host offline or block these addresses in your router to avoid accidental updates or getting an update nag. Using the DNS method is no longer failsafe, as these are not guaranteed to be running 24/7.


dau01.ps5.update.playstation.net
dbr01.ps5.update.playstation.net
dcn01.ps5.update.playstation.net
deu01.ps5.update.playstation.net
dhk01.ps5.update.playstation.net
djp01.ps5.update.playstation.net
dkr01.ps5.update.playstation.net
dmx01.ps5.update.playstation.net
dru01.ps5.update.playstation.net
dsa01.ps5.update.playstation.net
dtw01.ps5.update.playstation.net
duk01.ps5.update.playstation.net
dus01.ps5.update.playstation.net
fau01.ps5.update.playstation.net
fbr01.ps5.update.playstation.net
fcn01.ps5.update.playstation.net
feu01.ps5.update.playstation.net
fhk01.ps5.update.playstation.net
fjp01.ps5.update.playstation.net
fkr01.ps5.update.playstation.net
fmx01.ps5.update.playstation.net
fru01.ps5.update.playstation.net
fsa01.ps5.update.playstation.net
ftw01.ps5.update.playstation.net
fuk01.ps5.update.playstation.net
fus01.ps5.update.playstation.net
hau01.ps5.update.playstation.net
hbr01.ps5.update.playstation.net
hcn01.ps5.update.playstation.net
heu01.ps5.update.playstation.net
hhk01.ps5.update.playstation.net
hjp01.ps5.update.playstation.net
hkr01.ps5.update.playstation.net
hmx01.ps5.update.playstation.net
hru01.ps5.update.playstation.net
hsa01.ps5.update.playstation.net
htw01.ps5.update.playstation.net
huk01.ps5.update.playstation.net
hus01.ps5.update.playstation.net
sgst.prod.dl.playstation.net
gs2.ww.prod.dl.playstation.net

Alternative DNS IP:
62.210.38.117 - User Guide = ES7in1
or
45.56.67.85
(Leave DNS 2 blank)

To determine your OFW version:
Go to settings > system > console information.

Version string info:
Year.Half (1st/2nd half of the year)-Major Version No.Minor Version No.Extended info-Further Info.Retail/Debug

21.02-04.03.00.00-00.00.00.0.1

It is recommended to keep your console as low as possible to have access to better jailbreak stability and features. Stay as low as possible within the "Golden" firmware brackets that apply to your current firmware, see the top of this page.

(No jailbreak is ever guaranteed. No developer is obliged to release anything publicly)

WARNING:

Only update OFW manually via USB by getting the firmware file from HERE and installing from <USB>:/PS5/UPDATE/PS5UPDATE.PUP
(Updating with RECOVERY PUP will perform a factory format and will wipe your internal HDD)

PS5 factory mode PUP installation path:
/usb/PROSPERO/UPDATE/PROSPEROUPDATE.PUP

NOTE: Make a system back up before attempting any modifications.
On console: go to [Settings] > [System] > [System Software] > [Back Up and Restore] > [Back Up Your PS5]

Select Your Jailbreak:


WEBKIT:BD-JB:LUA:Y2JB:NFNH:YARPE:LuaC0re:BD-UN-JB:


  1. Information:
    Firmware 1.00-5.50 or 7.00-13.60 is required for the webkit exploit.

    Enabling web browser:
    Open [Settings] > select [Users & Accounts] > select [YouTube] > click "Link" > click "use browser" > click "terms" (bottom right) > click google apps icon (top right) > select Google Search.

    Exploiting 1.00-5.50:
    Enter https://zecoxao.github.io/luasauce/ or https://github.com/kmeps4/PSFree into google > click “Jailbreak" or wait for it to complete.

    Exploiting 7.00-13.60:

    https://ntfargo.github.io/Relapse-Exploit/

    https://zecoxao.github.io/bagagwa/

    https://soniciso1.github.io/poopicker/

    Debug settings will be loaded, and the package installer can be found under [SETTINGS] > [DEBUG SETTINGS].

  2. Important:
    You will need a BD dive paired to your Slim/Pro console or an OG Phat model . Consoles must be on 1.00-13.42 to run this exploit.


    Recommended ISO: Viktorious AIO Auto BD-JB ISO for 4.XX-7.61

    Exploiting: 1, Burn ISO to a blank BD-R or BD-RE > Insert into console > click on the [DISC PLAYER] icon.

    2, Highlight [PIPELINE RUNNER] > click option 2 [Normaljailbreak-etaHEN-UMTX1.pipe] to auto load etaHEN ready for ItemzFlow.

    ELF Loader uses PS5 IP: port 9021 / BIN loader uses 9020 / Jar loader uses port 9025

    Debug settings will be loaded, and the package installer can be found under [SETTINGS] > [DEBUG SETTINGS].

  3. Important:
    LUA entry point works from 2.00 to the latest OFW, but there is no KEX above 12.70 yet.
    (A compatible PS4 game is required to launch the exploit on PS5. See below)

    Your PS5 console must be activated to use save copying for PS4 games.
    1. Insert your game disc and, as soon as possible, make a save file within it.
    2. Copy the save files to USB, go to [SETTINGS] > [STORAGE] > [CONSOLE STORAGE] > [SAVE DATA] > [PS4 GAMES] > select the game save and copy to a USB drive.
    3. On PC, using a Google Drive account, make a new folder with the GAME ID of your game, and upload the savedata & savedata.bin files to that folder.
    4. Share the folder, set it to editor mode, share with anyone, and click "copy the link".
    5. Join the HTOS Discord group: HERE type "/decrypt", select "FALSE" for including SCE_SYS, paste or type in the Google Drive link, and press enter. The bot should begin mounting your save. (If it doesn't, paste in the link again.)
    6. Click "ENCRYPTED" to remove the Sony PFS layer. Download the generated files and extract the folder to your desktop (you should have 4 files in there and be named dec_savedata_CUSA[GAME ID]).
    7. Using REMOTE LUA LOADER, open the savedata folder, copy the 20 files within into your encrypted save folder on your desktop.
    8. Upload the encrypted save folder (now with 24 files in) to your Google Drive. It should be named "dec_savedata_CUSA[GAME ID]" where GAME ID is your games 5 digit number, and set it to editor mode, share with anyone, and then click "copy the link".
    9. Go back to the HTOS discord server, and type "/encrypt", hit "FALSE" for uploading individually, and "FALSE" to include SCE_SYS. Finally, hit shared_gd_link and paste in your link to the original save (4 files) folder. (If it doesn't, paste in the link again.)
    10. When this is done, paste the link to the decrypted save (24 files) folder, and the bot will encrypt the files.
    11. Resign the files by typing "/resign" followed by your account name on the console, or PSN ID associated with that account if using the latest OFW.
    12. Download the resigned files, extract the files to your USB drive and overwrite them into the savedata folder on your USB or external drive.
    13. Copy the saves back to your console [SETTINGS] > [SAVE DATA AND GAME/APP SETTINGS] > [SAVE DATA PS4] > [COPY OR DELETE FROM USB] > [COPY TO CONSOLE STORAGE] > select your game save folder from the USB drive and copy/overwrite old save data.
    14. Load LUA game again, and you should see the LUA LOADER screen.
    15. You can use "SEND_LUA.PY" to send the UMTX files to the loader.
    (NOTE: Some games require manual loading of save game)

    On firmware up to 7.61, you can now load UMTX/2 followed by etaHEN by sending the files to your console IP on PORT 9026.
    On firmware 8.00-LATEST, you can connect with the REMOTE LUA LOADER APP to send debug notifications or FTP on port 1337.

    LUA Loader: HERE or HERE

    Auto LUA Loader Fork: HERE

    Compatible LUA games:
    Aerial Life (CUSA17122)
    Aibeya (CUSA17068)
    Aikagi 2 (CUSA19556)
    Aikagi Kimi to Issho ni Pack (CUSA16229)
    Aikano Yukizora no Triangle (CUSA19370)
    Boku to Nurse no Kenshuu Nisshi (CUSA12049)
    Boku to Joi no Shinsatsu Nisshi (CUSA18107)
    Fuyu Kiss (CUSA29745)
    Hamidashi Creative (CUSA27389)
    Hamidashi Creative Demo (CUSA27390 requires the latest OFW to download from PSN)
    Haruoto Alice (CUSA14324)
    IxSHE Tell (CUSA17112)
    IxSHE Tell Demo (CUSA17126)
    Jinki Resurrection (CUSA25179)
    Jinki Resurrection Demo (CUSA25180 requires the latest OFW to download from PSN)
    Maid-san no Iru Kurashi (CUSA18106)
    Nora Princess and Stray Cat Heart HD (CUSA13303: Rename save9999.dat into nora_01.dat)
    Nora Princess and Strat Cat Heart 2 (CUSA13586)
    Raspberry Cube (CUSA16074)
    Winter Guest (CUSA11977)

    WARNING: using demos is free but can become corrupt, and you cannot upgrade your internal HDD either. If you lose the demo you can no longer use the exploit. Disc recommended.

    Incompatible LUA games:

    Dokyusei Remake Csver (CUSA47117)
    Dōkyūsei: Bangin' Summer - Home Edition Demo (CUSA47132)
    Kiss Trilogy (CUSA19341)
    Love Clear Demo (CUSA18109)
    Mikagami Sumika no Seifuku Katsudou (CUSA11481)
    Sen no Hatou, Arazone no Hime (CUSA09647)
    Tonari ni Kanojo no Iru Shiawase: Two Farce (CUSA09825)
    Tonari ni Kanojo no Iru Shiawase Summer Surprise (CUSA18998)

    Debug settings will be loaded, and the package installer can be found under [SETTINGS] > [DEBUG SETTINGS].

  4. Requirements:
    PS5 console must be on 4.03-12.70 and previously activated through PSN or fake activated to use the YouTube app, unless you're restoring a backup.
    (Note: restoring a backup will factory reset your console).

    Information:
    If updating and older installation, download the latest download0.dat > use FTP or PS5 Explorer to place it in the user/download/PPSA01650 folder.

    Preparation:
    Download the Y2JB_backup_X.X(4.03) if you're on 4.03-12.40, or the Y2JB_backup_X.X(12.20) if you're on 12.60 or higher from HERE
    On PC: format a USB 3.0 HDD to exFAT, and copy the PS5 folder from the backup to the root, and put the latest nanodnf.efl from nanoDNS to the root too.
    On console: go to [Settings] > [System] > [System Software] > [Back up and Restore] > [Restore] > select the y2JB back up & let it install (the console will reboot when complete).
    (Note: The exploit will now be accessible under the [MEDIA] tab)

    Exploiting:
    Going to [Settings] > [Network] > [Settings] > [Set up Internet Connection] > [Set up Manually] > set up a wireless or LAN connection > change [DNS Settings] to manual > change [Primary DNS] to 127.0.0.1 > click [Done] > open the [YouTube App].
    (Note: Ignore and internet connection issue warnings)

    Firmware up to 10.01 will use Lapse Kernel Exploit. Firmware 10.20-12.70 and above will use P2JB and could take up to an hour.

    You can send payloads using netcat GUI to PS5's IP Address & port 9021.

    You can swap the download0.dat to itzPLK version for auto loading and payload manager in future (payload manager accessible through browser on 127.0.0.1:8084)

    Debug settings will be loaded, and the package installer can be found under [SETTINGS] > [DEBUG SETTINGS].

  5. Requirements:
    PS5 console must be on 4.30-10.01 and previously activated through PSN or fake activated. You will need a 256GB external HDD (minimum).

    Preparation:
    Download balenaEtcher
    Download the latest Extended Storage or M.2 Image (select your m.2's capacity)

    EXTERNAL DRIVE METHOD (Netflix_PS5_EU_Ext.7z):
    1a, On PC: connect your 256GB (min) USB drive to your Windows/Mac/Linux PC > extract the image to your computer > open Etcher > click [Flash From File] & select the extracted image *.zip > click [Select Target] & choose the external drive > Click [Flash!] & allow it to complete.
    (Note: 256GB is the smallest drive you can use)

    2a, On console: click [Settings] > [Storage] > [USB Extended Storage] > [Games and Apps] > press X on [Netflix] > select [NETFLIX] under items to move > select [Move] > move to internal storage & allow it to complete.
    (Note: The exploit will now be accessible under the [MEDIA] tab)

    INTERNAL DRIVE METHOD (Netflix.XXXXGB.7z):
    1b, On PC: connect the M.2 to your Windows/Mac/Linux PC > extract the image to your computer > open Etcher > click [Flash From File] & select the extracted image *.zip > click [Select Target] & choose the external drive > Click [Flash!] & allow it to complete.
    (Note: 4TB will take 80 mins, 2TB 45 mins, 256GB 10 mins)

    2b, On console: Power off the console > insert the M.2 SSD > power on the console > click [Settings] > [Storage] > press X on [Netflix] > select [NETFLIX] under items to move > select [Move] > move to internal storage & allow it to complete.
    (Note: The exploit will now be accessible under the [MEDIA] tab).

    Exploiting:
    1a, for consoles 10.01 and below, on console: go to [Settings] > [Network] > [Settings] > [Set up Internet Connection] > [Set up Manually] > set up a wireless or LAN connection. Go to Proxy > change [Automatic] to [Manual] > enter Address: 172.105.156.37 & port: 42069 > click [Done] > open the [Netflix App].
    (Note: Ignore and internet connection issue warnings)

    1b, for consoles 10.20-12.70, COMING SOON.

    Debug settings will be loaded, and the package installer can be found under [SETTINGS] > [DEBUG SETTINGS].

  6. Important:
    YARPE works from 4.30 to 12.70 (9.00 - 12.07 via P2JB)
    (A compatible PS4 game is required to launch the exploit on PS5. See below)

    Requirements:
    PS5 console must be on 4.30-10.01 to use this exploit.

    Exploiting:
    coming soon

    Debug settings will be loaded, and the package installer can be found under [SETTINGS] > [DEBUG SETTINGS].

  7. Requirements:
    PS5 console must be on 4.30-12.70 to use this exploit. SWRR

    Exploiting:
    coming soon

    Debug settings will be loaded, and the package installer can be found under [SETTINGS] > [DEBUG SETTINGS].


  8. [UPDATED]
    No longer needed if using latest WebKit (to 13.60) or BD-JB (to 13.42)!


    Important:

    This method modifies the BD-J stack to allows BD-JB entry point to be re-enabled on consoles up to 13.60, for convenience only.

    Very Important:
    This method requires your console to be jailbroken by another method first to gain access to alter the files.

    https://github.com/Gezine/BD-UN-JB

    Preparation:
    Burn the ISO to a blank Blu Ray, insert it into the jailbroken console. Send the bdj_unpatch.elf to elfldr using netcat GUI to PS5's IP Address & port 9021 to unpatch BD-J.

    (NOTE: DO NOT REINSTALL/UPDATE FW, IT WILL WIPE THE PATCH AND LOSE BD-JB)


Once jailbroken it is recommended to run KSTUFF LITE and SHADOWMOUNTPLUS at minimum to get you up and running.
(ShadowMountPlus: is an automated background auto-mounter payload for jailbroken PS5 consoles. Detects, mounts, and installs game dumps from internal or external storage, with support for UFS, exFAT, PFS, and nested compressed PFS containers)

Additional Information:


Blocking Updated with nanoDNS:
Set primary DNS manually to 127.0.0.1. Send latest elf to BIN LOADER using netcat GUI to PS5's IP Address & port 9021.

PS4 GAME INFORMATION:
OFW 1.xx cannot run PS4 games.
OFW 2.xx runs PS4 games up to 8.03

OFW 3.xx runs PS4 games up to 8.52
OFW 4.xx runs PS4 games up to 9.04
OFW 5.xx runs PS4 games up to 9.60
OFW 6.xx runs PS4 games up to 10.50

OFW 7.xx runs PS4 games up to 11.00
OFW 8.xx/9.xx runs PS4 games up to 11.50
OFW 10.xx runs PS4 games up to 12.00

OFW 11.xx runs PS4 games up to 12.50
OFW 12.xx runs PS4 games up to 13.00
OFW 13.xx runs PS4 games up to 13.42
OFW 14.xx runs PS4 games up to 14.00


(Note: PS4 backported FPKGs also work perfectly on an exploited PS5 with Kstuff)


You can install free/demo PKGS (legit pkgs) via the debug pkg installer, provided you have all the files/json/licences required.
(Astro’s Playroom has no licences and can be installed and played from official pkgs and updated inline with your firmware)

Warnings:


1: Never enable IDU mode.
If you do, you will need to enter staff mode by holding L1 + L2 and tapping this combo: circle, cross, square, triangle, right D-Pad. Release L1 + L2, and you can access settings to exit IDU.

2: Try to stay on the lowest FW possible and wait for hacks on that firmware.

3: Installing legit game PKGs you do not own will never work, even if spoofed.

4: If you get stuck in a boot loop at the PS logo, the SNVS is corrupted (if the hash check fails on boot, this causes a “soft brick”). It’s not “bricked”. Simply reinstall your current firmware RECOVERY PUP in safe mode from USB: PS5 > UPDATE > PS5UPDATE.PUP.

Archived Information


 
Last edited by KiiWii,
Wish to know how to fix my game dumps like Gran Turismo 7 (disc game, EU, 01.710.000, dumped with PS5 App Dumper).
Dumped with settings: View attachment 601867 The error information: View attachment 601868

Btw. i attached ampr-emu to newly created /fakelib/ folder but that's not fixing it.

Here's ShadowMountPlus logs:
Code:
[22:10:42]   [LINK] nullfs mounted: /data/homebrew/PPSA01316-app0_Gran_Turismo_7 -> /system_ex/app/PPSA01316
[22:10:42]   [SHELLCORE] launch mount ready: PPSA01316
[22:10:42]   [FAKELIB] game mounted for PPSA01316: /data/homebrew/PPSA01316-app0_Gran_Turismo_7/fakelib -> /mnt/sandbox/PPSA01316_000/SnGrrCzw2C/common/lib
[22:10:42]   [FAKELIB] directory mounted for PPSA01316: /data -> /mnt/sandbox/PPSA01316_000/data
[22:10:42]   [FAKELIB] directory mounted for PPSA01316: /mnt/usb0 -> /mnt/sandbox/PPSA01316_000/mnt/usb0
[22:10:42]   [FAKELIB] directory mounted for PPSA01316: /mnt/ext1 -> /mnt/sandbox/PPSA01316_000/mnt/ext1
[22:10:42]   [FAKELIB] directory mounted for PPSA01316: /preinst/common/font -> /mnt/sandbox/PPSA01316_000/preinst/common/font
[22:10:42]   [SHELLCORE] sandbox ready handled: PPSA01316
[22:10:42]   [SHELLFLAG] SceLncUtilSystemStatus poll rc=0x80020010
[22:10:43]   [GAME] started: PPSA01316 pid=136 app_id=0x00000018
[22:10:43]   [MDBG] log monitor ready: PPSA01316 buffer_size=0x20018
[22:10:43]   [MDBG] monitoring game errors: PPSA01316 pid=136 for up to 60 seconds
[22:10:43]   [DB] loaded app.db title list: 44 entries
[22:10:43] NOTIFY: Zastosowano emulatory w grze: PPSA01316
[22:10:43]   [DB] loaded blocked PPSA uninstall list: 0 entries
[22:10:43]   [SHELLFLAG] SceShellCoreUtilAppFocus value=0x0000000000000018 delta=0x000000000000001F low32=0x00000018 high32=0x00000000 decoded=APP_ID=0x00000018
[22:10:43]   [MDBG] game error: PPSA01316 pid=136: signal: 11 (SIGSEGV)
thread name: eboot.bin
reason: page fault (user write data, page not present)
fault address: 0x00000007eedfbff8
RIP: 0x000000080030abd2
[22:10:43] NOTIFY: Błąd w grze PPSA01316:
signal: 11 (SIGSEGV)
thread name: eboot.bin
reason: page fault (user write data, page not present)
fault address: 0x00000007eedfbff8
RIP: 0x000000080030abd2
[22:10:44]   [SHELLFLAG] SceShellCoreUtilAppFocus value=0x0000000000000007 delta=0x000000000000001F low32=0x00000007 high32=0x00000000 decoded=APP_ID=0x00000007
[22:10:45]   [SHELLFLAG] SceLncUtilSystemStatus value=0x0000000000000002 delta=0x0000000000000000 low32=0x00000002 high32=0x00000000 decoded=SHELLUI_FG_GAME_BG_CPU_MODE
[22:10:45]   [FAKELIB] game stopped: pid=136 title=PPSA01316 layers=8
[22:10:45]   [FAKELIB] directory unmounted: /preinst/common/font -> /mnt/sandbox/PPSA01316_000/preinst/common/font
[22:10:45]   [FAKELIB] directory unmounted: /mnt/ext1 -> /mnt/sandbox/PPSA01316_000/mnt/ext1
[22:10:45]   [FAKELIB] directory unmounted: /mnt/usb0 -> /mnt/sandbox/PPSA01316_000/mnt/usb0
[22:10:45]   [FAKELIB] directory unmounted: /data -> /mnt/sandbox/PPSA01316_000/data
[22:10:45]   [FAKELIB] game unmounted: /data/homebrew/PPSA01316-app0_Gran_Turismo_7/fakelib -> /mnt/sandbox/PPSA01316_000/SnGrrCzw2C/common/lib
[22:10:45]   [GAME] process exited, awaiting same-app handoff: PPSA01316 pid=136 app_id=0x00000018
[22:10:46]   [GAME] finalizing stopped application: PPSA01316 pid=136
[22:10:46]   [SHELLCORE] runtime release awaiting sandbox removal: PPSA01316
[22:10:46]   [DB] snd0info normalized after game exit rows=0 title=PPSA01316
[22:10:46]   [SHELLCORE] runtime release start: PPSA01316
[22:10:46]   [LINK] runtime layers released: PPSA01316
[22:10:46]   [DB] loaded app.db title list: 44 entries
[22:10:46]   [DB] loaded blocked PPSA uninstall list: 0 entries
Check your eboot whit HxD or Something if you see the Header ELF it´s not decrypted
 
it's not just license (that we can fake using kstuff), it's encryption that is stopping us.

from what i researched a while ago, the pkg is consists of the following:
  • file header
  • sce_sys folder, unencrypted, contains metadata (param.json, icon&pic)
  • eboot.bin, encrypted
  • game assets, encrypted
the latter 2 are the problem, simply put, the decryption key is a "combination" of the root key and keys in the required minimum firmware (think a kind of salt). these keys are "securely uploaded" to the cpu/mp4 chips and never stored on the ssd .

and no decryption key, no mounting of the games.

for an fpkg, the encryption is stripped so we can mount them.
The license IS what facilitates a game decryption key. While I haven't personally dived into it, it is fairly common for DRM system have a license obtained from Sony in this case, at purchase time or download time or disc, then along with a secure context master key or whatever you call "root" key a game decryption key is derived from this license. It would be very flawed approach if you could just combine "a root key and firmware information" from the console alone to get the key. These is no reality in which this would be remotely the case.

kstuff help when it has been signed and encrypted with a fake game encryption key. But the original license (digital purchase or game disc) would have been needed first.

game + valid license -> mounts -> game launches and decrypt with derived key from license -> while in memory and open you have the binaries in decrypted format -> app-dumper copies these decrypted binaries and optionally sign/encrypt with a fake key, THEN kstuff can help decrypting these binaries because the game encryption key is known.

From may I can see and assess by looking at ps5-app-dumper source, only the binaries (eboot.bin and libraries) are encrypted with a potential game key, the rest of the .pkg (like game assets and metadata) is decrypted by the OS and differently, or independently of this game decryption key. The source code shows regular read()/open() filesystem operation while the decryption of the binaries is reading from memory and reconstructed into an elf.

And btw that PS5 Dump Forge said there are 7 unsigned files and it would sign them for me - I wonder if it found the decrypted files or just in general that there are a few unsigned and that's the case.
What Stoned said could be the case and the immediate crash shown on the logs may indicate so, the binaries may no have dumped correctly or are corrupted. If you are running it as a FFPKG format, I have a small tool/payload that you could try, it basically dumps the eboot.bin and libraries only the exact same way ps5-app-dumper does, then another tool to fake sign them, then you can replace with the ones that were extracted originally. I can post the source and the compiled payload if you are open to try. This could solve your issue ONLY if the eboot.bin did not extract correctly initially, it saves you from having to dump the game again.
 
ftpsrv v0.22

Pre-release

cmd: initialize addr_len before accept() in ftp_data_open accept() takes addrlen as a value-result argument and fails with EINVAL when it holds garbage. Read it from sizeof(data_addr), as ftp_serve() already does.

Link: https://github.com/ps5-payload-dev/ftpsrv/releases/tag/v0.22
 
Wish to know how to fix my game dumps like Gran Turismo 7 (disc game, EU, 01.710.000, dumped with PS5 App Dumper).
Dumped with settings: View attachment 601867 The error information: View attachment 601868

Btw. i attached ampr-emu to newly created /fakelib/ folder but that's not fixing it.

Here's ShadowMountPlus logs:
Code:
[22:10:42]   [LINK] nullfs mounted: /data/homebrew/PPSA01316-app0_Gran_Turismo_7 -> /system_ex/app/PPSA01316
[22:10:42]   [SHELLCORE] launch mount ready: PPSA01316
[22:10:42]   [FAKELIB] game mounted for PPSA01316: /data/homebrew/PPSA01316-app0_Gran_Turismo_7/fakelib -> /mnt/sandbox/PPSA01316_000/SnGrrCzw2C/common/lib
[22:10:42]   [FAKELIB] directory mounted for PPSA01316: /data -> /mnt/sandbox/PPSA01316_000/data
[22:10:42]   [FAKELIB] directory mounted for PPSA01316: /mnt/usb0 -> /mnt/sandbox/PPSA01316_000/mnt/usb0
[22:10:42]   [FAKELIB] directory mounted for PPSA01316: /mnt/ext1 -> /mnt/sandbox/PPSA01316_000/mnt/ext1
[22:10:42]   [FAKELIB] directory mounted for PPSA01316: /preinst/common/font -> /mnt/sandbox/PPSA01316_000/preinst/common/font
[22:10:42]   [SHELLCORE] sandbox ready handled: PPSA01316
[22:10:42]   [SHELLFLAG] SceLncUtilSystemStatus poll rc=0x80020010
[22:10:43]   [GAME] started: PPSA01316 pid=136 app_id=0x00000018
[22:10:43]   [MDBG] log monitor ready: PPSA01316 buffer_size=0x20018
[22:10:43]   [MDBG] monitoring game errors: PPSA01316 pid=136 for up to 60 seconds
[22:10:43]   [DB] loaded app.db title list: 44 entries
[22:10:43] NOTIFY: Zastosowano emulatory w grze: PPSA01316
[22:10:43]   [DB] loaded blocked PPSA uninstall list: 0 entries
[22:10:43]   [SHELLFLAG] SceShellCoreUtilAppFocus value=0x0000000000000018 delta=0x000000000000001F low32=0x00000018 high32=0x00000000 decoded=APP_ID=0x00000018
[22:10:43]   [MDBG] game error: PPSA01316 pid=136: signal: 11 (SIGSEGV)
thread name: eboot.bin
reason: page fault (user write data, page not present)
fault address: 0x00000007eedfbff8
RIP: 0x000000080030abd2
[22:10:43] NOTIFY: Błąd w grze PPSA01316:
signal: 11 (SIGSEGV)
thread name: eboot.bin
reason: page fault (user write data, page not present)
fault address: 0x00000007eedfbff8
RIP: 0x000000080030abd2
[22:10:44]   [SHELLFLAG] SceShellCoreUtilAppFocus value=0x0000000000000007 delta=0x000000000000001F low32=0x00000007 high32=0x00000000 decoded=APP_ID=0x00000007
[22:10:45]   [SHELLFLAG] SceLncUtilSystemStatus value=0x0000000000000002 delta=0x0000000000000000 low32=0x00000002 high32=0x00000000 decoded=SHELLUI_FG_GAME_BG_CPU_MODE
[22:10:45]   [FAKELIB] game stopped: pid=136 title=PPSA01316 layers=8
[22:10:45]   [FAKELIB] directory unmounted: /preinst/common/font -> /mnt/sandbox/PPSA01316_000/preinst/common/font
[22:10:45]   [FAKELIB] directory unmounted: /mnt/ext1 -> /mnt/sandbox/PPSA01316_000/mnt/ext1
[22:10:45]   [FAKELIB] directory unmounted: /mnt/usb0 -> /mnt/sandbox/PPSA01316_000/mnt/usb0
[22:10:45]   [FAKELIB] directory unmounted: /data -> /mnt/sandbox/PPSA01316_000/data
[22:10:45]   [FAKELIB] game unmounted: /data/homebrew/PPSA01316-app0_Gran_Turismo_7/fakelib -> /mnt/sandbox/PPSA01316_000/SnGrrCzw2C/common/lib
[22:10:45]   [GAME] process exited, awaiting same-app handoff: PPSA01316 pid=136 app_id=0x00000018
[22:10:46]   [GAME] finalizing stopped application: PPSA01316 pid=136
[22:10:46]   [SHELLCORE] runtime release awaiting sandbox removal: PPSA01316
[22:10:46]   [DB] snd0info normalized after game exit rows=0 title=PPSA01316
[22:10:46]   [SHELLCORE] runtime release start: PPSA01316
[22:10:46]   [LINK] runtime layers released: PPSA01316
[22:10:46]   [DB] loaded app.db title list: 44 entries
[22:10:46]   [DB] loaded blocked PPSA uninstall list: 0 entries
I managed to fix the dump and the game runs.

I packed the dump to zstd and PS5 Dump Forge signed 7 files that needed signing. So seems like PS5 App Dumper isn't patching the files [correctly].

Is there a method to dump directly to zstd or at least some tool to automatically patch the files the correct way? I remember trying some script to patch .prx files but that didn't work for me.

//edit:
I've just verified and PS5 Dump Forge signed decrypted files: decrypted/eboot.bin, decrypted/libSieRdNNabla.prx, decrypted/logiWheel.prx, decrypted/sce_module/libSceNpCppWebApi.prx, decrypted/sce_module/libScePfs.prx, decrypted/sce_module/libc.prx, decrypted/sce_sys/about/right.sprx

still seems to me like PS5 App Dumper didn't do its job correctly so Dump Forge fixed it for it by signing decrypted files and probably overwriting the original ones with these.
 
Last edited by ayechief,
It would be very flawed approach if you could just combine "a root key and firmware information" from the console alone to get the key. These is no reality in which this would be remotely the case.

You are thinking in Steam paradigm, aka always online DRM. On ps5 everything is playable offline. You can insert disk and play it without ever connecting ps5 to internet. Moreover you can download patches from PSN on your PC and PS5 will decrypt them no problems. So all required keys are already there.

Nobody was able to hack it properly, that's all. No wonder, it is very secure multi-layered system. So we are stuck with workarounds and half-measures.
 
Last edited by _iggyman_,
Is there a method to dump directly to zstd or at least some tool to automatically patch the files the correct way? I remember trying some script to patch .prx files but that didn't work for me.
The option re-sign encrypted elf and what happens before is specifically for that, it just that sometimes it fails to do it for whatever reason. The problem is that, the app dumper currently offers no way of dumping only these binaries alone, meaning you would have to dump the whole game again and hope the second time it works.

This has happened to me with at least a couple of games, i had Claude write me a small payload that only dump the binaries and saved me from dumping the whole thing. You may try that

You are thinking in Steam paradigm, aka always online DRM. On ps5 everything is playable offline. You can insert disk and play it without ever connecting ps5 to internet. Moreover you can download patches from PSN on your PC and PS5 will decrypt them no problems. So all required keys are already there.

Nobody was able to hack it properly, that's all. No wonder, it is very secure multi-layered system. So we are stuck with workarounds and half-measures.
I am not thinking anything. DRM is not synonymous and exclusive to online only. As i said, the disc does have a license too. The reason you can play just fine after installing a .pkg from prospero patches is because the license is ALREADY on the console from a previous purchase or disc validation.

There is no more "hack property", this is it! This is as best as you can get it. Anything further like extracting secrets/decryption keys from secure context will not bring any tangible benefits.
 

Site & Scene News

New Hot Discussed User Submitted