2010-11-27 2 views
0

При открытии моего исполняемого файла в дизассемблере MSIL он отображает информацию о моем приложении (например, литералы, функции, свойства, ресурсы ...) даже после того, как я назначил их частными.Скрытие информации о приложении в C# из дизассемблера

Как скрыть эту информацию от дизассемблера.

ответ

4

Вы хотите найти решение obfuscation. Помните, что, хотя частные члены не могут быть доступны другим кодом, они все еще существуют. Однако обфускация может затруднить понимание того, что делает ваш код.

+0

+1, не слишком сложно, если вы знаете, что рефлектор может показать LOL – VoodooChild 2010-11-27 02:25:43

1

Обфускатор. Информация по-прежнему будет там, но имена будут бессмысленными, чтобы быть как можно более запутанными.

0

Вообще говоря, вы не можете. Лучше всего, если вы беспокоитесь о ком-то обратный инжиниринг кода должен рассмотреть следующие методы:

  1. Obfuscate код
  2. Assembly encryption (Примечание: У меня нет опыта или практические знания об этом или детали того, как оно работает).
  3. Скомпилируйте сборку вместо сборки MSIL.

Последний вариант в значительной степени поражает цель сборки .NET, однако будет сложнее переделать из собственной сборки код C#, чем из MSIL в C#. Реальность заключается в том, что если у кого-то есть ваши DLL (-ы), то придается достаточное усилие и/или время, когда исходный (или довольно близкий) источник может быть разработан.