Domanda Miglioramento cassetto nascosto fai da te

Ziki00

Utente Iron
24 Agosto 2022
19
2
2
13
Ciao a tutti, ho un problema con un cassetto nascosto che ho costruito un paio di anni fa.
Si tratta di un vano con apertura tramite telecomando e due attuatori lineari nascosto dietro una mattonella, il problema è che ho perso il telecomando chissà dove!

Ho provato in vari modi ventose cacciaviti ma gli attuatori sono molto rigidi e ho paura di rompere la mattonella, il comando è dato da un telecomando a 433.92mhz a una scheda relè di quelle super economiche di AliExpress e vorrei aprirlo senza romperlo se possibile per sostituirlo con un apertura a pulsante nascosto

Ho accesso solo alla scatoletta di derivazione più vicina dove partono i cavi di alimentazione e da lì potrei fare poco (ho provato a mandarlo in pressione con il compressore senza risultato) , l'unica soluzione mi pare quella di riuscire a trovare il segnale giusto da inviare al ricevitore per l'apertura del cassetto!

Ho visto online che vendono dei dispositivi in grado di farlo ma sono costosi o altri che utilizzano Arduino di cui ho esperienza solo con CNC quindi poca, come ultima ho una radio che può connettersi al PC e può lavorare in quella banda ci si può fare qualcosa?

Dentro non c'è nulla di che solo i passaporti che mi servono per dicembre quindi ho un po' di tempo e voglia di imparare e sperimentare e nel caso non dovesse andare ho sempre il martello! Grazie a tutti e scusate la lunghezza del post
 
Ho installato Universal radio hacker e utilizzato la scheda audio, ma non so come poter generare un audio da provare a inviare al ricevitore, conviene acquistare un altro telecomando uguale a quello che avevo giusto per capire in che "lingua" parla?
 
Ciao, per prima cosa si dovrebbe capire il protocollo usato dal telecomando se è uno semplice di quelli a 8 bit per intenderci si può tentare un bruteforce, se hai un amico che ha il flipperzero sarebbe ottimo altrimenti devi costruirti un device apposito con arduino, ti serve un trasmettitore a 433mhz da collegare all'arduino poi il codice è semplice da realizzare
io ne realizzai uno molto tempo fa usando un pic
 
  • Mi piace
Reazioni: Ziki00
Ciao, per prima cosa si dovrebbe capire il protocollo usato dal telecomando se è uno semplice di quelli a 8 bit per intenderci si può tentare un bruteforce, se hai un amico che ha il flipperzero sarebbe ottimo altrimenti devi costruirti un device apposito con arduino, ti serve un trasmettitore a 433mhz da collegare all'arduino poi il codice è semplice da realizzare
io ne realizzai uno molto tempo fa usando un pic
Avevo già visto il tuo lavoro, davvero complimenti! Purtroppo non ho un amico con il flipper zero e comprarlo per questa unica applicazione mi sembra di buttare i soldi.

Vorrei provare a tagliare l'auricolare di una radio multifrequenza e saldare due connettori per microfono e cuffie e usarla con la scheda audio, tanto non deve essere una cosa portatile. Potrebbe funzionare o meglio che investo il mio tempo in altro?
 
Avevo già visto il tuo lavoro, davvero complimenti! Purtroppo non ho un amico con il flipper zero e comprarlo per questa unica applicazione mi sembra di buttare i soldi.

Vorrei provare a tagliare l'auricolare di una radio multifrequenza e saldare due connettori per microfono e cuffie e usarla con la scheda audio, tanto non deve essere una cosa portatile. Potrebbe funzionare o meglio che investo il mio tempo in altro?
la scheda audio non la puoi usare al massimo puoi settare la radio a 433mhz e modulare il segnale collegando un microcontrollore al pulsante ptt. la soluzione migliore è prendere un arduino e un tx
Amazon product ASIN B07B9KV8D9
Vedi: https://www.amazon.it/iHaosapce-ricevitore-trasmettitore-wireless-Raspberry/dp/B07B9KV8D9

Amazon product ASIN B01LWSJBTD
Vedi: https://www.amazon.it/AZDelivery-Atmega328-compatibile-Arduino-CH340/dp/B01LWSJBTD


il segnale è una semplice modulazione ASK, con pochi euro puoi farti il telecomando bruteforce e alla fine ti resta l'arduino per fare altri progetti.
 
  • Mi piace
