Декомпилировать предварительно скомпилированный исходный код ASP.NET - PullRequest
15 голосов
/ 05 января 2011

у нас есть приложение в производстве, и код находится в предварительно скомпилированном виде.Разработчик, который разработал это приложение, покинул компанию, и у нас нет резервной копии исходного кода.единственный доступ, который мы имеем, - это предварительно скомпилированный код на сервере.Теперь нам нужно исправить проблемы в приложении.

Есть ли способ декомпилировать (извлечь из исходного кода) предварительно скомпилированный код?

Ответы [ 6 ]

13 голосов
/ 05 января 2011

Откройте библиотеки DLL в .NET Reflector .

3 голосов
/ 07 марта 2014

Чтобы обновить ответ @ xOn:

Из-за недавней катастрофы с контролем исходного кода мне пришлось восстанавливать свой проект из DLL. К сожалению, я осведомлен о процедуре:

  1. Получите .Net Reflector здесь: http://www.red -gate.com / products / dotnet-development / отражатель /

  2. Кажется, вам не нужен FileDisassembler.

  3. Либо загрузите свои лотки в Reflector, либо дважды щелкните по ним.

  4. Помните, что .Net Framework, возможно, не поддерживал вашу исходную файловую структуру проекта. Поэтому, если некоторые из ваших ASPX-страниц имеют одно и то же имя базового класса в разных файлах .cs (т. Е. Теги Inherits одинаковы, но теги CodeFile отличаются), вы не сможете просто «экспортировать исходный код». Не надо слепо экспортировать исходные файлы. Это не сработает.

  5. Еще предстоит проделать определенную работу, прежде чем можно будет просто запустить старую кнопку сборки. Например - библиотеки DLL могут обращаться непосредственно к получателям / установщикам свойств. Вам придется это исправить.

Удачи.

2 голосов
/ 05 января 2011

Начните с:

http://www.red -gate.com / products / dotnet-development / отражатель /

... plus:

http://www.denisbauer.com/NETTools/FileDisassembler.aspx

Вам придется перекомпилировать последний, чтобы связать его с v6.5 рефлектора (последний, на этот пост.) Это хорошее дополнение, если вы хотите избежатькопировать и вставлять когда-либо один класс в файлы вручную.Он выгрузит полностью сборку в виде файлов .cs.Я думаю, что это может даже создать csproj.

Оба инструмента бесплатны.

0 голосов
/ 15 июня 2012

Когда вы устанавливаете импорт .net reflecter.its в визуальную студию. затем вы увидели .net отражатель инструменты в строке меню.

Нажмите на .net рефлектор >> Выберите Сборки (файл Dll) для отладки.

0 голосов
/ 22 декабря 2011

У меня была похожая проблема, и я использовал Reflector для ее декомпиляции. Я получил исходный код, затем изменил нужный бит и перестроил его. Затем я снова скопировал эту dll на сайт Production. Это начало отражать мои изменения. Это было очень легко и совсем не сложно, может быть, потому что на предварительно скомпилированном сайте были dll для каждой страницы, и он был обновляемым, поэтому в dll был только файл с выделенным кодом.

Для справки: http://www.reflector.net/

0 голосов
/ 14 февраля 2011

Я обнаружил, что dll может быть просто прочитана с помощью инструмента .NET Reflector, но не может извлечь исходный код.А также после того, как веб-формы предварительно скомпилированы, мы не можем даже вернуть код за файлами.Все, что мы можем сделать, это отладить и проанализировать код.

...