Sfondo sul Jack
"È universale per tutte le marche di telefoni, quindi deve avere un nome" in realtà non lo è. Nel corso degli anni ci sono stati molti telefoni che hanno utilizzato vari connettori. La tecnologia "standard" non è uno standard formale come quello che consideri cose come uno degli standard IEEE. L'industria si è appena evoluta nel tempo per tendere a utilizzare ciò che tutti conosciamo come jack audio.
Il tipico jack solo audio ha 3 squilli, di solito chiamati Tip, Ring, Sleeve (TRS). In genere, vengono mappati su Sinistra, Destra e Terra. I produttori di telefoni desideravano far funzionare questo jack con le cuffie esistenti, quindi hanno usato un connettore con 4 squilli, chiamato Tip, Ring, Ring, Sleeve (TRRS). Questi mappano a sinistra, a destra e a terra proprio come il 3 squillo, ma il connettore finale è mappato a un microfono. Questo fa sì che se si collega un cavo solo audio, l'ingresso del microfono viene collegato a terra in modo che nulla sia danneggiato. Significa anche che se un auricolare con microfono è collegato a un dispositivo solo audio, il microfono è collegato a terra, danneggiando anche nulla. Esistono connettori simili da 2,5 mm (utilizzati su alcuni telefoni per risparmiare spazio), 3,5 mm (per telefoni, lettore mp3, ecc.) E 0,25 "(per cuffie più grandi, chitarre, ecc.).
Dati su Jack
Per quanto riguarda i "dati" che viaggiano su questo, è puramente analogico. Alcune persone hanno riutilizzato questi cavi per passarci sopra i dati seriali, ma sono molto specifici dell'applicazione. Nel caso di dispositivi che utilizzano il jack per altri scopi, possono fare quello che vogliono purché il segnale sulla linea sia limitato in banda, il che significa che non vengono utilizzate alte frequenze. La ragione di ciò è che ci sono filtri sull'ingresso che bloccano le frequenze troppo alte. Questa frequenza cambierà a seconda del dispositivo stesso ma di solito è di circa 12 KHz o giù di lì.
Il metodo con cui le persone inviano dati su questo è in genere abbastanza simile a come funzionano i modem della linea telefonica. Il concetto generale è che esiste una mappatura tra le frequenze trasmesse e i dati seriali. Se vuoi decodificare un sistema, dovresti registrare la linea e vedere quali frequenze ci sono. La parte difficile è capire cosa significhino i dati risultanti.
Comunicazione a 2 vie
Vorrei anche notare che la comunicazione a 2 vie è probabilmente in questi sistemi. La linea del microfono viene utilizzata per inviare informazioni al telefono e le linee di uscita audio vengono utilizzate per inviare informazioni al dispositivo esterno. Se stai cercando di decodificare un dispositivo, ti consigliamo di guardare Mic, Sinistra e Destra per vedere se sembra esserci qualche comunicazione bidirezionale.
Ingegneria inversa
Ho detto che il reverse engineering sarebbe la parte difficile. Ecco il metodo che vorrei fare per fare questo:
- Controlla per vedere quali righe contengono dati. È possibile utilizzare un jack audio per computer con cui acquisire i dati. Questo sarà probabilmente il metodo più semplice per esaminare i dati.
- Determina la frequenza dei simboli. Fondamentalmente quando guardi i tuoi dati acquisiti dovresti vedere punti molto specifici che cambiano le frequenze.
- Controlla se ci sono frequenze discrete in uso e quante ne vengono utilizzate contemporaneamente. Ad esempio, potrebbero esserci 6 KHz, 8 KHz, 10 KHz e 12 KHz. Questi potrebbero essere associati a 4 bit per simbolo. Quindi se vedi 6 e 8 contemporaneamente può significare 1100 (o forse 0011). Guarda il simbolo successivo e potrebbe essere 6, 8 e 12 e potrebbe significare 1101. Naturalmente se si tratta di un protocollo personalizzato, potrebbe davvero significare tutto ciò che vogliono. Ma questo ti darà almeno un inizio.
- Supponendo di aver raccolto i dati che eseguono una scheda per la quale si conoscono i dati, è possibile cercare modelli. Ecco le informazioni incluse nelle carte. Potresti fare cose come se la tua carta ha una breve sequenza che ripete l'aspetto per vedere se i tuoi simboli hanno un modello ripetuto simile. Una volta risolti alcuni di questi schemi, dovresti essere in grado di fare un confronto 1 a 1 per il resto dei numeri, alla fine dovresti essere in grado di avere una buona idea di ciò che viene inviato.
Potrebbero esserci dei dati inviati che non hanno nulla a che fare con la tua carta e potresti non sapere mai cosa significhi, ma fintanto che conosci la posizione dei dati che ti interessano, è tutto ciò che è necessario. Devi solo sperare che la fabbricazione dell'hardware non abbia messo in atto misure "anti-hacking" o "anti-riutilizzo". Potenzialmente il progettista avrebbe potuto usare la comunicazione bidirezionale per fornire la crittografia. È anche possibile per loro semplicemente mescolare tutti i dati, quindi è difficile capire cosa sia cosa. Direi che è improbabile che abbiano fatto tutto questo però.