Pubblicato Balatro Switch RCE, un proof of concept sviluppato da Luminger che dimostra come sia possibile eseguire codice personalizzato in ambiente userland su Nintendo Switch e Nintendo Switch 2 sfruttando esclusivamente i dati di salvataggio di Balatro.

Il progetto permette di sostituire l’avvio originale del gioco con un launcher autonomo, dotato di una console Lua e di un server FTP accessibili attraverso la rete locale.
La scoperta si basa sul funzionamento del motore LÖVE, utilizzato dalla versione Nintendo Switch di Balatro. Il sistema carica alcuni file Lua dai dati di gioco e, durante questa operazione, assegna ai file presenti nel salvataggio una precedenza rispetto a quelli originali contenuti nella ROM.
Preparando un salvataggio con file appositamente modificati, è quindi possibile sostituire i punti di ingresso del gioco e caricare codice personalizzato al suo posto.
Una volta avviato Balatro, al posto della normale schermata di gioco compare una console di stato a schermo intero, che mostra informazioni sulla versione del launcher, gli hash dei file e gli eventi relativi all’avvio e alla connessione di rete.
L’ambiente mette inoltre a disposizione una Lua REPL, raggiungibile tramite TCP sulla porta 9026, attraverso la quale è possibile eseguire comandi Lua direttamente nel processo del gioco.
Non manca un server FTP, disponibile sulle porte 5000 e 5001, che consente di leggere e sostituire i file appartenenti al launcher senza dover ripristinare ogni volta il salvataggio.
Il progetto registra inoltre le connessioni, i comandi e i trasferimenti effettuati, mantenendo un registro diagnostico all’interno dei dati di salvataggio.
Sono stati introdotti anche meccanismi per recuperare la connessione dopo la riattivazione della console dalla modalità riposo.
Uno degli aspetti più interessanti riguarda la compatibilità con Nintendo Switch 2. Luminger ha verificato il funzionamento del progetto utilizzando la cartuccia fisica della versione Nintendo Switch di Balatro anche sulla nuova console, sfruttando la retrocompatibilità.
Il salvataggio modificato può essere trasferito attraverso la procedura ufficiale di Nintendo, senza dover installare un Custom Firmware direttamente su Switch 2.
La procedura richiede tuttavia una Nintendo Switch 1 già modificata, sulla quale utilizzare un gestore di salvataggi come JKSV per installare il file preparato.
Successivamente è possibile trasferire i dati sulla Switch 2 attraverso il trasferimento completo della console oppure quello dedicato al singolo salvataggio. Avviando la versione Switch 1 di Balatro sulla nuova piattaforma, il launcher viene caricato direttamente dai dati trasferiti.
Il progetto è stato verificato con le versioni 1.0.1f e 1.0.1o di Balatro per Nintendo Switch, rispettivamente quella presente sulla cartuccia e quella aggiornata.
È importante precisare che il metodo si basa su specifici riferimenti interni delle immagini del gioco: una versione nativa di Balatro per Switch 2 costituisce un eseguibile differente e non può utilizzare automaticamente gli stessi riferimenti.
Gli autori sottolineano che Balatro Switch RCE non è un jailbreak completo e non consente di ottenere privilegi kernel, caricare moduli di sistema, avviare copie di backup o eseguire giochi commerciali.
Il codice rimane confinato all’interno del processo di Balatro e non aggira il sistema DRM di Nintendo. Si tratta quindi di uno strumento di ricerca e sperimentazione, non di una soluzione per modificare integralmente la console.
Occorre prestare attenzione anche alla sicurezza: i servizi RPC e FTP sono volutamente privi di autenticazione e cifratura, perciò non dovrebbero essere esposti a reti non fidate.
Funzionalità disponibili
- Una console di stato a schermo intero visualizzata già al primo fotogramma (ID della build, hash dei singoli file ed eventi di avvio e rete), prima di qualsiasi operazione di identificazione o inizializzazione dell’SDK.
- RPC: Esecuzione di codice Lua all’interno del processo del titolo tramite il comando
python3 rpc.py <console-ip> 'return 2+2'. - FTP: Lettura e sostituzione dei file del launcher (
conf.lua,main.lua,bl/*.lua,workers/*.lua), consentendo al launcher di aggiornare nuovamente i propri file senza ripristinare il salvataggio. - Un registro dei dati di salvataggio in modalità append-only che registra ogni connessione RPC/FTP, comando e trasferimento (le password non vengono mai registrate), un indicatore della fase di esecuzione che rimane disponibile anche dopo un’interruzione e il ripristino delle connessioni socket dopo la sospensione e la riattivazione della console.
Installazione su una Nintendo Switch 1 modificata
- Copiare il file ZIP compilato nella cartella
JKSV/Balatro/sulla scheda SD della console, quindi ripristinarlo tramite JKSV. Il ripristino elimina il salvataggio attuale di Balatro: il launcher è una console autonoma e non una modifica aggiuntiva applicata al normale gioco. - Avviare il titolo: una volta disponibile la connessione di rete, la schermata di stato mostrerà gli indirizzi dei servizi RPC e FTP.
Trasferire il salvataggio su Nintendo Switch 2
La Switch 2 esegue l’edizione di Balatro per Switch 1 in modalità retrocompatibile e il trasferimento ufficiale da una console all’altra di Nintendo copia i dati di salvataggio senza modificarli.
I file del launcher vengono quindi trasferiti insieme al salvataggio. Non è necessario installare un CFW o apportare altre modifiche direttamente a Switch 2.
- Sulla Switch 1 modificata, ripristinare con JKSV il salvataggio del launcher compilato (questa operazione sostituisce il salvataggio di Balatro presente sulla console).
- Trasferire il salvataggio su Switch 2 utilizzando la procedura ufficiale Nintendo: il trasferimento completo del sistema oppure la funzione Trasferimento dati di salvataggio disponibile nelle impostazioni di sistema di Switch 2.
- Su Switch 2, avviare Balatro (l’edizione Switch 1, utilizzando la cartuccia fisica). I file
conf.luaemain.luasostituiti vengono caricati dai dati di salvataggio, i controlli di compatibilità dell’immagine vengono superati in modalità retrocompatibile e il launcher si avvia. Verificare la riga di stato ed eseguirepython3 rpc.py <console-ip> 'return 2+2'.
Una versione nativa di Balatro per Switch 2, distribuita separatamente, utilizza un’immagine differente e non può ereditare gli offset dei gadget della versione Switch 1: il sistema di risoluzione interrompe l’esecuzione in sicurezza quando rileva questa versione.
Utilizzo in tempo reale
La barra di stato mostra l’indirizzo di ciascun servizio, ad esempio RPC 192.168.1.50:9026 FTP 192.168.1.50:5000. I servizi RPC e FTP non utilizzano autenticazione né connessioni cifrate, per scelta progettuale.
python3 rpc.py <console-ip> 'return 2+2'
curl --disable-epsv ftp://<console-ip>:5000/bl_log.txt
curl --disable-epsv -T local.lua ftp://<console-ip>:5000/bl/local.lua
Utilizzare RPC per analizzare immediatamente un nuovo file Lua caricato oppure riavviare il titolo per caricare le sostituzioni dei moduli già richiesti.
Se il Wi-Fi non è ancora pronto, la schermata rimane reattiva e la configurazione della rete prosegue non appena viene assegnato un indirizzo.
Un lungo intervallo senza aggiornamenti o errori ripetuti dei listener attiva il ripristino delle connessioni socket dopo la sospensione e la riattivazione della console (questa procedura dispone di test offline, ma necessita ancora di una verifica reale dopo la sospensione e la ripresa).
Gli errori di avvio vengono mostrati con la dicitura ERROR e la relativa motivazione, senza dichiarare erroneamente che i servizi siano in ascolto.
Un salvataggio danneggiato a causa della sostituzione dei file può essere recuperato ripristinando una copia JKSV valida oppure utilizzando un gestore di salvataggi esterno. Non è presente un comando di disattivazione direttamente nel launcher.
Download: balatro-switch-rce 1.0.0 (build c1049217)
Download: Source code balatro-switch-rce 1.0.0 (build c1049217)
Alcune parti di questo articolo sono state generate con l’aiuto dell’intelligenza artificiale. Questo articolo contiene link affiliati a Amazon. Se acquisti tramite questi link, potrei guadagnare una commissione senza costi aggiuntivi per te.🔥 Prodotti in promozione e articoli più venduti: Nintendo Switch
Vedi altri prodotti Nintendo Switch
Ultimo aggiornamento 2026-11-04 / Link di affiliazione / Immagini da Amazon Product Advertising API
![[Scena PS4] Rilasciato PS4-Xplorer v2.09 con supporto fino al firmware 14.00](https://www.biteyourconsole.net/wp-content/uploads/PS4Xplorer1900-238x178.webp)

![[Scena PS Vita] Ultimate Spider-Man arriva su PlayStation Vita: porting nativo con storia completa, Venom e free roam](https://www.biteyourconsole.net/wp-content/uploads/SpidermanUltimate1900-238x178.webp)
![[Scena PS4] Rilasciato PS4-Xplorer v2.09 con supporto fino al firmware 14.00](https://www.biteyourconsole.net/wp-content/uploads/PS4Xplorer1900-100x75.webp)

![[Scena PS Vita] Ultimate Spider-Man arriva su PlayStation Vita: porting nativo con storia completa, Venom e free roam](https://www.biteyourconsole.net/wp-content/uploads/SpidermanUltimate1900-100x75.webp)