{
  "id": 1565412,
  "title": "Comprei um water cooler sem suporte para Linux. Então fiz engenharia reversa do software.",
  "url": "https://urgent.news/2026/08/17/comprei-um-water-cooler-sem-suporte-para-linux-entao-fiz-engenharia",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-08-17T20:50:09.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/kleber333/comprei-um-water-cooler-sem-suporte-para-linux-entao-fiz-engenharia-reversa-do-software-4gli"
  },
  "original_language": "pt",
  "account": "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.\n\nO 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.\n\nA 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.\n\nCom 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.",
  "summary": "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…",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}