Ir ao conteúdo
  • Cadastre-se

C++ Como descompilar um .exe?


Silver.

Posts recomendados

Olá à todos. 

Essa dúvida parece que é antiga, mas... Tem como descompilar um arquivo .exe hoje em dia?

"Porque esse cara está querendo fazer isso?" É a primeira coisa que alguém se pergunta. E a resposta é que são vários os motivos. O primeiro é que o tal arquivo contém um ''Win64:PUP-gen'', e um ''Win32:Mawere-gen''... Este tipo de malícia é muito comum na comunidade que produz estes exe's, até porque não são feitos por empresas, mas por devs que que usam apenas nicnames. Além do mais, o cara que fez este exe abandonou o projeto à mais de 6 meses, até porque a malandragem rendeu dinheiro para ele, e não tem muitas opções para substituir o programinha dele.

Então eu gostaria de abrir este arquivo para 'limpar' ele. Eu posso descobrir a versão do C++ e o toolkit que foi usado, uma listas de endereços e IP's que ele acessa secretamente, e um endereço de 34 caracteres (coisas que estão escritas dentro dele) se isto ajudar...

Edit:

Tem uma versão para o Linux do mesmo programa, talvez seja mais fácil descompilar, limpar e modificar para Windows (?).

Link para o comentário
Compartilhar em outros sites

Isso é a coisa mais simples que você aprende quando aprende a programar. Se chama depuração.

E não, você não vai ter o código em C++. C++ é traduzido em código de máquina (Assembly), que são os chamados códigos de operação.

 

Um programa legal para isso é o Cheat Engine

 

Citação

Eu posso descobrir a versão do C++ e o toolkit que foi usado

A versão do C++ não. Você no máximo acha o nome e versão do compilador!

 

E outra dica, aprenda a programar cara. Essa pergunta poderia ter sido evitada...

Link para o comentário
Compartilhar em outros sites

É possível sim, existe até uma boa ferramenta para isso, chamada: IDA Disassembler, que infelizmente é pago, mas se você pesquisar você vai encontrar ele crackeado em outros sites que obviamente não posso colocar o link ou citar nomes.


Obviamente que você vai ter que pegar uma experiencia com ele, além que o código não é totalmente legivel, você vai precisar de experiencia para transformar o pseudocode.

 

Um exemplo:

 

Considere o seguinte código escrito em C:

int main()
{
    char nome[500] = { 0 };
    printf("Insira seu nome: ");
    fgets(nome, 499, stdin);

    printf("Seu nome: %s\n", nome);

    system("pause");

    return 0;
}

 

Código descompilado:

 

gnr1oNg.png

 

Obviamente existe formas de proteger o código contra engenheiros reversos, as formas mais comuns são usando Packers e virtualizando o código ou Polymorphic/Metamorphic Engines. Mas mesmo assim dá para burlar isso, basta fazer unpack, o que é mais complicado é quando está virtualizado, você vai ter que fazer uma analise completa no código e com muita eng. reversa você consegue reconstruir.

 

A maioria dos malwares fazem de tudo para complicar a vida dos analistas de malwares.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...