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
|
||||
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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user