У меня есть старые исполняемые файлы Windows. Как я могу редактировать их с помощью Visual Studio 2010? Как можно увидеть исходный код exe?
Вы не можете получить исходный код C ++ из exe, и вы можете получить только некоторую версию источника C # через отражение .
Если программа написана на C # вы можете получить исходный код почти в его исходной форме с помощью .NET Reflector. Вы не сможете увидеть комментарии и имена локальных переменных, но они очень читабельны.
Если бы он был написан на C ++, это не так просто … даже если бы вы могли декомпилировать код в действительный С ++ маловероятно, что он будет напоминать исходный код из-за встроенных функций и оптимизаций, которые трудно отменить.
Обратите внимание, что путем обратного проектирования и изменения исходного кода вы можете нарушить условия использования программ, если вы не написали их сами или не имеете разрешения автора.
-
спасибо за ваш ответ. это действительно полезно. Я пробовал отражатель .Net, но он не работает для моего exe. Peid сообщает, что его Microsoft Visual C ++ 6.0. я думаю, что нет способа получить исходник. все равно спасибо – Али Демирчи 17 апр., 2010 в 18:51
Если программа была написана на C #, вы можете получить исходный код почти в исходной форме, используя .NET Reflector. Вы не сможете увидеть комментарии и имена локальных переменных, но они очень читабельны.
Если бы он был написан на C ++, это не так просто … даже если бы вы могли декомпилировать код в действительный С ++ маловероятно, что он будет напоминать исходный код из-за встроенных функций и оптимизаций, которые трудно отменить.
Обратите внимание, что путем обратного проектирования и изменения исходного кода вы можете нарушить условия использования программ, если вы не написали их сами или не имеете разрешения автора.
Если это нативный код, вы можете его дизассемблировать. Но вы не увидите исходный код, написанный программистом. Вы увидите код, созданный компилятором (ассемблером). Этот код, возможно, оптимизирован и, хотя он семантически эквивалентен, его может быть намного сложнее читать, чем обычный ASM.
Если это байт-код (MSIL или javabytecode), есть декомпилятор, который может довольно хорошо исходный код. Для .net это будет отражатель.
Если это нативный код, вы можете его дизассемблировать. Но вы не увидите исходный код, написанный программистом. Вы увидите код, созданный компилятором (ассемблером). Этот код, возможно, оптимизирован и, хотя он семантически эквивалентен, его может быть намного сложнее читать, чем обычный ASM.
Если это байт-код (MSIL или javabytecode), есть декомпилятор, который может довольно хорошо исходный код. Для .net это будет отражатель.
Я бы (и использовал) использовал IDA Pro для декомпиляции исполняемых файлов. Он создает полузаполненный код, который можно декомпилировать в сборку или C.
Если у вас есть копия символов отладки, загрузите их в IDA перед декомпиляцией, и он сможет назвать многие из функции, параметры и т. д.
Я бы (и использовал) использовал IDA Pro для декомпиляции исполняемых файлов. Он создает полузаполненный код, который можно декомпилировать в сборку или C.
Если у вас есть копия символов отладки, загрузите их в IDA перед декомпиляцией, и он сможет назвать многие из функции, параметры и т. д.
Вы ничего не можете с этим поделать, я боюсь, так как вы не сможете просмотреть его в читаемом формате, это в значительной степени преднамеренно, и он покажет интерпретированный машинный код, не будет форматирования или комментариев, как вы обычно получить файлы .cs/.c.
Это в значительной степени случайный сценарий.
Кто-то уже спрашивал об этом на другом веб-сайте
-
Как правило, голосование “против” без объяснения причин. Кроме того, этот ответ не слишком далек от принятого ответа. По крайней мере, упомяните, как мой ответ может быть улучшен ради меня самого, а также ради автора вопроса. – Джейми Килинг, 17 апр., 19:05
-
Если бы вы не удалили свой ответ, мы могли бы его удалить. В любом случае ваш ответ неверен; посмотреть другие ответы на вопрос. Обратный инжиниринг исполняемого образа возможен во многих случаях и с использованием правильных инструментов. – Майкл Петротта, 17 апр. ’10 в 19:06
-
Это не совсем неверно, мой ответ имеет балл или два по сравнению с принятым ответом. Причина, по которой я удалил свой ответ, заключается в том, что он был отклонен на 3 в течение секунд, и никто не имел приличия, чтобы оставить комментарий. Спасибо за ответ, я ценю ваши усилия. Он хочет, чтобы я не утруждал себя внесением вклада из-за страха, что люди будут безжалостно отвергать голосование за ответ без объяснения причин, при условии, что я не знаю всего, но это вызов уверенности, независимо от того, кто поставил ответ. – Джейми Килинг, 17 апр. 2010, 19:13
-
3Джейми, я понимаю ваше разочарование, но при всем уважении, вы должны были понять, почему ваш ответ был отклонен, без каких-либо комментариев. Когда вы начали получать отрицательные голоса, вам следует взглянуть на другие ответы. Ваш прямо противоречит верхним. “Вы ничего не можете с этим поделать”! = “Вы можете сделать это легко, если это .NET, и сложнее, если это нативный код”. – Майкл Петротта, 17 апреля 2010 г., 19:20
-
2Я вроде как согласен с Джейми. Да ладно, его ответ противоречит другим и может быть неправильным. Так что проголосуйте против, но скажите ему, почему согласно SO: «Прежде всего, будьте честны. Если вы видите дезинформацию, проголосуйте против. Вставьте комментарии, указывающие, что именно не так . Еще лучше – редактируйте и улучшайте информацию! Предоставляйте собственные более сильные, быстрые и качественные ответы! ” – RoLYroLLs 21 апр. ’10 в 19:27
Вы ничего не можете с этим поделать, боюсь, вы выиграли » не иметь возможности просматривать его в удобочитаемом формате, это в значительной степени намеренно и будет отображать интерпретированный машинный код, не будет никакого форматирования или комментариев, как вы обычно получаете в файлах .cs/.c.
Это в значительной степени случайный сценарий.
Кто-то уже спрашивал об этом на другом сайте
Используйте PE Explorerнажмите здесь, чтобы узнать больше и загрузить
Используйте PE Explorerнажмите здесь, чтобы узнать больше и скачать
Для любого файла * .Exe, написанного на любом языке. Вы можете просмотреть исходный код с помощью hiew (в противном случае – просмотр Hackers). Вы можете скачать его на сайте www.hiew.ru. Это будет демонстрационная версия, но код все еще можно будет просмотреть.
После этого выполните следующие действия:
-
Нажмите alt + f2, чтобы перейти к файлу.
-
Нажмите клавишу ВВОД, чтобы увидеть его код сборки/C ++.
Для любого файла * .Exe, написанного на любом языке. Вы можете просмотреть исходный код с помощью hiew (в противном случае – просмотр хакеров). Вы можете скачать его на сайте www.hiew.ru. Это будет демонстрационная версия, но код все еще можно будет просмотреть.
После этого выполните следующие действия:
-
Нажмите alt + f2, чтобы перейти к файлу.
-
Нажмите Enter, чтобы увидеть его код сборки/C ++.
Просмотр кода EXE-файла, созданного в Visual Studio
Уважаемые все
У меня есть файл .exe, созданный в Visual Studio.
У меня также есть соответствующие файлы .dll.
Я хочу открыть все файлы (.exe и .dll) и просмотреть их код.
Не могли бы вы посоветовать мне это сделать?
Заранее спасибо.
4 ответа
- Активные
- Проголосовали
- Новые
- Самые старые
Создайте два отдельных проекта, один для вашего консольного приложения, а другой для библиотеки Class
. Установите соответствующий тип вывода для каждого.
Не забудьте добавить ссылку на вашу библиотеку классов в проект консольного приложения
.
Я думаю, это может сработать для вас! Если это сработает, двойное приветствие с моей стороны
Привет, Антонис Сервос,
Ответ разделен на 2 части, если сборка НЕ является сборкой .NET, тогда вы не сможете восстановить код (по крайней мере, нет простого способа).
Если ваша сборка является .NET, тогда используйте такой инструмент, как .NET Reflector
Вы можете скачать пробную версию отсюда:
http://www.reflector.net/
Вы не можете просматривать скомпилированные файлов, о которых я никогда не слышал, если только вы не получите исходный код. С другой стороны, есть некоторые декомпиляторы, которые могут декомпилировать скомпилированные файлы, которые вы можете искать в Google..
Если я могу спросить, каковы ваши интересы в этих файлах, если вы создали их самостоятельно, возможно, вам нужен исходный код?
Деннис
Почему ему интересно просматривать скомпилированные файлы?
Связанные
Уважаемые все
У меня есть файл .exe, созданный в Visual Studio.
У меня также есть соответствующие файлы .dll.
Я хочу открыть все файлы (.exe и. dll) и просмотрите их код.
Не могли бы вы посоветовать мне это сделать?
Заранее спасибо.
Создайте два отдельных проекта, один для вашего консольного приложения, а другой для библиотеки Class
. Установите соответствующий тип вывода для каждого.
Не забудьте добавить ссылку на вашу библиотеку классов в проект консольного приложения
.
Я думаю, это может сработать для вас! Если это сработает, двойное приветствие с моей стороны
Создайте два отдельных проекта, один для вашего консольного приложения, а другой для библиотеки Class
. Установите соответствующий тип вывода для каждого.
Не забудьте добавить ссылку на вашу библиотеку классов в консольное приложение
Project.
Думаю, это сработает для вас! Если это сработает, двойное приветствие с моей стороны
Привет, Антонис Сервос,
Ответ разделен на 2 части, если сборка НЕ является. NET, тогда вы не сможете восстановить код (по крайней мере, нет простого способа).
Если ваша сборка является .NET, используйте такой инструмент, как .NET Reflector
Вы можете загрузите пробную версию отсюда:
http://www.reflector.net/
Привет, Антонис Сервос!
Ответ разделен на 2 части, если сборка НЕ является сборкой .NET, вы не можете восстановить код (по крайней мере, нет простого способа).
Если ваша сборка является .NET, используйте такой инструмент, как .NET Reflector
Вы можете скачать пробную версию отсюда:
http://www.reflector.net/
Вы не можете просматривать скомпилированные файлы, о которых я никогда не слышал, если только вы не получите исходный код. С другой стороны, есть некоторые декомпиляторы, которые могут декомпилировать скомпилированные файлы, которые вы можете искать в Google.
Если я могу спросить, каковы ваши интересы в этих файлах, если вы создали их сами, возможно, вам нужен исходный код?
Деннис
Вы не можете просматривать скомпилированные файлы, о которых я никогда не слышал, если только вы не получите исходный код. С другой стороны, есть некоторые декомпиляторы, которые могут декомпилировать скомпилированные файлы, которые вы можете искать в Google.
Если я могу спросить, каковы ваши интересы в этих файлах, если вы создали их сами, возможно, вам нужен исходный код?
Деннис
Почему ему интересно просматривать скомпилированные файлы?
Почему ему интересно просматривать скомпилированные файлы?