Скрытие информации о приложении в C # от дизассемблера - PullRequest
0 голосов
/ 27 ноября 2010

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

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

Ответы [ 3 ]

4 голосов
/ 27 ноября 2010

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

1 голос
/ 27 ноября 2010

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

0 голосов
/ 27 ноября 2010

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

  1. Запутать код
  2. Шифрование сборки (Примечание: у меня нет опыта или практических знаний в этой области или подробностей о том, как это работает).
  3. Компиляция в собственную сборку вместо сборки MSIL.

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

...