← Glossário
Glossário · Dev

O que é Software Reverse Engineering?

É o processo de analisar o código ou a estrutura de um software pronto para entender como ele funciona.

Definição

É um trabalho de detetive realizado quando você tem apenas um programa em execução e não consegue acessar seu código-fonte. Ao analisar os arquivos binários do programa, você revela sua lógica, vulnerabilidades de segurança ou princípios de funcionamento.

Analogia: É como abrir um relógio completo e examinar como as engrenagens giram para entender como o relógio foi feito.

Como funciona

Usando ferramentas de análise especializadas (desmontadores/descompiladores), os códigos de máquina do software são tornados legíveis. Em seguida, processos de raciocínio lógico são aplicados sobre esses códigos.

Onde é usado

É utilizado em pesquisas de segurança, na análise de softwares concorrentes ou na modernização de sistemas legados.

Costuma ser confundido com

Não deve ser confundido com a escrita de código; aqui, o objetivo não é produzir, mas sim decifrar o que já existe.

Perguntas frequentes

Isso é legal?

É geralmente aceito para pesquisas de segurança, mas deve-se ter cuidado com direitos autorais e contratos de licença.

Termos relacionados

Ferramentas relacionadas

Esta explicação foi escrita em linguagem simples para a TreScout e traduzida automaticamente do original em turco · a versão turca é a que vale. Se algo parecer errado ou faltando, escreva para hello@trescout.com. Ler em turco →