
Este repositório tem tudo a ver com engenharia reversa de rádios de carro Volkswagen mais antigos, como o rádio premium 5 mostrado acima. Os rádios estudados aqui têm mais de quinze anos e têm o tamanho de um din. Apesar da idade, eles são inteligentes e apoiam o diagnóstico a bordo (usando o protocolo KWP1281 da VW na linha K). Você encontrará notas sobre protocolos e hardware aqui, juntamente com desmontagens parciais de firmware, mas nenhum binário original de firmware ou EEPROMs.
Os rádios VW desta época exigem um código de segurança de quatro dígitos frequentemente chamado de "código seguro". Os rádios geralmente armazenam o código seguro em uma EEPROM serial como um 93C46 ou 24C04. O código seguro pode ser encontrado abrindo o rádio, dessollando a EEPROM, lendo -o e soldando a EEPROM de volta. Eu queria saber se havia uma maneira mais fácil.
Desmontei o firmware para esses rádios: Premium 4 (Clarion), Premium 5 (Delco), Gamma 5 (Technisat) e Rhapsody (Technisat). Descobri que todos eles têm backdoors para ler o código seguro via diagnóstico a bordo. Ler o código dessa maneira significa que o rádio não precisa ser aberto e pode nem precisar ser removido do carro. Como essas informações não são publicadas em nenhum lugar e não consegui encontrar nenhuma ferramenta que pudesse fazê -lo, criei minha própria ferramenta.
kwp1281_tool : Ferramenta de protocolo de diagnóstico (Volkswagen KWP1281). Ele pode enviar comandos arbitrários para um rádio ou qualquer outro módulo, usando o protocolo KWP1281. Ele também pode enviar comandos usando um protocolo proprietário encontrado nos rádios Technisat. Por fim, ele pode recuperar automaticamente o código seguro para qualquer um dos rádios listados acima.
faceplate_emulator : emulador de placa face (nec µpd16432b). Ele se conecta ao rádio premium 4 no lugar do painel frontal e permite que o rádio seja controlado por série. Também pode controlar simultaneamente um painel face real.
tape_emulator : emulador de fita cassete (Philips TDA3612). Ele se conecta ao rádio premium 4 no lugar do conjunto de fitas cassetes SCA4.4/TDA3612 e enganam o rádio para pensar que uma fita está tocando.
volume_monitor : Monitor de volume (Mitsubishi M62419FP). Ele se conecta paralelamente ao controlador de som M62419FP usado no rádio premium 4 e envia atualizações sobre a série sempre que os registros de som são alterados.
reverse_engineering : Notas sobre os rádios da engenharia reversa, incluindo listagens comentadas de desmontagem do firmware de rádio. Este repositório não contém nenhum firmware original ou binários da EEPROM.
Aqui estão algumas das descobertas mais interessantes que fiz sobre os rádios:
Todos os rádios estudados suportam um conjunto comum de funções de diagnóstico KWP1281 no endereço de rádio normal de 0x56. Alguns rádios (não todos) também possuem comandos KWP1281 protegidos nesse mesmo endereço. Os comandos protegidos disponíveis variam de acordo com o modelo, mas podem incluir a capacidade de ler a ROM ou a RAM do microcontrolador e de ler/gravar EEPROM serial (s). O acesso aos comandos protegidos requer o envio de um bloco de login com base no código seguro e também executando uma leitura de grupo de um grupo oculto.
O VW Premium 4 (Clarion) possui um comando KWP1281 desprotegido 0xf0 que retorna o código seguro. Ele também contém um modo oculto em que o código seguro pode ser alterado através do painel frontal. A inserção desse modo requer pressionar teclas que não existem no painel frontal. Suponho que houve um painel frontal de fabricação especial usado pela fábrica.
O VW Premium 5 (Delco) e Liceo do assento (DelCO) respondem a um conjunto diferente de comandos KWP1281 no endereço 0x7C. Esses comandos requerem autenticação usando um bloco de login codificado. Uma vez autenticado, os comandos estão disponíveis para ler e escrever a EEPROM, que pode ser usada para recuperar o código seguro.
O VW Gamma 5 (Technisat) e o Rhapsody (Technisat) têm um protocolo proprietário e não kwp no endereço 0x7c. É diferente de tudo o que encontrei documentado e provavelmente foi feito pela Technisat apenas para a fabricação do rádio. Possui comandos para ler e escrever a EEPROM, que pode ser usada para recuperar o código seguro. A área de código segura da EEPROM é normalmente filtrada desses comandos, mas outro comando desativa a filtragem.
Também desenvolvi vários outros projetos como um efeito colateral deste trabalho:
F2MC8DUMP: Explore para despejar a ROM interna dos microcontroladores Fujitsu F2MC-8L
F2MC8DASM: Fujitsu F2MC-8 Desmontagem que gera saída compatível com o assembler ASF2MC8
K0DASM: NEC 78K0 Desmontingbler que gera saída compatível com o AS78K0 Assemplo
K0EMU: NEC 78K0 Emulador capaz de executar grandes partes do firmware VW Premium 5
M740DASM: Mitsubishi 740 Desmontings que gera saída compatível com o AS740 Assember
Mike Naberezny