mirror of
https://github.com/etaHEN/etaHEN.git
synced 2026-01-12 19:25:33 +08:00
Update README.md
This commit is contained in:
99
README.md
99
README.md
@@ -15,9 +15,14 @@ If you find this project useful and would like to support its continued developm
|
|||||||
- Custom etaHEN [Plugins](https://github.com/LightningMods/etaHEN-SDK/tree/main/Plugin_samples)
|
- Custom etaHEN [Plugins](https://github.com/LightningMods/etaHEN-SDK/tree/main/Plugin_samples)
|
||||||
- [Toolbox] Install the Homebrew Store on the console
|
- [Toolbox] Install the Homebrew Store on the console
|
||||||
- [Toolbox] ★Rest Mode Options
|
- [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] Blu-Ray license activation
|
||||||
- [Toolbox] etaHEN credits and supporters
|
- [Toolbox] etaHEN credits and supporters
|
||||||
- [Toolbox] Auto open menu after etaHEN loads
|
- [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
|
- 2 seperate daemons for improved stability and reliability
|
||||||
- the Util daemon willl be auto restarted by the main etaHEN daemon
|
- the Util daemon willl be auto restarted by the main etaHEN daemon
|
||||||
- Custom System Software version (custom System info)
|
- Custom System Software version (custom System info)
|
||||||
@@ -33,9 +38,9 @@ If you find this project useful and would like to support its continued developm
|
|||||||
- *Optional* FTP server on port 1337
|
- *Optional* FTP server on port 1337
|
||||||
- *Optional* /data allowed inside apps sandboxes
|
- *Optional* /data allowed inside apps sandboxes
|
||||||
- Klog server on port 9081
|
- Klog server on port 9081
|
||||||
- elf loader on port 9027
|
- elf loader on port 9021 (use Johns elfldr)
|
||||||
- *Optional* PS5Debug
|
- *Optional* PS5Debug
|
||||||
- *started* Itemzflow intergration
|
- Itemzflow intergration
|
||||||
- *Optional* Discord RPC server on port 8000, click [here](https://github.com/jeroendev-one/ps5-rpc-client) for setup instructions
|
- *Optional* Discord RPC server on port 8000, click [here](https://github.com/jeroendev-one/ps5-rpc-client) for setup instructions
|
||||||
- *Optional* Direct PKG installer service on port 9090
|
- *Optional* Direct PKG installer service on port 9090
|
||||||
|
|
||||||
@@ -44,12 +49,11 @@ make your own custom plugins or payload-like ELFs for the HENV plugin via the [e
|
|||||||
More info [Here](https://github.com/LightningMods/etaHEN-SDK/blob/main/README.md)
|
More info [Here](https://github.com/LightningMods/etaHEN-SDK/blob/main/README.md)
|
||||||
|
|
||||||
## Upcoming features
|
## Upcoming features
|
||||||
- [Toolbox ONLY] load plugins without the HENV plugin
|
|
||||||
- [Toolbox] FPS Counter
|
- [Toolbox] FPS Counter
|
||||||
|
- [Toolbox] Cheats Menu
|
||||||
- [Toolbox] change debug settings text
|
- [Toolbox] change debug settings text
|
||||||
- [Toolbox] On-Screen temps and other info
|
- [Toolbox] On-Screen temps and other info (for retails)
|
||||||
- More userland patches
|
- More userland patches
|
||||||
- (maybe) Jailbreak whitelist for Homebrew
|
|
||||||
- Improved PS5 Game support (itemzflow)
|
- Improved PS5 Game support (itemzflow)
|
||||||
- More (consider donating)
|
- More (consider donating)
|
||||||
|
|
||||||
@@ -88,7 +92,92 @@ the service flow is as follows
|
|||||||
```
|
```
|
||||||
4. etaHEN will close the client socket after the return json is sent
|
4. 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
|
## Contributors
|
||||||
|
- [Buzzer](https://github.com/buzzer-re)
|
||||||
- [sleirsgoevy](https://github.com/sleirsgoevy)
|
- [sleirsgoevy](https://github.com/sleirsgoevy)
|
||||||
- [ChendoChap](https://github.com/ChendoChap)
|
- [ChendoChap](https://github.com/ChendoChap)
|
||||||
- [astrelsky](https://github.com/astrelsky)
|
- [astrelsky](https://github.com/astrelsky)
|
||||||
|
|||||||
Reference in New Issue
Block a user