Как получить исходный код исполняемого файла Windows? - PullRequest
17 голосов
/ 17 апреля 2010

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

Ответы [ 7 ]

23 голосов
/ 17 апреля 2010

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

18 голосов
/ 17 апреля 2010

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

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

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

6 голосов
/ 17 апреля 2010

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

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

3 голосов
/ 17 апреля 2010

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

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

0 голосов
/ 28 мая 2014

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

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

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

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

0 голосов
/ 02 марта 2014
0 голосов
/ 17 апреля 2010

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

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

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

...