Antecedentes de Jack
"Es universal para todas las marcas de teléfonos, por lo que debe tener un nombre" en realidad no lo es. Ha habido muchos teléfonos a lo largo de los años que han usado varios conectores. La tecnología "estándar" no es un estándar formal como lo que consideras cosas como cualquiera de los estándares IEEE. La industria ha evolucionado con el tiempo para usar lo que todos conocemos como conector de audio.
El conector típico de audio solo tiene 3 timbres, generalmente llamado Punta, Timbre, Funda (TRS). Estos normalmente se asignan a izquierda, derecha y tierra. Los fabricantes de teléfonos querían que este conector funcionara con los auriculares existentes, por lo que utilizaron un conector con 4 timbres, llamado punta, anillo, anillo, funda (TRRS). Se asignan a la izquierda, a la derecha y al suelo como el anillo 3, pero el conector final se asigna a un micrófono. Esto lo hace de modo que si conecta un cable de audio solamente en él, la entrada del micrófono se conecte a tierra para que no se dañe nada. También significa que si un auricular con micrófono está conectado a un dispositivo solo de audio, el micrófono está conectado a tierra, sin causarle ningún daño. Hay conectores similares en 2,5 mm (utilizados en algunos teléfonos para ahorrar espacio), 3,5 mm (para teléfonos, reproductores de mp3, etc.) y .25 "(para auriculares, guitarras, etc. más grandes).
Datos en el conector
En cuanto a lo que "datos" viaja sobre esto, es puramente analógico. Algunas personas han reutilizado estos cables para pasar datos en serie sobre ellos, pero son muy específicos de la aplicación. Para el caso de los dispositivos que usan el conector para otros propósitos, pueden hacer lo que quieran siempre que la señal en la línea esté limitada por la banda, lo que significa que no se utilizan frecuencias altas. La razón de esto es que hay filtros en la entrada que bloquean las frecuencias demasiado altas. Esta frecuencia cambiará dependiendo del dispositivo en sí, pero generalmente es de alrededor de 12 KHz o menos.
El método por el cual las personas envían datos a través de esto generalmente son bastante similares a cómo funcionan los módems de línea telefónica. El concepto general es que existe una asignación entre las frecuencias que se transmiten y los datos en serie. Si desea realizar una ingeniería inversa de un sistema, deberá registrar la línea y ver qué frecuencias hay. La parte difícil es averiguar qué se supone que significan los datos resultantes.
Comunicación bidireccional
También me gustaría señalar que la comunicación bidireccional es posible en estos sistemas. La línea de micrófono se usa para enviar información al teléfono y las líneas de salida de audio se usan para enviar información a su dispositivo externo. Si está intentando realizar una ingeniería inversa de un dispositivo, querrá ver Mic, Left y Right para ver si parece haber alguna comunicación bidireccional.
Ingeniería inversa
Mencioné que la ingeniería inversa sería la parte difícil. Aquí está el método que haría para hacer esto:
- Compruebe para ver qué líneas tienen datos sobre ellos. Puede utilizar un conector de audio de computadora para capturar sus datos con. Este será probablemente el método más fácil para mirar los datos.
- Determine la tasa de símbolos. Básicamente, cuando observa sus datos capturados, debería ver puntos muy específicos en los que las frecuencias cambian.
- Observe si hay frecuencias discretas en uso y cuántas se usan al mismo tiempo. Por ejemplo, podría haber 6 KHz, 8 KHz, 10 KHz y 12 KHz. Estos podrían mapear a 4 bits por símbolo. Entonces, si ve 6 y 8 a la vez, puede significar 1100 (o tal vez 0011). Busque el siguiente símbolo y podría ser 6, 8 y 12 y podría significar 1101. Por supuesto, si se trata de un protocolo personalizado, realmente podría significar lo que quieran. Pero esto al menos te dará un comienzo.
- Suponiendo que recopiló los datos de una tarjeta para la que conoce los datos, puede buscar patrones. Aquí está la información incluida en las tarjetas. Podría hacer cosas como si su tarjeta tiene una secuencia corta que se repite para ver si sus símbolos tienen un patrón de repetición similar. Una vez que haya resuelto algunos de estos patrones, debería poder hacer una comparación de 1 a 1 para el resto de los números. Finalmente, debería poder obtener una buena idea de lo que se está enviando.
Es posible que se envíen algunos datos que no tienen nada que ver con su tarjeta y es posible que nunca sepa lo que significa, pero siempre que conozca la posición de los datos que le interesan, eso es todo lo que necesita. Solo debe esperar que la fabricación de hardware no haya implementado ninguna medida de "anti-piratería" o "anti-reutilización". Potencialmente, el diseñador podría haber utilizado la comunicación bidireccional para proporcionar el cifrado. También es posible que ellos simplemente mezclen todos los datos para que sea difícil averiguar qué es qué. Diría que es poco probable que hayan hecho algo de esto.