Skip to content

Commit

Permalink
Add GoldHEN stage2
Browse files Browse the repository at this point in the history
  • Loading branch information
SiSTR0 committed May 9, 2024
1 parent 64b9ab2 commit 76f228d
Show file tree
Hide file tree
Showing 3 changed files with 307 additions and 23 deletions.
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -168,3 +168,8 @@ The code will not compile on Apple Silicon and requires AMD64 architecture.
There is a workaround using docker which will build the bin files required.
Clone this repository to your mac system, then from the repo folder run `./build-macarm.sh`. This will build the binaries for PS4 FW 1100 and place the necessary files into the correct folders. To build the binaries for a different version, i.e. 900, run the command as such: `./build-macarm.sh 900`. Once built, copy this folder structure into the Linux VM and execute as instructed above.
This has been tested using VMware Fusion 13.5.1, with the VM Guest as Ubuntu 24.04, and the host machine is MacOS 14.4.1

## Notes for GoldHEN version
This loader only supports payloads with a kernel entrypoint.
The custom version of stage2 first looks for the payload in the root directory of the USB drive, and if found, it is copied to the internal HDD at this path: /data/GoldHEN/payloads/goldhen.bin. The internal payload is then loaded and is no longer needed on the external USB drive.
At the moment, only firmware versions 9.00 and 11.00 are supported. Soon, versions 10.00/10.01 will also be supported.
18 changes: 18 additions & 0 deletions stage2/offsets.h
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,15 @@
#define kdlsym_addr_copyinstr_patch2 0xffffffff82471baf
#define kdlsym_addr_copyinstr_patch3 0xffffffff82471be0

#define kdlsym_addr_kernel_map 0xffffffff84468d48
#define kdlsym_addr_kmem_alloc 0xffffffff8257be70
#define kdlsym_addr_kmem_free 0xffffffff8257c040

#define kdlsym_addr_sceKernelSendNotificationRequest 0xffffffff825a1b30
#define kdlsym_addr_vsprintf 0xffffffff822b7d00
#define kdlsym_addr_snprintf 0xffffffff822b7d30
#define kdlsym_addr_strlen 0xffffffff8250f450


#elif (FIRMWARE == 903 || FIRMWARE == 904) // FW 9.03 / 9.04

Expand Down Expand Up @@ -218,6 +227,15 @@
#define kdlsym_addr_copyinstr_patch2 0xffffffff824de4ef
#define kdlsym_addr_copyinstr_patch3 0xffffffff824de520

#define kdlsym_addr_kernel_map 0xffffffff843ff130
#define kdlsym_addr_kmem_alloc 0xffffffff82445e10
#define kdlsym_addr_kmem_free 0xffffffff82445fe0

#define kdlsym_addr_sceKernelSendNotificationRequest 0xffffffff82479960
#define kdlsym_addr_vsprintf 0xffffffff824fcea0
#define kdlsym_addr_snprintf 0xffffffff824fced0
#define kdlsym_addr_strlen 0xffffffff8241dc40


#else

Expand Down
Loading

0 comments on commit 76f228d

Please sign in to comment.