docs: record Y2JB homebrew chain

This commit is contained in:
2026-10-02 20:41:52 +01:00
parent 38e68cf165
commit 0e48387f70
3 changed files with 148 additions and 6 deletions
+22
View File
@@ -248,6 +248,18 @@ is asserted by the output but upstream measured it only on 12.60; do not present
that as independently verified on 13.20. Do not send another kernel exploit in
an already exploited session. Disable temporary TCP 50000 when not needed.
The user then closed YouTube. A connection-only probe confirmed TCP 9021 remained
accessible and no immediate crash was observed. Using that surviving loader,
kstuff-lite v1.11 and ShadowMountPlus 1.7beta3 were downloaded again, verified
against the hashes in `docs/payload-evidence/`, and sent in order with more than
four seconds between them. KStuff reported its app.db and SceShellUI patches;
ShadowMountPlus detected 13.20, installed ShellCore hooks, initialized KStuff
runtime control, synchronized zero games and exposed its API only at
`127.0.0.1:10101`. No mount, game, API, suspend/resume or shutdown test was made.
Temporary payload copies were removed. This confirms the full startup chain
YouTube → Y2JB → Relapse → KStuff → ShadowMountPlus on this boot, not prolonged
stability.
FTP used `ps5-payload-dev/ftpsrv` v0.21.1, SHA-256
`7d4b31c83eae4e056580482a3a074e1db25922efc74ac1e439473b45d71a5938`.
Active-mode tests failed with `550 Bad file descriptor`; passive mode succeeded.
@@ -263,6 +275,16 @@ install or start the Y2JB autoloader. itsPLK autoloader v0.9.1 has no supported
kernel exploit for 13.20; v1.0.0-dev-794049f adds Relapse but remains experimental
and has not been installed in this test.
The proposed long-term integration uses the Y2JB Autoloader only for
YouTube/Y2JB → Relapse → ELF loader. The external Payload Manager on net-utils01
retains ownership of post-jailbreak payload discovery, integrity checks,
dependency ordering and audit logs. Do not configure KStuff or ShadowMountPlus
in `autoload.txt` for that design. The autoloader's default loopback-only ELF
loader is incompatible with an external sender; a reviewed LAN-accessible loader
is required, protected by the existing source-specific TCP 9021 firewall rule.
The full contract and session-state model are documented in
`docs/Y2JB_TEST_2026-10-02.md` and `docs/payload-evidence/README.md`.
**Server memory constraint:** net-utils01 has about 1.9 GiB RAM and no swap;
`/tmp` is tmpfs. Staging approximately 622 MiB of Y2JB files there caused severe
memory pressure with SSH/HTTP stalls; removal restored SSH. Use a verified
+113 -6
View File
@@ -84,12 +84,38 @@ e o ELF loader ficou à escuta na 9021. Uma sondagem TCP posterior à porta 9021
teve sucesso. O utilizador enviou foto que confirma `Executed successfully` e
`Awaiting connection` na porta JS.
Depois de o utilizador fechar YouTube, uma sondagem TCP sem payload confirmou que
a consola permaneceu acessível e o ELF loader continuou ativo na porta 9021. Não
foi observado crash imediato durante este fecho controlado em 13.20.
O payload deixa OIDs de sysctl alterados até reboot; `kern.smp.cpus` devolve um
endereço de kernel em vez do número de CPUs. O texto do payload indica que a app
pode fechar com os pipes restaurados, mas essa segurança foi medida upstream em
12.60, não nesta consola 13.20. Não houve teste de estabilidade prolongada,
fecho da app, Remote Play ou homebrew neste boot. Não executar outro exploit de
kernel nesta sessão. Reiniciar normalmente antes de repetir o teste.
12.60. Este teste acrescenta apenas ausência de crash imediato e persistência da
9021 após um fecho em 13.20; não demonstra estabilidade prolongada. Não executar
outro exploit de kernel nesta sessão. Reiniciar normalmente antes de repetir.
## Cadeia homebrew após fechar YouTube
Com a porta 9021 ainda acessível, foram descarregados novamente e verificados os
artefactos registados abaixo. O envio ocorreu na ordem requerida:
1. kstuff-lite v1.11;
2. confirmação de `app.db` patching e patch SceShellUI Trophy bem-sucedido;
3. espera superior a quatro segundos;
4. ShadowMountPlus 1.7beta3.
ShadowMountPlus identificou FW 13.20 e confirmou controlo runtime KStuff, hooks
SceShellCore, watcher de ciclo de vida, quatro flags de sistema monitorizadas,
localização `pt-PT`, leitura de 58 títulos em `app.db`, biblioteca sincronizada
com zero jogos e API HTTP/JSON em `127.0.0.1:10101`. A configuração observada
manteve mounts read-only, force/persistent desativados e atualização AMPR
automática desativada. Foi criado `/data/.kstuff_noautomount` pela cadeia.
O teste demonstra o arranque KStuff → ShadowMountPlus a partir do loader obtido
por YouTube/Y2JB/Relapse. Não montou jogos ou imagens e não testou API, gameplay,
suspend/resume, shutdown, reboot ou estabilidade prolongada. As cópias em
`/var/tmp` foram removidas depois do envio.
## Artefactos verificados
@@ -148,9 +174,8 @@ foram preservados. Os ficheiros exatos dos testes foram removidos após uso.
## Pendentes
- Fecho controlado do YouTube em FW 13.20 e confirmação de que 9021 persiste.
- Teste homebrew neste boot; evidências anteriores de kstuff-lite/ShadowMount+
estão em [payload-evidence](payload-evidence/README.md).
- Montagem read-only de uma imagem conhecida e teste de gameplay/lifecycle.
- Suspend/resume, shutdown e reboot com a cadeia ativa.
- Teste Remote Play, após rever uma forma de fake sign-in que não afete slot 1.
- Autoloader itsPLK v0.9.1 não tem kernel exploit para 13.20. v1.0.0-dev
integra Relapse 10.20–13.60 mas é experimental, não instalado; rever hash,
@@ -158,4 +183,86 @@ foram preservados. Os ficheiros exatos dos testes foram removidos após uso.
- PKG Manager corre em memória (8844 UI, 18842 Direct Install) e precisa de
reenvio depois de reboot. A UI respondeu HTTP 200 antes do reboot deste teste.
## Integração proposta: Y2JB Autoloader e Payload Manager
O desenho preferido mantém responsabilidades separadas:
```text
YouTube
→ Y2JB Autoloader
→ Relapse para FW 13.20
→ ELF loader TCP 9021
→ Payload Manager no net-utils01
→ kstuff-lite
→ espera e confirmação
→ ShadowMountPlus
```
O Y2JB Autoloader fica responsável apenas pelo exploit userland, seleção do
exploit de kernel, execução do Relapse e arranque do ELF loader. O Payload
Manager externo continua responsável pelo catálogo, fontes, releases, versões,
compatibilidade, downloads, tamanho, SHA-256, dependências, ordem, envio e logs.
KStuff e ShadowMountPlus não devem ser colocados no `autoload.txt` quando esta
arquitetura estiver ativa, porque isso contornaria a política e os registos do
manager.
### Loader loopback e acesso externo
O autoloader usa por defeito um ELF loader que aceita ligações apenas da própria
PS5. Essa opção é segura para payloads carregados internamente, mas impede o
manager em `192.168.20.30` de enviar para `192.168.40.14:9021`. A integração
externa exige uma variante revista do loader que escute na interface LAN. A
proteção passa então a depender da firewall existente, limitada a:
```text
192.168.20.30 → 192.168.40.14 TCP 9021
```
Nenhum outro host deve alcançar essa porta. Antes de adotar a variante LAN,
confirmar o binário, o hash, o bind efetivo e o comportamento após fechar
YouTube. Não iniciar dois ELF loaders concorrentes nem reenviar Relapse no mesmo
boot.
### Perfil de execução no manager
O perfil inicial deve representar explicitamente a cadeia validada:
```text
1. kstuff-lite v1.11
2. aguardar confirmação de arranque
3. esperar no mínimo 4000 ms
4. ShadowMountPlus 1.7beta3
```
O manager deve rejeitar qualquer artefacto cujo tamanho ou SHA-256 não coincida
com o registo aprovado. `enabled` e `favorite` são preferências do utilizador e
ficam separados da evidência imutável da fonte. ShadowMountPlus declara KStuff
como dependência e não pode ser enviado se a etapa anterior não tiver confirmação.
### Estado da consola e sessões
Uma porta 9021 aberta prova apenas que existe um listener. A primeira versão do
manager deve combinar o output recebido no envio, padrões de sucesso conhecidos
e confirmação manual quando não existir uma API de estado fiável. Estados úteis:
```text
offline
loader-disponivel
kstuff-confirmado
shadowmount-confirmado
cadeia-concluida
estado-desconhecido
```
O estado runtime deve pertencer a uma sessão/boot da consola. Depois de reboot,
perda de ligação ou resultado ambíguo, o manager limpa as afirmações de payloads
ativos e volta a `estado-desconhecido` ou `offline`. Histórico e evidência de
execuções permanecem, mas não servem como prova do boot atual.
Cada tentativa deve guardar timestamp, consola, firmware, payload, versão,
digest, origem final do download, resultado e operador. Não guardar credenciais
nos logs. O manager deve apresentar claramente que o autoloader v1.0.0-dev é
experimental e que o fluxo manual documentado continua a ser a referência de
comparação para o primeiro teste A/B.
Este registo é documental; não exigiu rebuild nem deployment do runtime Docker.
+13
View File
@@ -106,6 +106,19 @@ Release discovery may propose newer versions, but it must create a new candidate
record and require review. It must never overwrite the evidence for an already
approved digest.
For integration with Y2JB Autoloader, keep the manager as the executor of the
post-jailbreak chain. The autoloader should stop after Relapse and an externally
reachable, reviewed ELF loader are ready. Do not duplicate kstuff-lite or
ShadowMountPlus in `autoload.txt`, because their execution would bypass manager
hash checks, dependency handling and audit records. The default loopback-only
loader must be replaced or explicitly configured for the LAN integration; access
must remain restricted by firewall to `192.168.20.30 → 192.168.40.14:9021`.
The first manager profile should encode kstuff-lite, positive startup evidence,
at least 4000 ms delay, then ShadowMountPlus. An open port is not positive startup
evidence. Runtime state is valid only for the current console boot and must be
invalidated after reboot or ambiguous connectivity loss.
## Controlled runtime-test procedure
The current Relapse flow ends at `elfldr is listening on port 9021`; there is no R2