Antecedentes do Jack
"É universal para todas as marcas de telefones, por isso deve ter um nome", na verdade não é. Ao longo dos anos, houve muitos telefones que usaram vários conectores. A tecnologia "padrão" não é um padrão formal, como o que você considera como qualquer um dos padrões IEEE. O setor acabou de evoluir ao longo do tempo para tender a usar o que todos sabemos como uma tomada de áudio.
O conector típico apenas de áudio possui 3 toques, geralmente chamado de Ponta, Toque, Manga (TRS). Normalmente, eles são mapeados para esquerda, direita e solo. Os fabricantes de telefones queriam que esse conector funcionasse com os fones de ouvido existentes, para que usassem um conector com 4 toques, chamado Tip, Ring, Ring, Sleeve (TRRS). Eles são mapeados para esquerda, direita e terra, assim como o anel 3, mas o conector final é mapeado para um microfone. Isso faz com que, se você conectar um cabo somente de áudio, a entrada do microfone seja conectada ao terra para que nada seja ferido. Isso também significa que, se um fone de ouvido com microfone estiver conectado a um dispositivo apenas de áudio, o microfone estará conectado ao terra, sem causar danos. Existem conectores semelhantes em 2,5 mm (usados em alguns telefones para economizar espaço), 3,5 mm (para telefones, mp3 player, etc.) e 0,25 "(para fones de ouvido, guitarras, etc.) maiores.
Dados sobre o Jack
Na medida em que "dados" trafegam sobre isso, é puramente analógico. Algumas pessoas reutilizaram esses cabos para passar dados seriais sobre eles, mas eles são muito específicos para cada aplicação. No caso de dispositivos que usam o conector para outros fins, eles podem fazer o que quiserem, desde que o sinal na linha seja limitado por banda, o que significa que não há altas frequências sendo usadas. A razão para isso é que existem filtros na entrada que bloqueiam frequências muito altas. Essa frequência mudará dependendo do dispositivo em si, mas geralmente é de cerca de 12 KHz.
O método pelo qual as pessoas enviam dados sobre isso geralmente é bem parecido com o funcionamento dos modems da linha telefônica. O conceito geral é que existe um mapeamento entre as frequências transmitidas e os dados seriais. Se você quisesse fazer engenharia reversa de um sistema, seria necessário registrar a linha e verificar quais frequências existem. A parte difícil é descobrir o que os dados resultantes devem significar.
Comunicação de 2 vias
Também gostaria de observar que a comunicação bidirecional está possivelmente nesses sistemas. A linha do microfone é usada para enviar informações ao telefone e as linhas de saída de áudio são usadas para enviar informações de volta ao seu dispositivo externo. Se você estiver tentando fazer engenharia reversa de um dispositivo, consulte Mic, Esquerda e Direita para ver se parece haver alguma comunicação bidirecional.
Engenharia reversa
Mencionei que a engenharia reversa seria a parte difícil. Aqui está o método que eu faria para fazer isso:
- Verifique para ver quais linhas possuem dados. Você pode usar uma tomada de áudio do computador para capturar seus dados. Esse provavelmente será o método mais fácil de analisar os dados.
- Determine a taxa do símbolo. Basicamente, quando você olha para os dados capturados, deve ver pontos muito específicos em que as frequências mudam.
- Veja se há frequências discretas sendo usadas e quantas são usadas ao mesmo tempo. Por exemplo, pode haver 6 KHz, 8 KHz, 10 KHz e 12 KHz. Estes podem mapear para 4 bits por símbolo. Portanto, se você ver 6 e 8 de uma vez, pode significar 1100 (ou talvez 0011). Observe o próximo símbolo e ele pode ser 6, 8 e 12 e pode significar 1101. É claro que se for um protocolo personalizado, pode realmente significar o que eles quiserem. Mas isso pelo menos lhe dará um começo.
- Supondo que você coletou os dados executando um cartão para o qual você conhece, você pode procurar padrões. Aqui está a informação incluída nos cartões. Você pode fazer coisas como se o seu cartão tiver uma sequência curta que se repita, veja se seus símbolos têm um padrão de repetição semelhante. Depois de definir alguns desses padrões, você poderá fazer uma comparação de 1 a 1 para o restante dos números. Você poderá ter uma boa ideia do que está sendo enviado.
Pode haver alguns dados enviados que não têm nada a ver com o seu cartão e você talvez nunca saiba o que significa, mas desde que saiba a posição dos dados de que gosta, isso é tudo o que é necessário. Você apenas espera que o fabricante do hardware não tenha implementado nenhuma medida "anti-hacking" ou "anti-reutilização". Potencialmente, o designer poderia ter usado a comunicação bidirecional para fornecer criptografia. Também é possível que eles misturem todos os dados para que seja difícil descobrir o que é o quê. Eu diria que é improvável que eles tenham feito isso.