2009-10-06 3 views
1

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

ответ

0

dotfuscator только запутывает ваш код, он не скрывает его полностью от посторонних глаз.

Если вы действительно хотите «спрятать» тело метода из Reflector, я предлагаю вам использовать Clisecure. Clisecure может заставить логическое тело исчезнуть, сохраняя все имя метода.

У вас есть возможность обфускации логики? Вы должны использовать это; это сделает вашу логику сложнее понять.

1

Если вы отключили переименование, это означает, что ни один из символов (методы, типы и т. Д.) В вашей сборке не будет переименован, что уменьшит значительную часть полезности обфускации.

Если вы хотите сохранить имена своих общедоступных методов вместо отключения переименования, включите library mode для каждой из сборок, общедоступные методы которых вы хотите исключить из переименования.

Кроме того, переименование само по себе не приведет к тому, что Reflector не отобразит декомпилированный источник. Чтобы разбить декомпиляцию, необходимо обязательно включить обфускацию потока управления.

3

Вы можете точно определить, что будет исключено из фазы переименования, используя атрибут Obfuscation. Например, по объекту:

[Obfuscation(Feature = "renaming", Exclude = true)] 
public int MyProperty 
{ 
    get { return this.prop; } 
} 
Смежные вопросы