2010-06-23 2 views
5

Я знаю, что приложения .NET трудно защитить. Я использую RedGate Reflector и знаю, что, вообще говоря, вы можете получить исходный код из многих DLL-библиотек .NET.Можно ли декомпилировать приложение .NET?

однако мой вопрос - действительно ли возможно декомпилировать все приложение?

Я имею в виду - создать работоспособное решение VS, чтобы пират мог просто нажать F5 и получить точно такой же результат, как если бы автор на своей машине?

ответ

1

Для небольшого применения это возможно и возможно. Вы должны декомпилировать классы один за другим и скопировать/вставить код в Visual Studio.

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

1

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

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

1

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

К счастью, я don'tworryabout itthatmuch.

1

В настоящее время существует много обфускаторов, которые защищают ваши приложения .NET от декомпиляции. Одним из таких обфускаторов является http://www.red-gate.com/products/smartassembly/index.htm. Они пытаются превратить ваш хорошо структурированный код .NET IL в код spegatti (который все еще работает), что декомпиляторы не могут генерировать исходный код. Это не похоже на 100% уверенность, что пиратеры не могут получить перекомпилируемый код, но им будет нелегко декомпилировать при использовании обфускатора.

1

Да, вы просто экспортируете из отражателя и получаете полный проект для сборки. Я сделал это пару раз. Как правило, мне нужно перенести проект на мою версию VS, а иногда требуется небольшое количество исправлений, но в целом это работает.

Смежные вопросы