Engenharia Reversa em um Sistema Legado Sem Documentação

Quando entrei no projeto de SSO, o motor de autenticação biométrica existente não tinha documentação, não tinha testes, e o autor original já tinha saído da empresa há tempos. Eram 800 linhas de código legado conectadas a um WebSocket e a um punhado de endpoints de API que ninguém conseguia explicar.

Por onde comecei

Em vez de chutar, tratei aquilo como uma investigação:

  • Rastreei cada mensagem do WebSocket para entender o handshake entre o cliente e o dispositivo biométrico.
  • Logei cada chamada HTTP de saída para reconstruir a superfície de API sem especificação.
  • Comparei o comportamento entre os fluxos de digital e reconhecimento facial, já que compartilhavam caminhos de código de formas que não eram óbvias pela estrutura.

O que encontrei

Algumas coisas chamaram atenção imediatamente: senhas eram tratadas de um jeito que não passaria numa revisão de segurança hoje, e a lógica de retentativa para leituras falhas praticamente não existia — uma leitura falha simplesmente parecia um travamento para quem estava usando.

O resultado

Mapear o sistema por completo foi o que viabilizou a nova implementação em .NET com CQRS. Finalmente conseguimos separar "o que esse sistema faz" de "como esse arquivo de 800 linhas faz isso", e reconstruir a interface de autenticação em React com estados de erro reais, lógica de retentativa e, pela primeira vez, uma especificação Swagger documentada para todo o fluxo.

A lição que ficou comigo: código legado sem documentação não é uma parede, é um quebra-cabeça. Só precisa de um método pra desmontar com segurança.

Vamos conversar?

Tem um projeto, uma vaga ou só quer trocar uma ideia sobre o assunto? Envie uma mensagem.

Entrar em contato