docs: record Y2JB homebrew chain
This commit is contained in:
@@ -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
|
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.
|
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
|
FTP used `ps5-payload-dev/ftpsrv` v0.21.1, SHA-256
|
||||||
`7d4b31c83eae4e056580482a3a074e1db25922efc74ac1e439473b45d71a5938`.
|
`7d4b31c83eae4e056580482a3a074e1db25922efc74ac1e439473b45d71a5938`.
|
||||||
Active-mode tests failed with `550 Bad file descriptor`; passive mode succeeded.
|
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
|
kernel exploit for 13.20; v1.0.0-dev-794049f adds Relapse but remains experimental
|
||||||
and has not been installed in this test.
|
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;
|
**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
|
`/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
|
memory pressure with SSH/HTTP stalls; removal restored SSH. Use a verified
|
||||||
|
|||||||
@@ -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
|
teve sucesso. O utilizador enviou foto que confirma `Executed successfully` e
|
||||||
`Awaiting connection` na porta JS.
|
`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
|
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
|
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
|
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,
|
12.60. Este teste acrescenta apenas ausência de crash imediato e persistência da
|
||||||
fecho da app, Remote Play ou homebrew neste boot. Não executar outro exploit de
|
9021 após um fecho em 13.20; não demonstra estabilidade prolongada. Não executar
|
||||||
kernel nesta sessão. Reiniciar normalmente antes de repetir o teste.
|
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
|
## Artefactos verificados
|
||||||
|
|
||||||
@@ -148,9 +174,8 @@ foram preservados. Os ficheiros exatos dos testes foram removidos após uso.
|
|||||||
|
|
||||||
## Pendentes
|
## Pendentes
|
||||||
|
|
||||||
- Fecho controlado do YouTube em FW 13.20 e confirmação de que 9021 persiste.
|
- Montagem read-only de uma imagem conhecida e teste de gameplay/lifecycle.
|
||||||
- Teste homebrew neste boot; evidências anteriores de kstuff-lite/ShadowMount+
|
- Suspend/resume, shutdown e reboot com a cadeia ativa.
|
||||||
estão em [payload-evidence](payload-evidence/README.md).
|
|
||||||
- Teste Remote Play, após rever uma forma de fake sign-in que não afete slot 1.
|
- 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
|
- 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,
|
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
|
- 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.
|
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.
|
Este registo é documental; não exigiu rebuild nem deployment do runtime Docker.
|
||||||
|
|||||||
@@ -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
|
record and require review. It must never overwrite the evidence for an already
|
||||||
approved digest.
|
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
|
## Controlled runtime-test procedure
|
||||||
|
|
||||||
The current Relapse flow ends at `elfldr is listening on port 9021`; there is no R2
|
The current Relapse flow ends at `elfldr is listening on port 9021`; there is no R2
|
||||||
|
|||||||
Reference in New Issue
Block a user