Есть ли способ обнаружить (или скрыть) компилятор, который использовался для создания исполняемого файла?
18
PEiD довольно хорошо
PEiD обнаруживает наиболее распространенные упаковщики, криптаторы и компиляторы для файлов PE. В настоящее время он может обнаружить более 600 различных подписей в файлах PE.
PEiD является особенным в некоторых аспектах по сравнению с другими уже существующими идентификаторами!
- Он имеет превосходный графический интерфейс, а интерфейс действительно интуитивно понятен и прост.
- Показатели обнаружения являются одними из лучших, которые дает любой другой идентификатор.
- Специальные режимы сканирования для расширенного обнаружения измененных и неизвестных файлов.
- Интеграция с оболочкой, поддержка командной строки, Always on top и возможности Drag'n'Drop.
- Многократное сканирование файлов и каталогов с рекурсией.
- Просмотрщик задач и контроллер.
- Плагин Интерфейс с плагинами, такими как Generic OEP Finder и Krypto ANALyzer.
- Дополнительные методы сканирования используются для еще лучшего обнаружения.
- Варианты эвристического сканирования.
- Новые PE детали, импорт, экспорт и просмотрщики TLS
- Новый встроенный быстрый дизассемблер.
- Новый встроенный в hex Viewer.
- Внешний интерфейс подписи, который может обновляться пользователем.
Попробуйте служебные строки * nix . Использование
strings -a foo.exe
должно дать кучу результатов. Перенаправьте в файл и изучите в своем любимом редакторе. Вы можете увидеть строку, которая напрямую связана с конкретным компилятором, например Borland C ++ - Borland Corporation, 2002 г., Copyright . Вы могли бы только найти строки, которые подразумевают, что использовался определенный компилятор, такой как в пути включения или что-то еще.Строки также доступны для Windows как часть Cygwin или как часть пакета Microsoft sysinternals .
источник
(Старый, но хорошо ..)
Язык 2000 : http://farrokhi.net/language
источник
Не бесплатно, но IDA Pro имеет очень хорошее обнаружение компилятора. Конечно, это не основная функция, а приятное дополнение.
источник
Если вы можете найти способ проверить первые дюжину байтов файла EXE, в шестнадцатеричном дампе с отображаемыми соответствующими символами ASCII они обычно будут указывать используемый компилятор.
источник
Вы можете использовать «обходчик зависимостей», чтобы проверить, на какую библиотеку времени выполнения он ссылается. MSVCP100 - это Microsoft Visual C ++ 2010 x86
источник