Skip to content
This repository has been archived by the owner on Apr 10, 2024. It is now read-only.

Commit

Permalink
cosmetics
Browse files Browse the repository at this point in the history
  • Loading branch information
john-tornblom committed Feb 25, 2024
1 parent 6b17232 commit 5c0f375
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 15 deletions.
23 changes: 12 additions & 11 deletions README.md
Expand Up @@ -2,11 +2,11 @@
This is an ELF loader for PS5 systems that have been jailbroken using either the
[BD-J ps5-payload-loader][bdj], or the [webkit approached from Specter][webkit].
Unlike the ELF loaders bundled with those exploits, this one uses the ptrace
syscall to bootstrap itself via the `SceRedisServer` process, and will continue
running in the background even when playing games. Furthermore, this ELF loader
will also resume its execution when the PS5 returns from rest mode. Payloads that
are loaded are executed in induvidual processes, so if a payload crashes,
the ELF loader will keep on running.
syscall to bootstrap itself into the `SceSpZeroConf` process, and then will fork
itself into a process that keeps running in the background, even when playing
games. Furthermore, this ELF loader will also resume its execution when the PS5
returns from rest mode. Payloads that are loaded are executed in induvidual
processes, so if a payload crashes, the ELF loader will keep on running.

## Building
Assuming you have the [ps5-payload-sdk][sdk] installed on a POSIX machine,
Expand All @@ -18,18 +18,19 @@ john@localhost:ps5-payload-elfldr$ make
```

## Usage
To deploy the ELF loader itself, we first bootstrap via the ELF loader bundled
with the exploit of your choice.
To deploy the ELF loader itself, we first bootstrap via the one bundled with the
exploit of your choice.
```console
john@localhost:ps5-payload-elfldr$ nc -q0 PS5_HOST 9020 < bootstrap.elf
john@localhost:ps5-payload-elfldr$ export PS5_HOST=ps5
john@localhost:ps5-payload-elfldr$ nc -q0 $PS5_HOST 9020 < elfldr.elf
```
**Note**: recent versions of the [BD-J ps5-payload-loader][bdj] include a binary
version of this ELF loader which can be launched directly from the menu system.

Once the payload has been launched, a new socket server is started from the
process that accepts ELFs on port 9021:
Once the payload has been launched, a new socket server is started that accepts
ELFs on port 9021:
```console
john@localhost:ps5-payload-elfldr$ nc -q0 PS5_HOST 9021 < hello_world.elf
john@localhost:ps5-payload-elfldr$ nc -q0 $PS5_HOST 9021 < hello_world.elf
```

## Reporting Bugs
Expand Down
3 changes: 1 addition & 2 deletions bootstrap.c
Expand Up @@ -26,9 +26,8 @@ along with this program; see the file COPYING. If not, see
#include "socksrv_elf.c"



/**
* We are running inside SceRedisServer, spawn socksrv.elf
* We are running inside SceSpZeroConf, spawn socksrv.elf.
**/
int
main() {
Expand Down
4 changes: 2 additions & 2 deletions main.c
Expand Up @@ -24,7 +24,7 @@ along with this program; see the file COPYING. If not, see


/**
* We are running inside bdj.elf, attach to SceRedisServer and run bootstrap.elf
* We are running inside bdj.elf, attach to SceSpZeroConf and run bootstrap.elf.
**/
int
main() {
Expand Down Expand Up @@ -61,7 +61,7 @@ main() {
return -1;
}

// launch bootstrap.elf inside SceRedisServer
// launch bootstrap.elf inside SceSpZeroConf
if((vpid=elfldr_find_pid("SceSpZeroConf")) < 0) {
klog_puts("[elfldr.elf] elfldr_find_pid() failed");
return -1;
Expand Down

0 comments on commit 5c0f375

Please sign in to comment.