Elimine automaticamente a tela de "Aviso" que aparece sempre que você liga seu Honda Civic
🇧🇷 Português · 🇺🇸 English
Toda vez que você liga o carro, a central mostra o Aviso. Antes era clicar manualmente. Agora o aviso aparece e some sozinho em ~3 segundos — você nem precisa tocar na tela.
Cada vez que você liga o carro, a central mostra:
"Aviso — O motorista é o responsável pela condução segura deste veículo..."
E você tem que clicar OK. Toda. Vez. Até o CarPlay subir. Toda ligada do carro, 365 dias por ano, por anos.
A Honda nunca liberou uma configuração pra desabilitar isso.
Instalamos um APK + su setuid no /system/ da central via a vulnerabilidade EvilValet (descoberta por juniperspring.org) — um pacote OTA "falso" assinado com testkey AOSP pública.
Depois de instalado, o APK:
- Monitora o logcat procurando a Activity do Aviso aparecer
- Espera ~2 segundos (deixa a UI renderizar completa)
- Dispara um tap simulado via
su -c "input tap 400 350"nas coordenadas do botão OK - Aviso some. Você nem percebeu.
Zero toque humano. Funciona em todas as ligadas do carro, pra sempre.
No PC (uma vez, ~15 min):
- Compila o APK (
gradlew assembleRelease) - Assina com debug keystore (
apksigner) - Monta pacote OTA assinado com testkey AOSP (
python3 build.py) - Grava num pendrive FAT32 (
prepare-pendrive-install.sh)
No carro (uma vez, ~10 min):
- Pendrive na porta USB-A frontal
- Segura
AUDIOpor 5s → confirma "Quer reiniciar?" - Central reinicia, recovery aplica o pacote
- APK +
suem/system/— permanente
Em operação (automático, pra sempre):
- A cada boot do carro, o APK vê o aviso aparecer e dispensa em ~3s
- Zero manutenção. Zero interação.
| Carro | DA Version | Mercado | Rom type | Status |
|---|---|---|---|---|
| Honda Civic 2017 EXL | 1.F187.16 |
🇧🇷 Brasil | 0040 |
✅ Deployado 2026-10-16 |
Mesmo framework Mitsubishi Andromeda — provável que funcione com adaptação de 2 valores:
- Civic G10 2016-2021 (US, EU, AU, outras BR)
- Civic Avancier, Civic URV
- CR-V 2016-2021 (algumas safras)
- Accord 2016+ com Display Audio
Se você tem outra safra, ajude a comunidade — bastam 2 informações pra confirmar: o custom_rom.type e a resolução da tela.
👉 Como adaptar pra outra safra: docs/pt-BR/03-descobrindo-sua-safra.md
Dono de Civic 2017 EXL BR? Deploy em ~20 minutos:
👉 QUICKSTART.md — passo a passo completo
Resumo:
git clone https://github.com/khalleb/honda-civic-headunit.git
cd honda-civic-headunit
./MIGRATION/setup.sh # clona dependências
cd our-apk && ./gradlew assembleRelease # compila APK
# ... assina + copia pro overlay ...
python3 tooling/ota-build/build.py # pacote OTA
sudo ./tooling/scripts/prepare-pendrive-install.sh /dev/sda
# No carro: AUDIO 5s + confirmar reiniciarOutra safra? Primeiro adapte seguindo docs/pt-BR/03-descobrindo-sua-safra.md.
- 🧱 Pode causar brick permanente da central se feito errado. Troca custa R$ 1.000-2.000.
- 📷 A tela também é a câmera de ré — brick = sem ré até trocar.
- 🔄 OTAs oficiais da Honda podem reverter a modificação. Precisa redeployar.
- ✅ CarPlay, Bluetooth, áudio, navegação continuam funcionando — nossa modificação é cirúrgica.
- 🔒 Zero backdoor pra Honda detectar. APK fica como qualquer app do /system/.
Leia o DISCLAIMER.md completo antes de executar qualquer coisa.
Além do APK que resolve o aviso, mapeamos muito da plataforma Mitsubishi Andromeda. Útil pra quem quer adaptar pra outra safra, construir outros apps no mesmo HU, ou entender o fluxo real de power da central (LP0, câmera de ré, HMI service start).
Resumo com links pros docs densos: DISCOVERIES.md.
Alguns highlights:
- 16 broadcasts do PowerManager mapeados, com causas conhecidas (
ColdBoot,ExitLP0,AccOnRestart). 33 APKs do shipping escutamACTION_HMI_SERVICE_START— é o contrato oficial de recovery pós-LP0, não workaround. - 364 interfaces AIDL em 63 domínios.
appservice.vehicleinfomanagersozinho tem 37 listeners cobrindo marcha, velocidade, VIN, FOB key atual, ângulo do volante. - 445 broadcasts vendor em 48 prefixos (navi, HFT, câmera, launcher, PowerManager, diag).
- 27 ContentProvider authorities (9 vendor, incluindo o fluxo real da whitelist Mitsubishi — que, surpresa, é UX-only e não afeta LP0).
- Hall of fame de 14 bugs resolvidos com causa raiz documentada — útil pra outros projetos de RE Mitsubishi.
Infraestrutura que vive junto do projeto e serve pra outros HUs com mesmo stack:
tooling/deodex/deodex-apk.sh— automatiza odex → APK pra qualquer APK Mitsubishi (toda a vendor-app é pre-dexed). Validado em 160 APKs do dump.- Pacote OTA EvilValet com
busyboxARM embarcado — nossa safra precisa porque o recovery BR não tem/sbin/sh. Serve pra outras safras do mesmo recovery. - Pacote OTA de deep-scan — dumpa
/system,/data/system/packages.xml, árvore de partições +/proc/*numa passada só. Alimenta o atlas da central. - Fluxo REA + MCP já configurado em
tooling/deodex/— análise estática de qualquer APK Android pelo agente.
Nenhum destes está em execução hoje — todos aguardam decisão de abrir fase nova. Lista curta, detalhes em ROADMAP.md.
- Fase 9 — câmera de ré via API oficial. Trocar o logcat polling atual por bind no
ICameraAPServiceReverseSignalListener, comACTION_RESUME_CAMERAcomo fallback. - Validar
DISCLAIMER_COMPLETEcomo sinal canônico de aviso dispensado — 1 teste no carro, zero código. - Dumpar
com.honda.displayaudio.whitelist.apkreal pra confirmar formato do XML (hoje é inferido do parser). - Testar
persist.sys.keyoff_reboot=1— teoricamente força cold boot a cada keyoff e elimina a complexidade LP0.
| Doc | Descrição |
|---|---|
QUICKSTART.md |
Deploy em 20 min |
docs/pt-BR/00-visao-geral.md |
O que foi feito e por quê |
docs/pt-BR/01-arquitetura-ataque.md |
Como EvilValet funciona |
docs/pt-BR/02-pre-requisitos.md |
Hardware, software, keystore |
docs/pt-BR/03-descobrindo-sua-safra.md |
Adaptar pra outras safras |
docs/pt-BR/04-build-do-pacote.md |
Compilar o pacote OTA |
docs/pt-BR/05-deploy-no-carro.md |
Protocolo no carro |
docs/pt-BR/06-troubleshooting.md |
Debug quando algo não funciona |
docs/pt-BR/07-rollback.md |
Reverter tudo |
docs/pt-BR/08-backups-e-rollback.md |
Catálogo de backups |
| Doc | Description |
|---|---|
README.en.md |
README |
docs/en/00-overview.md |
What the project does and why |
docs/en/01-attack-architecture.md |
How the EvilValet attack works |
docs/en/02-prerequisites.md |
Hardware, software, keystore |
docs/en/03-finding-your-firmware.md |
Adapt for other firmware |
docs/en/04-building-the-package.md |
Build the OTA package step by step |
docs/en/05-deploying-in-car.md |
Deploy protocol in the car |
docs/en/06-troubleshooting.md |
Decision tree when something fails |
docs/en/07-rollback.md |
Revert everything |
docs/en/08-backups.md |
Full backup catalog |
DISCOVERIES.md— Índice navegável dos achados técnicosROADMAP.md— Próximos passos, descartados com motivodocs/raio-x/— Scan estático da plataforma: 364 AIDLs, 445 broadcasts, 27 providers, 48 sysprops, trust map de 110 APKsdocs/whitelist-mitsubishi-2026-10-19.md— Fluxo completo da whitelist Mitsubishi + mapeamento do recovery pós-LP0docs/MAPA.md— Atlas navegável da central (partições, APKs, services, pipeline)docs/fase7-deploy-2026-10-16/— 7 docs com jornada, descobertas, receitas, dumps, arquitetura do APK, manutenção
Este projeto não existiria sem o trabalho de:
- librick / Eric McDonald — descoberta e documentação técnica da vulnerabilidade EvilValet,
ota-builder,apk-rebuilder(ic1101) - @codeage — ferramenta de root com
suARM estático, SuperSU, análise da whitelist Mitsubishi - @jersacct — projeto-mãe para rooting de Honda via DirtyCOW
Nossa contribuição é a adaptação para a safra brasileira 1.F187.16 (rom type 0040, combo AUDIO 5s para cold boot, descoberta de que o recovery BR não tem /sbin/sh e precisa de busybox embarcado, APK persistente que re-arma após cada tap, pipeline de deep-scan pra sincronizar o atlas da central).
Detalhes técnicos: docs/fase7-deploy-2026-10-16/02-descobertas-tecnicas.md § 0.
Encorajamos:
- Tem outra safra Honda G10? Abra uma issue com o template
nova-safra.md. Informe VIN prefix, DA version,custom_rom.type, resolução. Juntamos matriz de compatibilidade. - Encontrou bug ou melhoria? Issues + PRs bem-vindos.
- Quer traduzir pra outro idioma? Fork + PR com nova pasta
docs/<lang>/. Prioridade: completar tradução EN dos docs 01, 02, 04, 05, 06. - Testou em outro carro e funcionou? Reporta via issue — vira linha na tabela de compatibilidade.
Veja CONTRIBUTING.md pra detalhes.
Código: MIT. Documentação: CC BY 4.0.
Software proprietário Honda/Mitsubishi referenciado é propriedade de seus respectivos donos. Este repo NÃO distribui firmware proprietário — você precisa dumpar do seu próprio HU (ver docs/pt-BR/03-descobrindo-sua-safra.md).
Feito pela comunidade Civic G10, pra comunidade Civic G10.
🇧🇷 Português · 🇺🇸 English