Reazioni: JunkCoder e Ziki00
la scheda audio non la puoi usare al massimo puoi settare la radio a 433mhz e modulare il segnale collegando un microcontrollore al pulsante ptt. la soluzione migliore è prendere un arduino e un tx
Amazon product ASIN B07B9KV8D9
Vedi: https://www.amazon.it/iHaosapce-ricevitore-trasmettitore-wireless-Raspberry/dp/B07B9KV8D9

Amazon product ASIN B01LWSJBTD
Vedi: https://www.amazon.it/AZDelivery-Atmega328-compatibile-Arduino-CH340/dp/B01LWSJBTD


il segnale è una semplice modulazione ASK, con pochi euro puoi farti il telecomando bruteforce e alla fine ti resta l'arduino per fare altri progetti.
Grazie per le dritte, ho trovato qualche altra informazione https://github.com/iternull/bruteforce3-8remote/tree/master/examples

Credo che però sia fuori dalla mia portata fare gli script. Proverò a studiarci dentro un pochino per curiosità se poi sarà troppo impegnativo per me passerò a bruteforce di martello
 
la scheda audio non la puoi usare al massimo puoi settare la radio a 433mhz e modulare il segnale collegando un microcontrollore al pulsante ptt. la soluzione migliore è prendere un arduino e un tx
Amazon product ASIN B07B9KV8D9
Vedi: https://www.amazon.it/iHaosapce-ricevitore-trasmettitore-wireless-Raspberry/dp/B07B9KV8D9

Amazon product ASIN B01LWSJBTD
Vedi: https://www.amazon.it/AZDelivery-Atmega328-compatibile-Arduino-CH340/dp/B01LWSJBTD


il segnale è una semplice modulazione ASK, con pochi euro puoi farti il telecomando bruteforce e alla fine ti resta l'arduino per fare altri progetti.
Che cosa ne pensi di questo progetto?

https://github.com/iternull/bruteforce3-8remote

Utilizza Arduino micro pro
 
