Urgent.News

One page, thousands of outlets. See who else covered it.

Editions

Tech

Comprei um water cooler sem suporte para Linux. Então fiz engenharia reversa do software.

Quando comprei um Water Cooler Pichau Aqua 120X , a ideia era simples: resfriar e usar o display LCD para mostrar a temperatura da CPU. O problema apareceu quando fui procurar o software. O fabricante disponibilizava uma aplicação para Windows, mas não existia suporte nativo para Linux. O hardware funcionava normalmente como dispositivo USB, mas o display não recebia nenhuma informação. Em outras…

A pessoa comprou um Water Cooler Pichau Aqua 120X com a intenção de usar o display LCD para exibir a temperatura da CPU. No entanto, não havia suporte nativo para Linux, apenas uma aplicação para Windows. O hardware funcionava normalmente como dispositivo USB, mas o display não estava recebendo nenhuma informação. Para resolver esse problema, a pessoa decidiu usar engenharia reversa do software.

O primeiro passo foi identificar como o dispositivo aparecia no Linux. O dispositivo apareceu como /dev/ttyACM0, o que indicava que existia uma interface serial disponível no sistema. Com isso, a pessoa começou a testar os bytes enviados pelo software oficial para o dispositivo. Ela encontrou várias funções relacionadas ao envio de informações como temperatura da CPU, frequência do CPU e da GPU, entre outras.

A partir das referências encontradas, a pessoa descobriu como o software encontra o dispositivo e como configura a comunicação serial no Linux. A configuração usada pelo software oficial era 1.000.000 baud, 8N1. Ela também descobriu o formato dos dados enviados ao dispositivo.

Com essa informação, a pessoa montou o formato dos pacotes enviados ao dispositivo. Os pacotes consistiam em 23 bytes, onde o primeiro byte era fixo (t), seguido por um flag, campos de bytes de diferentes tamanhos e um XOR escondido nos bytes de 16 e 32 bits. Para enviar um pacote, a pessoa precisava montar os bytes, manter os dois primeiros intactos e aplicar XOR 0x02 nos bytes restantes.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Beyond the age of the console

Beyond the Console: Is Cloud Gaming Finally Ready to Take Over? A decade ago, trying to play a graphic-heavy game like Cyberpunk 2077 or Alan Wake 2 on an ultrabook or a smartphone would have melted…

More from Monday 17 August →