Как получить исходный код исполняемого файла Windows?

У меня есть старые исполняемые файлы Windows. Как я могу редактировать их с помощью Visual Studio 2010? Каковы способы увидеть исходный код exe?

Ответы

Ответ 1

Вы не можете получить исходный код С++ из exe, и вы можете получить только некоторую версию источника С# через отражение. И вам не будет очень полезно, судя по тому, как вы задали вопрос.

Ответ 2

Если программа была написана на С#, вы можете получить исходный код в почти своей первоначальной форме, используя .NET Reflector. Вы не сможете видеть комментарии и имена локальных переменных, но они очень читаемы.

Если было написано С++, это не так просто... даже если вы могли бы декомпилировать код в действительный С++, маловероятно, что он будет напоминать исходный источник из-за встроенных функций и оптимизаций, которые трудно отменить.

Обратите внимание, что при обратном проектировании и изменении исходного кода вы можете нарушать условия использования программ, если вы сами не написали их или не получили разрешение от автора.

Ответ 3

Если это собственный код, вы можете его разобрать. Но вы не увидите оригинальный код в качестве писателя программистом. Вы увидите код, созданный компилятором (ассемблером). Этот код, возможно, оптимизирован и хотя он семантически эквивалентен, его может быть намного труднее читать, чем обычный ASM.

Если это байт-код (MSIL или javabytecode), есть декомпилятор, который может работать с хорошим исходным кодом. Для .net это будет отражатель.

Ответ 4

Я бы (и имел) использовал IDA Pro для декомпиляции исполняемых файлов. Он создает полузаполненный код, вы можете декомпилировать сборку или C.

Если у вас есть копия отладочных символов, загрузите их в IDA перед декомпиляцией, и она сможет назвать многие функции, параметры и т.д.

Ответ 5

Там вы ничего не можете поделать, я боюсь, поскольку вы не сможете просмотреть его в читаемом формате, он довольно интенсивен, и он покажет интерпретируемый машинный код, не будет никакого форматирования или комментариев как вы обычно попадаете в файлы .cs/.c.

Это в значительной степени сценарий хитов и пропусков.

Кто-то уже спросил об этом на другом веб-сайте

Ответ 7

Для любого файла *.Exe, написанного на любом языке. Вы можете просмотреть исходный код с помощью hiew (в противном случае просмотр хакеров). Вы можете скачать его на www.hiew.ru. Это будет демонстрационная версия, но все же может просмотреть код.

После этого выполните следующие действия:

  • Нажмите alt + f2, чтобы перейти к файлу.

  • Нажмите enter, чтобы увидеть его код сборки/С++.