Disponibile un nuovo aggiornamento per il modulo sys-botbase, lo scopo di questo modulo è quello di permettere agli utenti di controllare la console Switch a distanza tramite la connessione Wi-Fi, nonché di leggere e scrivere nella memoria di un gioco.
Il modulo sys-botbase prende base dallo sviluppo di sys-netcheat del developer jakibaki e può essere utilizzato per creare anche bot per giochi o altri divertenti progetti di automazione.
Questa nuova versione aggiunge il supporto touch e l’emulazione della tastiera, il changelog in basso riporta i comandi appena aggiunti.
Elenco funzioni (pianificate)
Input pulsante
- Simula la pressione del pulsante.
- Simula la pressione del pulsante (tenendo premuto).
- Imposta lo stato completo del controller.
Input touchscreen
- Simula la pressione sul touchscreen.
- Simula la pressione sul touchscreen (tenendo premuto).
- Simula il disegno sul touchscreen.
Lettura della memoria
- Legge x byte di memoria consecutiva dalla RAM in base all’indirizzo di memoria assoluto.
- Legge x byte di memoria consecutiva dalla RAM in base all’indirizzo relativo alla base nso principale.
- Legge x byte di memoria consecutiva dalla RAM in base all’indirizzo relativo alla base heap.
Scrittura della memoria
- Scrivi x byte di memoria consecutiva nella RAM in base all’indirizzo di memoria assoluto.
- Scrivi x byte di memoria consecutiva nella RAM in base all’indirizzo relativo alla base nso principale.
- Scrivi x byte di memoria consecutiva nella RAM in base all’indirizzo relativo alla base dell’heap.
Cattura schermo
- Cattura lo schermo corrente e invialo (solo come jpeg in questo momento).
Installazione manuale
- Copiare il file
sys-botbase.nsp
insdmc://atmosphere/contents/430000000000000B
e rinominatelo inexefs.nsp
. - Creare una nuova cartella in
sdmc://atmosphere/contents/430000000000000B
e rinominatelo in “flags”. - Creare un file vuoto e rinominatelo in
boot2.flag
all’interno di questa cartella. Riavviare la console Switch.
Il sysmodule apre una connessione socket sulla porta 6000. Vedi l’esempio di Python su come parlare al sysmodule e quali comandi sono disponibili.
Changelog
Funzionalità
pointer <primo jump (main)> <jump aggiuntivi>
!! non aggiungere l’ultimo salto in pointerexpr qui, aggiungilo tu stesso !! (restituisce il puntatore alla fine nb: il valore di ritorno è in little endian).pointerAll <primo jump (main)> <jump aggiuntivi> <jump finale in pointerexpr>
(come sopra)pointerPeek <quantità di byte in hex o dec> <primo jump (main)> <jump aggiuntivi> <jump finale in pointerexpr>
pointerPoke <dati da inviare> <primo jump (main)> <jump aggiuntivi> <jump finale in pointerexpr>
freeze <offset> <data>
unFreeze <offset>
freezeCount
(restituisce la quantità di slot di freeze utilizzati dal sysmodule, il massimo è 255).freezeClear
(rimuove tutti i blocchi).freezePause
freezeUnpause
touch
seguito daarrayof:
<x
nell’intervallo 0-1280> <y
nell’intervallo 0-720>. L’array è touch sequenziali, non dita diverse.touchHold
<x
nell’intervallo 0-1280> <y
nell’intervallo 0-720> <tempo in millisecondi (deve essere almeno 17 ms)>touchDraw
seguito daarrayof:
<x
nell’intervallo 0-1280> <y
nell’intervallo 0-720>. La matrice è il vettore di dove si sposta il dito, quindi rimuove il dito.- Tasto seguito da
arrayof: <HidKeyboardKey>
da premere in ordine sequenziale. keyMod
seguito daarrayof: <HidKeyboardKey> <HidKeyboardModifier>
(senza lo spostamento del campo di bit) da premere in ordine sequenziale.keyMulti
seguito daarrayof: <HidKeyboardKey>
da premere contemporaneamente.
Configurazione
configure keySleepTime
<tempo per dormire tra le pressioni dei tasti in ms (il valore predefinito è 25 ms)>configure fingerDiameter
<diametro dito nell’intervallo 0-150 (il valore predefinito è 50)>configure pollRate
<tempo di attesa pollrate che deve essere utilizzato dai comandi tattili e da tastiera (il valore predefinito è 17 ms)>configure freezeRate
<freezeRate (il valore predefinito è 3ms)>
La maggior parte delle impostazioni predefinite si basa su pollrate minimi per gli applet di sistema. Sia keySleepTime
che pollRate
dovrebbero essere impostati su di un numero più alto se si utilizza una tastiera in-game poiché questi sono solitamente legati al framerate.
Download: sys-botbase v1.7 (nsp)
Download: sys-botbase v1.7 (zip)
Download: Source code sys-botbase v1.7
Fonte: github.com