Определить компилятор, используемый для EXE-файла

28481
Remus Rigo

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

17

6 ответов на вопрос

11
Sathya

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. Внешний интерфейс подписи, который может обновляться пользователем.
«PEiD обнаруживает наиболее распространенные [...] компиляторы для файлов PE». это то, что говорит readme - на самом деле это не говорит, как достичь этого mbx 12 лет назад 4
@ Сатья Обратите внимание, включенная ссылка теперь мертва. DuckMaestro 11 лет назад 0
@DuckMaestro обновлен с альтернативной ссылкой Sathya 11 лет назад 0
Если он не может обнаружить компилятор, будет показано что-то вроде _Nothing found [Overlay] * _ - что может сбить с толку, если вы впервые используете этот инструмент. mbx 9 лет назад 0
«Сайт впереди содержит вредоносные программы» - Google Chrome. [Вот лучшая ссылка.] (Http://www.softpedia.com/get/Programming/Packers-Crypters-Protectors/PEiD-updated.shtml) Ben N 8 лет назад 0
8
DaveParillo

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

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

Это не показывает мне имя компилятора, только некоторые проекты имен DLL Eduardo Xavier 10 лет назад 0
3
hB0

(Old but okay..)

Language 2000 : http://farrokhi.net/language

1
Henno

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

0
pavium

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

Мне было интересно, если кто-то или какое-то программное обеспечение может найти, был ли exe-сборка с определенной версией компилятора (Visual Studio 2010 Professional или Enterprise или Express) Remus Rigo 14 лет назад 1
Обычно это не так. Первая часть PE-файла - это заглушка DOS, обычно это программа, которая печатает что-то вроде «Эта программа не может быть запущена в режиме DOS». lesderid 12 лет назад 0
-1
user509763

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

Похожие вопросы