Existe alguma maneira de detectar (ou ocultar) o compilador usado para criar um arquivo executável?
Existe alguma maneira de detectar (ou ocultar) o compilador usado para criar um arquivo executável?
Respostas:
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!
- Ele possui uma excelente interface gráfica e a interface é realmente intuitiva e simples.
- As taxas de detecção estão entre as melhores fornecidas por qualquer outro identificador.
- Modos especiais de digitalização para detecção avançada de arquivos modificados e desconhecidos.
- Integração com shell, suporte à linha de comando, recursos Always on top e Drag'n'Drop.
- Múltipla varredura de arquivos e diretórios com recursão.
- Visualizador de tarefas e controlador.
- Interface de plug-in com plug-ins como Generic OEP Finder e Krypto ANALyzer.
- Técnicas de digitalização extras usadas para detecções ainda melhores.
- Opções de verificação heurística.
- Novos detalhes de PE, importações, exportações e visualizadores TLS
- Novo desmontador rápido incorporado.
- Novo visualizador hexadecimal integrado.
- Interface de assinatura externa que pode ser atualizada pelo usuário.
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 .
(Velho, mas tudo bem ..)
Idioma 2000 : http://farrokhi.net/language
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.
Você pode usar o "dependency walker" para verificar a qual biblioteca de tempo de execução está vinculada. MSVCP100 é Microsoft Visual C ++ 2010 x86