Мы смотрим на оригинальный код в дизассемблере или в CIL с обратной инженерией? - PullRequest
2 голосов
/ 08 декабря 2011

Взять ИЛСПы . Когда я смотрю свою сборку, смотрю ли я на свой оригинальный C #? Или этот код реконструирован из CIL с использованием некоторого типа процесса обратного инжиниринга?

Насколько я понимаю, релизные сборки не содержат никакого исходного кода, только CIL. Итак, имеет ли значение, если я соберу свою сборку в режиме выпуска?

Ответы [ 4 ]

4 голосов
/ 08 декабря 2011

Release vs Debug по-прежнему имеет огромное значение.Компилятор оптимизирует.См. Сообщение Скотта Хансельмана о выпуске и отладке .

Что касается того, что делает ILSpy, то да, он отображает CIL, а затем возвращает его к разумному представлению C # / VB.Я признаю, что ILSpy отлично справляется с этим!Я перевернул сборки других с этим и могу иметь смысл их кода.Единственный раз, когда у меня это ломалось, было с WPF и графическим интерфейсом, но я уверен, что есть способы, чтобы работать с этим также.

С точки зрения предотвращения изменения вашей сборки и защиты вашей интеллектуальной собственности, используйте Dotfuscator или другой инструмент для запутывания.

4 голосов
/ 08 декабря 2011

Ни сборки выпуска, ни отладочные сборки не содержат исходного исходного кода.

ILSpy и друзья анализируют скомпилированный CIL, чтобы извлечь разумный эквивалент C #.

1 голос
/ 08 декабря 2011

Вы видите код, восстановленный из IL.Этот процесс восстановления может быть выполнен для любой сборки .NET независимо от того, построена ли она в режиме отладки или выпуска.

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

0 голосов
/ 24 февраля 2012

На самом деле, вы можете использовать ILMerge или .net FuZe, чтобы обернуть ваш exe и dll в контейнер exe или dll, что затруднит его разборку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...