A payload that uses kernel arbitrary read/write to decrypt Signed ELFs (SELFs) from the filesystem and dump the plaintext ELFs to USB drive.
PC_IP
and PC_PORT
macros on lines 24-25 with your TCP server's IP/port
[USB root]/PS5/
[+] kernel .data base is ffffffff88e40000, pipe 12->13, rw pair 14->21, pipe addr is ffffa04b61800480
[+] firmware version 0x3000038 ( 3.000.038)
[+] got auth manager: 4
...
[+] dumping /system_ex/common_ex/lib...
[+] decrypting /system_ex/common_ex/lib/libSceJsc.sprx...
[?] decrypting block info segment for 0
[?] decrypting block info segment for 1
[?] decrypting block info segment for 2
[?] decrypting block info segment for 4
[?] decrypting block info segment for 9
[?] decrypting block info segment for 10
[?] decrypting segment=1, block=1/593
[?] decrypting segment=1, block=2/593
[?] decrypting segment=1, block=3/593
[?] decrypting segment=1, block=4/593
offset_authmgr_handle
: +0x30 bytes from pointer to "sdt" string (it should also usually be 0x4)offset_sbl_mb_mtx
: -0x20 bytes from pointer to "SblDrvSendSx" stringoffset_mailbox_base
: +0x8 bytes from offset_sbl_mb_mtx
offset_sbl_sxlock
: +0x8 bytes from offset_mailbox_base
offset_mailbox_flags
: -0x8 bytes from pointer to "req mtx" stringoffset_mailbox_meta
: -0x18 bytes from pointer to "req msg cv" stringoffset_dmpml4i
: -0x8 bytes from pointer to "invlgn" stringoffset_dmpdpi
: +0x4 bytes from offset_dmpml4i
offset_pml4pml4i
: -0x1C bytes from pointer to "pmap" stringoffset_datacave_1/offset_datacave_2
: any two 0x4000 byte ranges that seem unused (likely dont need changing)Specter (Cryptogenic) - @SpecterDev
This project is licensed under the unlicense license - see the LICENSE.md file for details.