O que é um Decompiler?

Um decompiler é um programa que tem código executável e produz o código-fonte dele.

Um compilador gera código executável em código fonte; Um decompiler tentativas de reverter esse processo.

Um decompiler especializada é uma versão de um disassembler. Enquanto um disassembler converte código executável a linguagem assembly, um decompiler tenta ir mais longe e converter o código executável de código fonte em uma linguagem de nível superior, como C ou C + +.

Decompilers

Boomerang

A meta é a Boomerang projeto é uma tentativa de desenvolver um verdadeiro código máquina decompiler para programas através da comunidade de fonte aberta. Um decompiler toma como entrada um arquivo executável, e tenta criar um alto nível, compilável, possivelmente até mesmo manter arquivo fonte que faz a mesma coisa. É, portanto, o oposto de um compilador, que tem um arquivo de origem e faz um executável. No entanto, um decompiler geral não tenta inverter a cada acção do decompiler, mas sim um programa transforma a entrada várias vezes até que o resultado é elevado nível de código fonte. É, portanto, não irá recriar o arquivo fonte original; provavelmente nada parecido. Não importa se o arquivo executável tem símbolos ou não, ou foi compilada a partir de uma determinada língua. (No entanto, linguagens declarativas como ML não são considerados.)

A intenção é criar um decompiler retargetable (ou seja, um que pode descompilar diferentes tipos de arquivos com código máquina modesta esforço, por exemplo, X86-janelas, sparc-solaris, etc.) Também foi destinado a ser altamente modular, de forma que diferentes partes do decompiler pode ser substituído por módulos experimentais. Foi destinado para eventualmente tornar-se interactivo, um la IDA Pro, porque algumas coisas (não apenas variável nomes e comentários, embora estas sejam, obviamente, muito importante) exigem perito intervenção. Se pertence a interatividade na decompiler ou em uma ferramenta separada permanece obscura.

Ao transformar a semântica de cada uma das instruções, e usando técnicas como a poderosa Static Single Assignment dataflow análise, deve ser Boomerang (principalmente) independente do comportamento exato do compilador que aconteceu a ser utilizado. Otimização não deverá afectar os resultados. Assim, o objetivo geral é um decompiler.



Top 5 Free Networking Ferramentas

Bookmark O que é um Decompiler?

Latest Blog Posts


Inglês Inglês Alemão Alemão Espanhol Espanhol Francês Francês Italiano Italiano Português Português Russo Russo Holandês Holandês
Grego Grego Hindi Hindi Japonês Japonês Coreano Coreano Chinês Chinês Chinês (simplificado) Chinês (simplificado) Árabe Árabe

Copyright 2009 Tech-FAQ. Todos os direitos reservados. Política de Privacidade.