mirror of
https://github.com/etaHEN/etaHEN.git
synced 2026-01-12 19:25:33 +08:00
73f3878b4d7b06add3194e02d69e448da8716cae
- the elfldr plugin is no longer required for loading plugins (or anything)
- Added Byepervisor (By @PS5Dev) to etaHEN for 2.xx (auto triggers rest mode too)
- [2.xx ONLY] Added Kernel patches for mprotect, the dir_depth limit and MMAP RWX
- Removed the No longer needed Syscore patches
- Added a Lite mode (kstuff or HEN ONLY) mode
- Removed the DB triggers from etaHEN and moved them to itemzflow for all fws
- etaHEN daemon loading time decreased from 5-6 secs to 1 secs
- Shellcore FPKG Required FW patches By @Echo for 2.xx
- Added a Remote Play menu to the etaHEN toolbox (will activate the account for you)
- Added the external HDD menu to the etaHEN toolbox utilites section
- Added an Extras menu to the etaHEN toolbox utilites section which includes the NP enviroment and additional content manager
- Added a Plugin auto start menu (illusion cheats included with Itemzflow)
- etaHEN will now wait for kstuff to fully load before continuing
- Any Plugin not enabled via the Plugin auto start menu will NOT auto start when you load etaHEN
- Clicking the Install the Store button or loading plugins will no longer freeze until they are done, those are now done asynchronously
- after loading etaHEN the etaHEN toolbox will stop the home menu before injecting (see the notification)
- Improved stability when rebooting or shutting down the PS5
- Removed the Cheats menu to add it back later in the next update (ran out of time)
- Added React bundle (all FWs) & Self (only on 2.xx) decryption support to FTP
- etaHEN can now be loaded via Johns Elf loader (mostly for 2.xx since 4.xx requires kstuff being sent to 9020)
- Added support for the UMTX exploit
- Stability improvements for restarting and shutting down (without plugins enabled)
- a lot of changes made internally to etaHEN to focus on stability
- Added a Testkit menu which wont let retails in (for now)
- Console Info Overlay
- On [Custom]
- On + APU Temp
- On + Service Ports + temp
- Off
- Trial System Software Expiration overlay
- Off
- (ON) 1 Day left
- (ON) 2 Days left
- (ON) Expired
- Added TestKit privacy overlay, when etaHEN is active the serial number, model name, and MAC address in the overlay will be censored
etaHEN - AIO Homebrew enabler
🚀 Support the Project
If you find this project useful and would like to support its continued development, consider buying me a coffee!
Official PS5 exploit website (auto loads etaHEN)
Recommended self-host exploits
Features
- ★ etaHEN toolbox (debug settings replacement)
- Custom etaHEN Plugins
- [Toolbox] Install the Homebrew Store on the console
- [Toolbox] ★Rest Mode Options
- [Toolbox] Remote Play Menu
- [Toolbox] Plugin Menu and Plugin auto start menu
- [Toolbox] External HDD Menu
- [Toolbox] TestKit Menu
- [Toolbox] Blu-Ray license activation
- [Toolbox] etaHEN credits and supporters
- [Toolbox] Auto open menu after etaHEN loads
- React bundle (all FWs) & Self (only on 2.xx) FTP decryption Support
- 2 seperate daemons for improved stability and reliability
- the Util daemon willl be auto restarted by the main etaHEN daemon
- Custom System Software version (custom System info)
- kstuff for fself and fpkg support
- etaHEN log in /data/etaHEN
- (optional) System-wide controller shortcut to open itemzflow
- Debug Settings
- Game Dumper (Intrgrated with Itemzflow)
- HEN config file for settings
- Jailbreak IPC call (jailbreaks Homebrew apps)
- Update blocker (unmounts update partition)
- Optional Illusions cheats/patches Plugin
- Optional FTP server on port 1337
- Optional /data allowed inside apps sandboxes
- Klog server on port 9081
- elf loader on port 9021 (use Johns elfldr)
- Optional PS5Debug
- Itemzflow intergration
- Optional Discord RPC server on port 8000, click here for setup instructions
- Optional Direct PKG installer service on port 9090
etaHEN SDK
make your own custom plugins or payload-like ELFs for the HENV plugin via the etaHEN SDK More info Here
Upcoming features
- [Toolbox] FPS Counter
- [Toolbox] Cheats Menu
- [Toolbox] change debug settings text
- [Toolbox] On-Screen temps and other info (for retails)
- More userland patches
- Improved PS5 Game support (itemzflow)
- More (consider donating)
etaHEN INI Configuration file
etaHEN's ini settings file can be found at /data/etaHEN/config.ini and can be accessed using the built-in FTP
and is automatically created when you run etaHEN for the first time
Configuration Layout (toolbox)
| INI Key | Description | Default value |
|---|---|---|
PS5Debug |
0 = disables PS5Debug (Sistr0) auto load 1 = enable PS5Debug auto load | 1 (enabled) |
FTP |
0 = disables etaHEN built-in FTP 1 = enables it | 1 (enabled) |
discord_rpc |
0 = disables Discord RPC server 1 = enables it | 0 (disabled) |
testkit |
0 = not testkit 1 = Real Testkits ONLY | 0 (disabled) |
Allow_data_in_sandbox |
0 = disables /data in an apps sandbox 1 = enables it | 1 (enabled) |
DPI |
0 = disables The Direct PKG Installer service 1 = enables it | 1 (enabled) |
Klog |
0 = disables kernel logging, 1 = enables it | 0 (disabled) |
ALLOW_FTP_DEV_ACCESS |
0 = disables FTP developer access, 1 = enables it | 0 (disabled) |
StartOption |
0=None, 1=Home menu, 2=Settings 3=Toolbox, 4=itemzflow | 0 (None) |
Rest_Mode_Delay_Seconds |
Delay in seconds before patching shellui coming out rest mode | 0 (no delay) |
Util_rest_kill |
0 = dont kill the util daemon during rest, 1 = Do kill it on rest | 0 (disabled) |
Game_rest_kill |
0 = dont kill the open game during rest, 1 = Do kill it on rest | 0 (disabled) |
DPI API details for tool creators
etaHEN's Direct PKG Installer currently is very simple and is considered a WIP the service flow is as follows
- Connect to etaHEN's TCP server via port 9090 (using the PS5s IP)
- Send a URL to etaHEN in the following json format
{ "url" : "http://xxxx" }
- etaHEN will then send back the return value (0 on success)
{ "res" : "0" }
- etaHEN will close the client socket after the return json is sent
Jailbreaking an app (FPKG) using etaHEN (non-whitelist method, Network required)
enum Commands : int8_t {
INVALID_CMD = -1,
ACTIVE_CMD = 0,
LAUNCH_CMD,
PROCLIST_CMD,
KILL_CMD,
KILL_APP_CMD,
JAILBREAK_CMD
};
struct HijackerCommand
{
int magic = 0xDEADBEEF;
Commands cmd = INVALID_CMD;
int PID = -1;
int ret = -1337;
char msg1[0x500];
char msg2[0x500];
};
int HJOpenConnectionforBC() {
SceNetSockaddrIn address;
address.sin_len = sizeof(address);
address.sin_family = AF_INET;
address.sin_port = sceNetHtons(9028); //command serve port
memset(address.sin_zero, 0, sizeof(address.sin_zero));
sceNetInetPton(AF_INET, "127.0.0.1", &address.sin_addr.s_addr);
int socket = sceNetSocket("IPC_CMD_SERVER", AF_INET, SOCK_STREAM, 0);
if (sceNetConnect(socket, (SceNetSockaddr*)&address, sizeof(address)) < 0) {
close(socket), socket = -1;
}
return socket;
}
bool HJJailbreakforBC(int& sock) {
// send jailbreak IPC command
HijackerCommand cmd;
cmd.PID = getpid();
cmd.cmd = JAILBREAK_CMD;
if (send(sock, (void*)&cmd, sizeof(cmd), MSG_NOSIGNAL) == -1) {
puts("failed to send command");
return false;
}
else {
// get ret val from daemon
recv(sock, reinterpret_cast<void*>(&cmd), sizeof(cmd), MSG_NOSIGNAL);
close(sock), sock = -1;
if (cmd.ret != 0 && cmd.ret != -1337) {
puts("Jailbreak has failed");
return false;
}
return true;
}
return false;
}
int main()
{
int ret = HJOpenConnectionforBC();
if (ret < 0) {
puts("Failed to connect to daemon");
return -1;
}
if (!HJJailbreakforBC(ret))
{
puts("Jailbreak failed");
return -1;
}
return 0;
}
Contributors
- Buzzer
- sleirsgoevy
- ChendoChap
- astrelsky
- illusion
- CTN & SiSTR0 for PS5Debug
- Nomadic (Discord RPC feature)
Testers
Join us on the Support Discord
Languages
C++
50%
C
49%
CMake
0.5%
Python
0.3%