У меня есть файл.exe, и мне нужно знать, на каком языке была разработана программа. А также есть ли хитрость для просмотра кода (на основе этого файла.exe)? Я использовал Reflector, и теперь я знаю, что это не.NET
user106616 10 мар ’10 в 21:18 2010-03-10 21:18
2010-03-10 21:18
4 ответа
Я сталкивался с этой проблемой раньше. Я только что открыл.exe файл в блокноте. Я нашел имя и версию компилятора. Надеюсь, это поможет кому-то..
user899742 19 июн ’14 в 00:16 2014-06-19 00:16
2014-06-19 00:16
У меня есть файл.exe, и мне нужно знать, на каком языке была разработана программа.
Вообще говоря это невозможно. Любой язык может составлять свою версию «Hello, world!» нацеливание данной платформы (или исполняемого формата) на тот же исполняемый файл (байт за байт).
А также есть ли хитрость для просмотра кода (на основе этого файла.exe)?
Нет, смотри выше. Однако вы можете попробовать декомпилятор по вашему выбору.
Скинул WinLock школьнику + мамка
user45914 10 мар ’10 в 21:20 2010-03-10 21:20
2010-03-10 21:20
Компиляция высокоуровневого языка в низкоуровневый.EXE обычно является односторонним процессом — практически невозможно надежно извлечь значимую информацию из исполняемого файла, касающуюся исходного языка, после завершения процесса. Возможно, вам повезет, и вы обнаружите некоторые идентифицируемые подсказки, оставленные в двоичном файле, или, конечно, найдете сопроводительный файл (например,.pdb), который дает подсказки относительно исходного языка.
Однако то, что содержит.EXE — это (обычно) ассемблер, и иногда его можно декомпилировать обратно в представление программы высокого уровня. Обратите внимание, что это никогда не даст вам точный исходный файл с инструкциями — результат, вероятно, будет очень «многословным» и трудным для отслеживания, просто из-за того, что компилятор сделал в первую очередь, — который стал высокоуровневым «концептуальный» сложный язык в поток низкоуровневых инструкций, отбрасывающий большинство контекстных подсказок, которые не нужны процессору для выполнения кода.
user233653 10 мар ’10 в 21:31 2010-03-10 21:31
2010-03-10 21:31
Я собираюсь противоречить всем, заявляя что-либо в духе «Компиляция языка высокого уровня в файл низкого уровня.EXE — это, как правило, односторонний процесс». Поскольку не все исполняемые файлы скомпилированы в необработанную сборку.
Как это не всегда так. Хорошим примером является C#(.NET), где файл компилируется в IL, а не в необработанном виде. В случае IL вы можете выполнить разборку с источником (даже если процесс выполняется в памяти, например, извлечение из глобального кэша сборок)
Если файл был скомпилирован прямо в необработанную сборку, то в синтаксисе / структуре обычно есть указание на оригинальный язык. Хотя это скорее побочный продукт компилятора, чем сам язык.
Источник: stackru.com
Как поставить иконку на EXE файл
Как определить на чем написана программа?
*.exe файл — это уже скомпилированная программа. Так что самый простой вариант — отловить того кто её написал и допросить.
Вы не можете отвечать в этой теме.
Т.к. тема является архивной.
Поделиться
Ссылка на сообщение
В социальных сетях
Всё ж можно выяснить это VB, .net, C#, Java (да, бывают в exe) или другое.
Вы не можете отвечать в этой теме.
Т.к. тема является архивной.
Поделиться
Ссылка на сообщение
В социальных сетях
PEID
и другие инструменты, умеющие по сигнатурам определять компиляторы/упаковщики
Тогда встречный вопрос — а ЗАЧЕМ это требуется определить :)?
Вы не можете отвечать в этой теме.
Т.к. тема является архивной.
Поделиться
Ссылка на сообщение
В социальных сетях
А можно поинтересоваться, решение какой задачи поставил перед вами этот интерес?
Вы не можете отвечать в этой теме.
Т.к. тема является архивной.
Поделиться
Ссылка на сообщение
В социальных сетях
Самое простое — загрузите на virustotal.com , там будет информация какие библиотеки программа использует и т.д.
Вы не можете отвечать в этой теме.
Т.к. тема является архивной.
Поделиться
Ссылка на сообщение
В социальных сетях
Мне не нужна проверка на вирусы, программа полезного характера.
Вы не можете отвечать в этой теме.
Т.к. тема является архивной.
Поделиться
Ссылка на сообщение
В социальных сетях
Кидай сюда, определим 😉
Вы не можете отвечать в этой теме.
Т.к. тема является архивной.
Поделиться
Ссылка на сообщение
В социальных сетях
Я сказал там будет нужная информация.
Вы не можете отвечать в этой теме.
Т.к. тема является архивной.
Поделиться
Ссылка на сообщение
В социальных сетях
Мне кажется, человек видит то, что хочет видеть.
Например, я не понимаю, решение какой проблемы могло натолкнуть на идею «узнать, на каком языке программирования написан код» и заставить искать решение трудностей в решении этой проблемы.
Но прямой вопрос так и остался без ответа.
Так и тут — ухвачено, что это проверка на вирусы. А не то, что «будет видно, какие библиотеки программа использует», по которым можно будет судить о платформе программирования.
Вы не можете отвечать в этой теме.
Т.к. тема является архивной.
Поделиться
Ссылка на сообщение
В социальных сетях
Так dll можно вызвать хоть из явы
Вы не можете отвечать в этой теме.
Т.к. тема является архивной.
Поделиться
Ссылка на сообщение
В социальных сетях
И что, платформа .NET использует те же dll, что Visual FoxPro или Firebird?
Вы не можете отвечать в этой теме.
Т.к. тема является архивной.
Поделиться
Ссылка на сообщение
В социальных сетях
Да, но обычно не напрямую, должны быть биндинги к библиотеке. Т.е. например, если из ненативной программы нужно работать с zip файлами, для использования zip.dll должен существовать биндинг к этой библиотеке на этом языке (класс на java, в питоне это модули и т.д.). Хотя, некоторые языки позволяют напрямую использовать сишные библиотеки.
Но в любом случае, например программа на VB, например, обязательно использует какие-то специальные библиотеки, зависимость от которых явно указывает что программа на VB, аналогично с другими языками. То есть, можно исследуя зависимости от библиотек, выяснить, написана ли программа на C или C++.
Вы не можете отвечать в этой теме.
Т.к. тема является архивной.
Источник: www.nn.ru
Как проверить, на каком языке была написана программа (.exe). Как просмотреть код?
У меня есть .exe файл, и мне нужно знать, на каком языке программа была разработана. А также есть трюк для просмотра кода (на основе этого .exe файла)? Я использовал Reflector, и теперь я знаю, что это не .NET.
спросил(а) 2010-03-11T00:18:00+03:00 13 лет, 3 месяца назад
добавить комментарий
пожаловаться
Я сталкивался с этой проблемой раньше. Я только что открыл файл .exe в блокноте. Я нашел имя и версию компилятора. Надеюсь, это поможет кому-то.
ответил(а) 2014-06-19T03:16:00+04:00 8 лет, 11 месяцев назад
добавить комментарий
пожаловаться
Мне придется противоречить всем, кто заявляет что-либо в соответствии с «Компиляция языка высокого уровня в низкоуровневый .EXE, как правило, односторонний процесс». Поскольку не все исполняемые файлы скомпилированы для необработанной сборки.
Как это не всегда так. Хорошим примером является С# (. Net), где файл скомпилирован в IL, а не в сборе. В случае IL вы можете разобрать исходный код (даже если процесс выполняется в памяти, например, вытаскивание из глобального сборочного кэша)
Если файл был скомпилирован непосредственно в raw-сборку, обычно в описании синтаксиса/структуры обычно указывается исходный язык. Хотя это скорее побочный продукт компилятора, а затем сам язык.
ответил(а) 2013-09-04T19:47:00+04:00 9 лет, 9 месяцев назад
добавить комментарий
пожаловаться
Компиляция языка высокого уровня в низкоуровневый .EXE обычно является односторонним процессом — практически невозможно надежно извлечь значимую информацию из исполняемого файла относительно исходного языка после завершения процесса. Вам может повезти и найти некоторые идентифицируемые реплики, оставшиеся в двоичном формате, или, конечно же, найти сопроводительный файл (например .pdb), который дает подсказки относительно исходного языка. Однако то, что содержит .EXE, это (как правило) язык ассемблера, и это иногда можно декомпилировать обратно в представление на высоком уровне программы. Обратите внимание, что это никогда не даст вам точный исходный файл с инструкцией — результат, вероятно, будет очень «многословным» и будет трудно следовать, просто из-за того, что сделал компилятор в первую очередь, — который превратился в высокоуровневый «концептуальный» сложный язык в поток инструкций низкого уровня, отбрасывая большинство контекстных сигналов, которые не нужны для выполнения ЦП кодом.
ответил(а) 2010-03-11T00:31:00+03:00 13 лет, 3 месяца назад
добавить комментарий
пожаловаться
У меня есть .exe файл, и мне нужно знать, на каком языке была разработана программа.
В общем случае это невозможно. Каждый язык мог бы составить свою версию «Привет, мир!». таргетинг на определенную платформу (или исполняемый формат) на один и тот же исполняемый файл (байт для байта).
А также есть трюк для просмотра кода (на основе этого .exe файла)?
Нет, см. выше. Однако вы можете попробовать decompiler по вашему выбору.
ответил(а) 2010-03-11T00:20:00+03:00 13 лет, 3 месяца назад
добавить комментарий
пожаловаться
Еще в рубрике
Используя директивы, пространство имен и ссылку на сборку — все смешалось с StyleCop!
Ошибка загрузки версии сборки: почему она загружается?
Ссылка Java DLL на сборку С#?
Контекст при загрузке ассембли через Structuremap
Другие вопросы
Невозможно загрузить сборку (hr = 0x80131018)
Атрибут InternalsVisibleTo не работает
Ошибка при выполнении сборки Sql
- Вопросы
- Assemblies
- Как проверить, на каком языке была написана программа (.exe). Как просмотреть код?
Источник: progi.pro