O que é Decompiler?
É uma ferramenta de tradução que converte código de máquina de volta para uma linguagem de programação legível.
Definição
Quando um programa de computador é compilado, os códigos compreensíveis para humanos são transformados em linguagem de máquina, ou seja, em números que apenas o processador entende. O descompilador tenta reverter esse processo, transformando esses números, que parecem complexos e sem sentido, de volta ao formato de código-fonte no qual os desenvolvedores podem trabalhar. Esse processo é geralmente usado em situações em que o código-fonte original foi perdido ou para entender como um programa funciona.
Como funciona
Ele recebe o arquivo executável do programa e analisa as sequências de comandos contidas nele. Em seguida, associa esses comandos a estruturas de linguagem de programação que desempenham funções semelhantes. O texto resultante, embora não seja exatamente igual ao código original, oferece um esboço que permite entender sua lógica.
Onde é usado
É usado em pesquisas de segurança de software, para entender como um aplicativo funciona ou para atualizar softwares antigos cujo código-fonte foi perdido.
Costuma ser confundido com
É confundido com o compilador (Compiler); o compilador traduz o código para a máquina, enquanto o descompilador traduz o código de máquina para o humano.
Perguntas frequentes
Posso obter o código original exatamente igual com um descompilador?
Geralmente não; porque, durante a compilação, alguns nomes de variáveis e linhas de comentário são excluídos, por isso o resultado obtido pode ser um pouco mais complexo e sem nomes.
Todo programa pode ser descompilado?
Tecnicamente, a maioria pode, mas alguns softwares são protegidos por métodos de 'ofuscação', ou seja, técnicas de embaralhamento de código que dificultam esse processo.
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 →