Non funziona :(

Qualcosa trasmette ma nulla da fare ne sul cassetto ne su due cancelli di mia proprietà 433.92mhz (uno molto vecchio)

Aprendo lo squelch della mia radio portatile sento il segnale, ho provato a registrarlo dal telefono e guardando su audicity non sono riuscito a distinguere i bit per il troppo rumore

Quel poco che ho capito dallo sketch è che dovrei regolare il tempo in base al telecomando che uso e di default è 170us provando a cambiarlo a caso non ho ottenuto risultati con nessuno dei 4 tasti (perché poi 4 tasti boh)

La cosa mi sta incuriosendo parecchio però allora ho comprato un sdr giusto per provare a capire se ci sono differenze tra i segnali dei miei telecomandi e quelli usciti da Arduino. Imparare a programmare nelle due settimane che mi sono restate invece la vedo molto dura per me!
 
Mi chiedo se sia possibile usare i bruteforce del flipper in qualche modo su Arduino, o i vari che si trovano sul GitHub
Dagli esperimenti che feci io mi accorsi che per aprire il cancello non bastava mandare il codice giusto una volta ma per 3 volte con un delay di almeno 14ms tra loro, se hai un vecchio cancello della faac allora quasi sicuramente utilizza un codice a 8bit + 4bit di address che identificano quale cancello aprire fino a 16 cancelli a volte i bit di address possono essere 2 o 1 per questo nel codice che scrissi io consideravo l'indirizzo come parte del codice quindi 2^12 = 4096 combinazioni, un altra cosa importante è come gli mandi i bit in base al clock del ricevitore ad esempio il bit 0 è formato da un ciclo di clock(rising edge) dove non mandi nulla e due cicli di clock dove trasmetti il segnale, in più prima di inviare la sequenza devi mandare uno start bit di 1 ciclo di clock. Per farti capire meglio se Fosc è 3Khz come nel caso del mio cancello per mandare i dati devi fare cosi:

C:
//Fosc 3Khz = periodo 333 microsecondi
//Bit0 1 periodo LOW, 2 periodi HIGH
void SendBit0(){
    digitalWrite(TXPin, LOW);
    //Non mando nulla per 333microsecondi cioè 1 Fosc
    delayMicroseconds(333);
    //Mando il segnale per Fosc*2
    digitalWrite(TXPin, HIGH);
    delayMicroseconds(333*2);
    digitalWrite(TXPin, LOW);
}

//Poi se vogliamo implementare anche lo start bit e il bit 1
//Bit1 2 periodi LOW e 1 HIGH
void SendBit1(){
    digitalWrite(TXPin, LOW);
    //Non mando nulla per Fosc*2
    delayMicroseconds(333*2);
    //Mando il segnale per 1 Fosc
    digitalWrite(TXPin, HIGH);
    delayMicroseconds(333);
    digitalWrite(TXPin, LOW);
}

//start bit 1:1 fosc
void SendStartBit(){
    digitalWrite(TXPin, LOW);
    //Non mando nulla per 1 Fosc
    delayMicroseconds(333);
    //Mando il segnale per 1 Fosc
    digitalWrite(TXPin, HIGH);
    delayMicroseconds(333);
    digitalWrite(TXPin, LOW);
}

//Poi per mandare il codice creo una funzione
void SendCode(uint16_t codice){
    //mando la sequenza 3 volte
    for(uint8_t seq = 0; seq < 3; seq++){
        //Invio lo start bit
        SendStartBit();
        //Prendo 12bit uno ad uno
        for (uint8_t i = 0; i <= 11; i++) {
            uint8_t bit = ((codice >> i) & 1);
            if(bit == 0){
                SendBit0();
            }else{
                SendBit1();
            }
        }
        //Delay di circa 14-20 ms
        delay(14)
    }
}


//Infine creiamo nel main un loop che invia le 4096 combinazioni
void setup(){
    for(uint16_t codice = 1; codice <= 4096; codice++){
        SendCode(codice);
    }
}

Cattura.PNG
 
  • Mi piace
Reazioni: Ziki00
È sempre un piacere leggere le tue risposte sono molto interessanti! Grazie! Proverò a usare il codice che mi hai mandato definendo il mio PIN di trasmissione. In realtà sul cancello non ho mai provato perché ne ho un altro non di mia proprietà molto vicino non vorrei creare qualche attrito con i vicini. Quello che sto cercando di aprire è questo
download.jpeg

Ormai mi sto appassionando e ho acquistato alcune schede clone e sto seguendo il tuo altro progetto che hai pubblicato con esp32 per giocare con il cancello (btn1 T4😁) però mi sa che il ricevitore che ho preso è davvero scarso perché mi rimane a choose file e non riceve nessun telecomando (provato uno con dip switch) quindi mi sa che ordino rxb6
 
Ho analizzato un telecomando simile secondo me il tuo utilizza lo stesso, si chiama Akhan 100F14 ha 20bit di codice + 4 bit di comando
Credo che con 24 bit sia un po' difficile un attacco di forza bruta purtroppo.. intanto però è stato davvero Interessante e istruttivo!

Ho riconvertito il pro micro a ricevitore/trasmettitore con la libreria rcswitch e ho costruito il tuo sniffer!! Volevo giocare un po' con il cancello.

Avevo una domanda sul tuo sniffer perché ho due telecomandi entrambi 12 bit che vengono riconosciuti da rcswitch ma uno non viene riconosciuto dallo sniffer mentre l'altro si. Quello che non viene riconosciuto da Rc switch vedo "tri-state: not applicabile"

NON RICONOSCIUTO
Decimal: 3479 (12Bit) Binary: 110110010111 Tri-State: not applicable PulseLength: 892 microseconds Protocol: 11

RICONOSCIUTO
Decimal: 1863 (12Bit) Binary: 011101000111 Tri-State: F1F0F1 PulseLength: 310 microseconds Protocol: 11
Raw data: 11196,536,72,592,592,16,72,296,616,340,280,648,616,320,276,648,272,620,296,616,668,272,700,280,684
 
Credo che con 24 bit sia un po' difficile un attacco di forza bruta purtroppo.. intanto però è stato davvero Interessante e istruttivo!

Ho riconvertito il pro micro a ricevitore/trasmettitore con la libreria rcswitch e ho costruito il tuo sniffer!! Volevo giocare un po' con il cancello.

Avevo una domanda sul tuo sniffer perché ho due telecomandi entrambi 12 bit che vengono riconosciuti da rcswitch ma uno non viene riconosciuto dallo sniffer mentre l'altro si. Quello che non viene riconosciuto da Rc switch vedo "tri-state: not applicabile"

NON RICONOSCIUTO
Decimal: 3479 (12Bit) Binary: 110110010111 Tri-State: not applicable PulseLength: 892 microseconds Protocol: 11

RICONOSCIUTO
Decimal: 1863 (12Bit) Binary: 011101000111 Tri-State: F1F0F1 PulseLength: 310 microseconds Protocol: 11
Raw data: 11196,536,72,592,592,16,72,296,616,340,280,648,616,320,276,648,272,620,296,616,668,272,700,280,684
Non so come funziona la libreria rcswitch però credo che il problema sia il PulseLength: 892 microsecondi, che mi sembrano un po tantini puoi provare con la mia libreria oppure vedere il segnale con un oscilloscopio che sareppe la cosa milgiore e più immediata, magari utilizza un protocollo diverso.
Il protocollo che ti avevo descritto ha 20bit di codice quindi 1.048.576 combinazioni gli ultimi 4bit sono fissi ad esempio 0001 è il comando apri, 0010 il comando chiudi ecc.. il bruteforce si potrebbe applicare facendo un calcolo veloce ci vorrebbero 2 ore e 30 minuti
 
  • Mi piace
Reazioni: Ziki00
Non so come funziona la libreria rcswitch però credo che il problema sia il PulseLength: 892 microsecondi, che mi sembrano un po tantini puoi provare con la mia libreria oppure vedere il segnale con un oscilloscopio che sareppe la cosa milgiore e più immediata, magari utilizza un protocollo diverso.
Il protocollo che ti avevo descritto ha 20bit di codice quindi 1.048.576 combinazioni gli ultimi 4bit sono fissi ad esempio 0001 è il comando apri, 0010 il comando chiudi ecc.. il bruteforce si potrebbe applicare facendo un calcolo veloce ci vorrebbero 2 ore e 30 minuti
Ho riletto quello che ho scritto ed effettivamente non si capisce molto bene, rcswitch lo ho usato con Arduino pro micro. I codici che ho scritto sono quelli che riporta nel monitor seriale. Poi compilando l'invio con il codice riesce ad aprire il cancello.

Per l'esp32 ho usato tutte le tue librerie ma non viene riconosciuto. Probabilmente è qualcosa di strano perché anche il telecomando che si "clona" fa fatica e ne ho dovuti provare un po' per fare una copia funzionante

Ho provato a copiare i dati RAW trovati dal pro micro nel .txt cercando di formattarli a capo senza virgole come ho trovato che li salva lo sniffer ma non apre il cancello

Per il bruteforce ho perso un po' la speranza perché vedo che anche con il flipper fanno fatica e non aprono tutto, ci sono tante variabili
 
Ho riletto quello che ho scritto ed effettivamente non si capisce molto bene, rcswitch lo ho usato con Arduino pro micro. I codici che ho scritto sono quelli che riporta nel monitor seriale. Poi compilando l'invio con il codice riesce ad aprire il cancello.

Per l'esp32 ho usato tutte le tue librerie ma non viene riconosciuto. Probabilmente è qualcosa di strano perché anche il telecomando che si "clona" fa fatica e ne ho dovuti provare un po' per fare una copia funzionante

Ho provato a copiare i dati RAW trovati dal pro micro nel .txt cercando di formattarli a capo senza virgole come ho trovato che li salva lo sniffer ma non apre il cancello

Per il bruteforce ho perso un po' la speranza perché vedo che anche con il flipper fanno fatica e non aprono tutto, ci sono tante variabili
Sto faceondo alcuni test con il protocollo akhan, ho trovato che il codice per validarlo lo devi mandare 2 volte consecutive con un delay minimo di 4700 microsecondi quindi facendo bene i calcoli sono (((1024+316)*24 + 316) + 4700)*2 * 1.048.576 combinazioni = 77.963.722.752 microsecondi che sono 22 ore... non proprio un bruteforce veloce. Il flipper zero secondo me è sbagliato perchè manda il codice una sola volta e non 3 volte come richiesto dal ricevitore per la validazione, almeno da come la vedo io. Tornando al akhan non ci sono altre vie ho provato vari stratagemmi e vari attacchi ma nulla bisognerebbe vedere come funziona il chip di decodifica per trovare qualche vulnerabilità se cè ne sono.
 
  • Mi piace
Reazioni: Ziki00
Sto faceondo alcuni test con il protocollo akhan, ho trovato che il codice per validarlo lo devi mandare 2 volte consecutive con un delay minimo di 4700 microsecondi quindi facendo bene i calcoli sono (((1024+316)*24 + 316) + 4700)*2 * 1.048.576 combinazioni = 77.963.722.752 microsecondi che sono 22 ore... non proprio un bruteforce veloce. Il flipper zero secondo me è sbagliato perchè manda il codice una sola volta e non 3 volte come richiesto dal ricevitore per la validazione, almeno da come la vedo io. Tornando al akhan non ci sono altre vie ho provato vari stratagemmi e vari attacchi ma nulla bisognerebbe vedere come funziona il chip di decodifica per trovare qualche vulnerabilità se cè ne sono.
Molto interessante, quel delay lo hanno usato come una sorta di protezione..allunga di parecchio i tempi!

Ho provato a cercare quel protocollo e sembra appunto essere molto usato, ma mi sembra che le schede siano più costose rispetto a quella che ho preso io che è economicissima non so se può cambiare qualcosa.

Intanto mi sto divertendo un sacco
 
Ultima modifica:
Dagli esperimenti che feci io mi accorsi che per aprire il cancello non bastava mandare il codice giusto una volta ma per 3 volte con un delay di almeno 14ms tra loro, se hai un vecchio cancello della faac allora quasi sicuramente utilizza un codice a 8bit + 4bit di address che identificano quale cancello aprire fino a 16 cancelli a volte i bit di address possono essere 2 o 1 per questo nel codice che scrissi io consideravo l'indirizzo come parte del codice quindi 2^12 = 4096 combinazioni, un altra cosa importante è come gli mandi i bit in base al clock del ricevitore ad esempio il bit 0 è formato da un ciclo di clock(rising edge) dove non mandi nulla e due cicli di clock dove trasmetti il segnale, in più prima di inviare la sequenza devi mandare uno start bit di 1 ciclo di clock. Per farti capire meglio se Fosc è 3Khz come nel caso del mio cancello per mandare i dati devi fare cosi:

C:
//Fosc 3Khz = periodo 333 microsecondi
//Bit0 1 periodo LOW, 2 periodi HIGH
void SendBit0(){
    digitalWrite(TXPin, LOW);
    //Non mando nulla per 333microsecondi cioè 1 Fosc
    delayMicroseconds(333);
    //Mando il segnale per Fosc*2
    digitalWrite(TXPin, HIGH);
    delayMicroseconds(333*2);
    digitalWrite(TXPin, LOW);
}

//Poi se vogliamo implementare anche lo start bit e il bit 1
//Bit1 2 periodi LOW e 1 HIGH
void SendBit1(){
    digitalWrite(TXPin, LOW);
    //Non mando nulla per Fosc*2
    delayMicroseconds(333*2);
    //Mando il segnale per 1 Fosc
    digitalWrite(TXPin, HIGH);
    delayMicroseconds(333);
    digitalWrite(TXPin, LOW);
}

//start bit 1:1 fosc
void SendStartBit(){
    digitalWrite(TXPin, LOW);
    //Non mando nulla per 1 Fosc
    delayMicroseconds(333);
    //Mando il segnale per 1 Fosc
    digitalWrite(TXPin, HIGH);
    delayMicroseconds(333);
    digitalWrite(TXPin, LOW);
}

//Poi per mandare il codice creo una funzione
void SendCode(uint16_t codice){
    //mando la sequenza 3 volte
    for(uint8_t seq = 0; seq < 3; seq++){
        //Invio lo start bit
        SendStartBit();
        //Prendo 12bit uno ad uno
        for (uint8_t i = 0; i <= 11; i++) {
            uint8_t bit = ((codice >> i) & 1);
            if(bit == 0){
                SendBit0();
            }else{
                SendBit1();
            }
        }
        //Delay di circa 14-20 ms
        delay(14)
    }
}


//Infine creiamo nel main un loop che invia le 4096 combinazioni
void setup(){
    for(uint16_t codice = 1; codice <= 4096; codice++){
        SendCode(codice);
    }
}

Visualizza allegato 67071
Funziona!!!!!!!!!! Tu sei un genio!!!!! Davvero complimenti!!!!!!!! L'unico davvero funzionante che sono riuscito a usare, super!

Il cassetto ormai è andato ma sto continuando con gli esperimenti, ho aggiunto al codice le cose per farlo funzionare con il mio hardware (ci ho messo un po' ma poi ce l'ho fatta :D) poi ho provato a cambiare tutti i delay con 900 e mi ha aperto 3 cancelli quasi contemporaneamente. Con i delay a 333 ci vuole circa 5 minuti il che non è davvero male!

Se per caso volessi trovare il codice del cancello per tentativi come potrei dividere il bruteforce ad esempio 4096>2048>1024>...
Messaggio unito automaticamente:

Forse dovrei cambiare nel loop che invia tutte le combinazioni fare ad esempio

Codice = 1024; codice <=4096

cambiando man mano fin che non restringo il campo al un unico codice

Codice = 3200; codice <=3201
 
Funziona!!!!!!!!!! Tu sei un genio!!!!! Davvero complimenti!!!!!!!! L'unico davvero funzionante che sono riuscito a usare, super!

Il cassetto ormai è andato ma sto continuando con gli esperimenti, ho aggiunto al codice le cose per farlo funzionare con il mio hardware (ci ho messo un po' ma poi ce l'ho fatta :D) poi ho provato a cambiare tutti i delay con 900 e mi ha aperto 3 cancelli quasi contemporaneamente. Con i delay a 333 ci vuole circa 5 minuti il che non è davvero male!

Se per caso volessi trovare il codice del cancello per tentativi come potrei dividere il bruteforce ad esempio 4096>2048>1024>...
Messaggio unito automaticamente:

Forse dovrei cambiare nel loop che invia tutte le combinazioni fare ad esempio

Codice = 1024; codice <=4096

cambiando man mano fin che non restringo il campo al un unico codice

Codice = 3200; codice <=3201
Ottimo sono contento che ti stai divertendo 😁
Non so potresti mandare 256 blocchi alla volta ci metti 20 secondi a blocco per un tot di 16 blocchi
 
  • Mi piace
Reazioni: Ziki00
Ottimo sono contento che ti stai divertendo 😁
Non so potresti mandare 256 blocchi alla volta ci metti 20 secondi a blocco per un tot di 16 blocchi
Si mi sto divertendo un sacco! Mi è arrivata la SDR e sto registrando qualcosa.. il telecomando su cui ha funzionato dove fosc e 900uS

IMG-20221231-WA0017.jpg

I segnali sono fosc x1 e fosc X2 (900us il corto e 1800 il lungo)

Poi mi sono fatto prestare un telecomando came che ho scoperto essere 24 bit + start bit (uno e zero invertiti per sbaglio)

IMG-20221231-WA0009.jpg


Qui è un pelo più complicato..

- 0= OFF 394 ON 532
- 1= OFF 658 ON 265

Credo che fosc sia una frazione e penso sia 133uS circa

- 0= OFF (FOSC*3) ON (FOSC*4)
- 1= OFF (FOSC*5) ON (FOSC*2)

In base a questo potrei inserire i parametri per fargli provare tutte le combinazioni che però sono tantissime!

I came a 12bit funzionano come quelli a 24? Inserendo i parametri nel tuo codice ma lasciando i bit a 12 ci sono speranze di aprirne uno?
 
Stavo cazzeggiando un po ho scritto un algoritmo per il bruteforce a 24bit l'ho provato un po sembra funzionare, l'ho fatto con platform io
 

Allegati

  • 433Mhz_bruteforce.zip
    1.3 MB · Visualizzazioni: 2
Stavo cazzeggiando un po ho scritto un algoritmo per il bruteforce a 24bit l'ho provato un po
Non ti annoi mai :D ! Purtroppo non riesco a scompattare lo zip, ho provato a scaricarlo più volte ma è sempre corrotto. Però ho letto i nomi dei file e sembrano davvero interessanti!!!

Devo studiare ancora un bel po' mi sa con vscode è già un paio di pomeriggi che traffico per flashare un esp 32 ttgo ma le mie lacune sono troppo grandi e non ne vengo a una..

sto provando a realizzare
https://github.com/kripthor/io433

poi girovagando ho trovato
 
Stavo cazzeggiando un po ho scritto un algoritmo per il bruteforce a 24bit l'ho provato un po sembra funzionare, l'ho fatto con platform io
Alla fine sono riuscito tramite servizi online a recuperare alcuni file tra cui un readme con il tuo link GitHub e ho riscaricato lo zip.

Ho provato a guardare un po' i file cercando di capire.

L'hardware necessario credo sia un esp32 e un display LCD (?) non mi pare di vedere pulsanti. Sembrano esserci 3 tipo di attacchi bruteforce normale tipo quello che mi hai inviato l'altra volta, la sequenza debrujin 12 bit e un bruteforce 20 bit + 4 di comando. Poi ci sono dei codici già salvati pronti da inviare (li hai letti o li hai trovati con il bruteforce?)

Ci ho azzeccato?