Detectar o compilador usado para o arquivo EXE

18

Existe alguma maneira de detectar (ou ocultar) o compilador usado para criar um arquivo executável?

Remus Rigo
fonte

Respostas:

12

PEiD é muito bom

O PEiD detecta os empacotadores, criptografadores e compiladores mais comuns para arquivos PE. Atualmente, ele pode detectar mais de 600 assinaturas diferentes nos arquivos PE.

O PEiD é especial em alguns aspectos, quando comparado a outros identificadores já disponíveis!

  1. Ele possui uma excelente interface gráfica e a interface é realmente intuitiva e simples.
  2. As taxas de detecção estão entre as melhores fornecidas por qualquer outro identificador.
  3. Modos especiais de digitalização para detecção avançada de arquivos modificados e desconhecidos.
  4. Integração com shell, suporte à linha de comando, recursos Always on top e Drag'n'Drop.
  5. Múltipla varredura de arquivos e diretórios com recursão.
  6. Visualizador de tarefas e controlador.
  7. Interface de plug-in com plug-ins como Generic OEP Finder e Krypto ANALyzer.
  8. Técnicas de digitalização extras usadas para detecções ainda melhores.
  9. Opções de verificação heurística.
  10. Novos detalhes de PE, importações, exportações e visualizadores TLS
  11. Novo desmontador rápido incorporado.
  12. Novo visualizador hexadecimal integrado.
  13. Interface de assinatura externa que pode ser atualizada pelo usuário.
Sathyajith Bhat
fonte
4
"O PEiD detecta os compiladores [...] mais comuns para arquivos PE." Isso é o que o leia-me diz - na verdade ele não diga como achive que
mbx
@Sathya Note, o link incluído está morto agora.
DuckMaestro 5/12/12
@DuckMaestro atualizados Witi um link alternativo
Sathyajith Bhat
Se ele não conseguir detectar o compilador, algo como Nada encontrado [Overlay] * será exibido - o que é confuso se você usar essa ferramenta pela primeira vez.
Mbx
"O site a seguir contém programas prejudiciais" - Google Chrome. Aqui está um link melhor.
Ben N
8

Experimente as seqüências de caracteres do utilitário * nix . Usar strings -a foo.exe deve produzir uma pilha de resultados. Redirecione para um arquivo e examine em seu editor favorito. Você pode ver uma linha que implica diretamente um compilador específico, como o Borland C ++ - Copyright 2002 Borland Corporation . Você pode encontrar apenas linhas que impliquem que um compilador específico foi usado, como em um caminho de inclusão ou o que for.

O Strings também está disponível para Windows como parte do cygwin ou como parte do pacote microsoft sysinternals .

DaveParillo
fonte
Ele não me mostra o nome do compilador, apenas alguns projetos de nomes de DLL
Eduardo Xavier
1

Não é gratuito, mas o IDA Pro possui uma detecção muito boa do compilador. Não é a principal função, é claro, mas um bom extra.

Henno
fonte
0

Se você puder encontrar uma maneira de examinar a primeira dúzia de bytes do arquivo EXE, em um dump hexadecimal com os caracteres ASCII correspondentes exibidos, eles geralmente indicarão o compilador usado.

pavium
fonte
1
eu queria saber se alguém ou algum software pode encontrar se o exe foi construído com uma edição compilador específico (Visual Studio 2010 Professional ou Enterprise ou Express)
Remus Rigo
Isso geralmente não é verdade. A primeira parte de um arquivo PE é o stub do DOS, que geralmente é um programa que imprime algo como "Este programa não pode ser executado no modo DOS".
lesderid
-1

Você pode usar o "dependency walker" para verificar a qual biblioteca de tempo de execução está vinculada. MSVCP100 é Microsoft Visual C ++ 2010 x86

user509763
fonte