
Demonstração de jailbreak no console que executa funções nativas dentro do processo do sistema de arquivos do Switch 2 via SmileBASIC, verifica os resultados e restaura as instruções originais.
Obrigado Codex por empacotar diligentemente os exploits para distribuição. Não, eu não li o pacote distribuído.
Executa duas pequenas funções nativas dentro do FS, verifica seus resultados e restaura as instruções originais. Apenas Switch 2; não é necessário npm install nem compilador.
Você precisa do SmileBASIC 4.4.9, software de sistema 23.0.1, Node.js 22+ no macOS ou Linux, e mais de 20 MiB livres no save do SmileBASIC. O computador e o console devem estar na mesma rede acessível.
No Make a Program do SmileBASIC, insira bootstrap.bas no slot 0 e salve-o
como NS2. Um teclado USB ajuda. O ZIP é um pacote para computador, não um arquivo de
importação do SmileBASIC; não há chave de download publicada.
Reinicie o console, abra o SmileBASIC e entre no modo Direct.
No computador, abra um terminal na pasta extraída e execute:
node run.cjs
Se solicitado, selecione o endereço do computador acessível pelo console. Você também pode
fornecê-lo diretamente: node run.cjs 192.168.1.10. A conexão usa a porta 39380.
No SmileBASIC, carregue o programa salvo e insira estes comandos separadamente:
LOAD "TXT:NS2"
RUN
REMOVE NSR,&H60000000,&H3FFFFFFF
Confirme o carregamento. A mensagem Out of memory do REMOVE é esperada.
Em seguida, insira a linha V=START(...) impressa pelo computador.
Mantenha o SmileBASIC aberto e o computador ativo até FS execution verified. Reinicie o console ao terminar; isso também restaura o processo RO original. Esta demonstração não instala firmware personalizado nem persistência.
Se uma execução falhar, mantenha a pasta runs e reinicie o console antes de tentar
novamente. Insira REMOVE apenas uma vez por processo da aplicação. Logs e capturas
temporárias de memória permanecem em runs; eles não fazem parte do distribuível.
Testado fisicamente em 21 de outubro de 2026: ambos os desafios de instrução do FS, a restauração e a limpeza passaram. A aquisição é sensível ao timing: o teste passou na terceira inicialização limpa. As duas primeiras tentativas pararam nas verificações de validação e foram limpas.
run.cjs é o ponto de entrada do host. engine/switch2/pipeline.cjs contém a sequência
de lançamento fixa; engine/switch2/process/fs-execute.cjs contém a demonstração do FS.
O helper nativo e seu código-fonte estão em engine/switch2/ro/payload/.
Desenvolvedores podem reproduzi-lo com Zig 0.15.2:
node engine/build-payload.cjs --check --zig /path/to/zig.