A engenharia reversa em controladores de luz LED por Bluetooth LE, ou Como Estraguei Minhas Luzes de Natal
Um entusiasta da automação residencial compartilhou sua saga de engenharia reversa com controladores de luzes LED de baixo custo para integrá-los ao sistema Home Assistant. Após várias tentativas bem-sucedidas, ele se deparou com um desafio natalino que terminou de maneira inesperada.
O aventureiro tecnológico investiu tempo desvendando os protocolos de comunicação de uma fita de LED não endereçável, adquirida por apenas £2,38, conseguindo conectá-la ao sistema de automação em poucas horas. A façanha foi repetida com um controlador LEDnetWF, cujo processo de engenharia reversa também está documentado online.
Durante os preparativos natalinos de seu escritório, outro conjunto de LEDs endereçáveis chamou sua atenção. Utilizando o aplicativo 'iDeal LED', que controla as luzes e oferece uma série de funcionalidades, o desafio parecia simples. No entanto, o que deveria ser uma tarefa direta revelou-se uma jornada repleta de surpresas.
Ele iniciou o processo capturando os bytes enviados pelo aplicativo via Bluetooth, utilizando o modo de desenvolvedor em um dispositivo Android e ferramentas como Wireshark e ADB. Com a ajuda dessa técnica, foi possível identificar os padrões de comandos enviados às luzes.
Avançando na empreitada, o passo seguinte envolveu ataques de replay e a decompilação do aplicativo Android em busca dos segredos de seu funcionamento. A análise do código fonte sugeria a utilização de uma criptografia AES, o que levou a um esforço colaborativo para desvendar a chave de criptografia.
Após a descoberta da chave, foi possível decifrar e replicar os pacotes de dados, permitindo o controle das luzes fora do aplicativo oficial. O entusiasmado engenheiro então começou a explorar funções adicionais, documentando cada ação e padrão observado.
No entanto, a curiosidade teve seu preço. Ao testar valores fora do espectro utilizado pelo aplicativo, as luzes foram inesperadamente desativadas e não puderam ser reiniciadas, resultando na 'morte' do controlador.
Apesar do revés, o entusiasta não desistiu. Ele documentou a maior parte do protocolo e criou um componente customizado para o Home Assistant, disponibilizando o projeto no GitHub com a advertência: proceda por sua conta e risco.
GitHub: 8none1/idealLED
Confira os últimos vídeos publicados no canal