17

Есть ли способ обнаружить (или скрыть) компилятор, который использовался для создания исполняемого файла?

6 ответов6

11

PEiD довольно хорошо

PEiD обнаруживает наиболее распространенные упаковщики, криптаторы и компиляторы для файлов PE. В настоящее время он может обнаружить более 600 различных подписей в файлах PE.

PEiD является особенным в некоторых аспектах по сравнению с другими уже существующими идентификаторами!

  1. Он имеет превосходный графический интерфейс, а интерфейс действительно интуитивно понятен и прост.
  2. Показатели обнаружения являются одними из лучших, которые дает любой другой идентификатор.
  3. Специальные режимы сканирования для расширенного обнаружения измененных и неизвестных файлов.
  4. Интеграция с оболочкой, поддержка командной строки, Always on top и возможности Drag'n'Drop.
  5. Многократное сканирование файлов и каталогов с рекурсией.
  6. Просмотрщик задач и контроллер.
  7. Плагин Интерфейс с плагинами, такими как Generic OEP Finder и Krypto ANALyzer.
  8. Дополнительные методы сканирования используются для еще лучшего обнаружения.
  9. Варианты эвристического сканирования.
  10. Новые PE детали, импорт, экспорт и просмотрщики TLS
  11. Новый встроенный быстрый дизассемблер.
  12. Новый встроенный в hex Viewer.
  13. Внешний интерфейс подписи, который может обновляться пользователем.
8

Попробуйте служебные строки * nix. Использование strings -a foo.exe должно дать кучу результатов. Перенаправьте в файл и изучите в своем любимом редакторе. Вы можете увидеть либо строку, которая напрямую связана с конкретным компилятором, например Borland C++ - Borland Corporation, 2002 г., Copyright. Вы могли бы только найти строки, которые подразумевают, что использовался определенный компилятор, например, во включаемом пути или что-то еще.

Строки также доступны для Windows как часть Cygwin, или как часть пакета Microsoft sysinternals.

3

(Старый, но хорошо ..)

Язык 2000 : http://farrokhi.net/language

1

Не бесплатно, но IDA Pro имеет очень хорошее обнаружение компилятора. Конечно, это не основная функция, а приятное дополнение.

0

Если вы можете найти способ проверить первые дюжины байтов файла EXE, в шестнадцатеричном дампе с отображаемыми соответствующими символами ASCII они обычно будут указывать используемый компилятор.

-1

Вы можете использовать "обходчик зависимостей", чтобы проверить, на какую библиотеку времени выполнения он ссылается. MSVCP100 - это Microsoft Visual C++ 2010 x86

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .