В общем случае задача нерешаема.
Однако в некоторых частных случаях вполне можно определить, каким компилятором была скомпилирована программа.
К примеру в составе mingw есть утилита strings способная извлекать из исполняемого файла текстовые строки. Если программа создана сишным компилятором от микросовта можно найти строку:
Visual C++ CRT
если GCC:
Mingw runtime
если Free Pascal:
FPC 2.6.0
и т. д.
Программы Delphi/Borland C++ Builder часто тянут с собой runtime (всякие dll), в названии которого есть слово "borland".
Программы на C#, VB.NET, С++/CLI тянут .net framework и без него просто не работают.
Упакованные в exe программы на скриптовых языках типа tcl, ruby, python, php можно распаковать и в некоторых случаях даже посмотреть исходники.
Кроме того есть утилита PEiD, которая может по сигнатурам (специфичным участкам кода) определять компилятор, но к сожалению она уже не развивается и не определяет современные компиляторы.
Поделки криворуких говнокодеров на Delphi/Borland C++ Builder можно спокойно определить на глаз по кривости интерфейса, но если программу в этих средах писал нормальный программист, то на глаз не получится.
ЗЫ:
А собственно зачем это нужно? Если программа работает, не все ли равно на чем она написана?
Другие языки программирования и технологии
как узнать в какой среде написана программа?
дизассемблером его и посмотреть какие операнды
Никак. Можно попытаться узнать, каким компилятором она была скомпилирована, но вот был ли вызван компилятор из командной строки, из блокнота или из какой то IDE’шки узнать не возможно.
В нетрезвой
Похожие вопросы
- Помогите написать программу со switch в СИ
- Какую написать программу?
- Нужно написать программу на паскале
- Помогите написать программу на С. Тема Составление программ с использованием массивов
- написал программу на с++ работает, но есть маленький вопрос
- Как написать программу в паскале
- Помогите на С# написать программу на поиск Синуса с косинусом.
- Какую среду разработки программ для Windows выбрать?
- Напишите программу, которая находит в массиве количество элементов, равных заданному значению X .
- Как написать программу на Delphi программа которая бы постоянно висело в памяти и через определенное