Descompilar Delphi
Seção 1 Sobre Engenharia Reversa
Descompilar? Reverter? Descriptografar? (Descompilação? Reversa? Cracking?)
Simplificando, a descompilação é o reverso do processo de compilação: traduzir um arquivo executável para uma linguagem de nível superior. Se você perdeu o programa fonte do seu projeto Delphi e possui apenas o arquivo executável: a engenharia reversa (descompilação) é útil se o programa fonte não estiver mais disponível.
Sim, "o programa fonte não está disponível", isso significa que podemos descompilar projetos Delphi desenvolvidos por outros programadores? Bem, certo ou errado...
A verdadeira descompilação é possível? (A verdadeira descompilação é possível?)
Não, claro que não. A descompilação totalmente automatizada é impossível – nenhum descompilador pode reconstruir corretamente o código original.
Quando um projeto Delphi é compilado e vinculado para produzir um arquivo executável independente, a maioria dos nomes usados no programa são convertidos em endereços. A perda de nomes significa que o descompilador deve criar nomes exclusivos para todas as constantes, variáveis, funções e procedimentos. Mesmo que a descompilação seja bem-sucedida até certo ponto, o "código-fonte" resultante ainda carece do significado original dos nomes de variáveis e funções.
É óbvio que a sintaxe da linguagem de programação original não existe mais no arquivo executável. Portanto, é muito difícil para o descompilador traduzir as instruções contínuas em linguagem de máquina do arquivo executável e determinar as instruções em linguagem original.
Por que e quando usar (Por que e quando usar.)
A engenharia reversa é usada por vários motivos:
Isso é legal? (Isso é legal?)
Engenharia reversa não é descriptografia, embora seja difícil traçar uma linha clara entre as duas. Os programas de computador são protegidos por leis de direitos autorais e marcas registradas. Diferentes países têm diferentes interpretações dos direitos dos proprietários de direitos autorais. A explicação mais comum é que a descompilação é aceitável nas seguintes circunstâncias:
Para efeitos de melhor explicação, mas a descrição da interface já não está disponível Para efeitos de correção de erros, mas o titular dos direitos de autor não pode efetuar a correção Para efeitos de determinar se parte do programa está protegida; Obviamente, se você não tiver certeza se tem permissão para desmontar os arquivos executáveis de determinados programas, tome cuidado ou entre em contato com seu advogado.
NOTA: Se você está procurando como hackear o Delphi, um gerador de chaves ou apenas um número de série: você está procurando no lugar errado. Certifique-se de que tudo o que você escreve ou apresenta aqui seja apenas para fins educacionais e de pesquisa.