Мы решили использовать Dotfuscator для обфускации нашего кода. У нас приложение для Windows Phone, и мы используем Dotfuscator Windows Phone Edition версии 4.9.7000.29303. Мы узнали, что класс System.Reflection.ObfuscationAttribute недоступен в Silverlight, поэтому невозможно использовать атрибуты исключения для некоторых типов, которые нам нужно исключить. Теперь мы планируем использовать вкладку Rename>Exclude в dotfuscator и исключать типы с некоторыми специфическими суффиксами. Перед внедрением мы создали пробный проект и протестировали на нем обфускацию. В ходе нашего тестирования мы обнаружили, что выходные данные не соответствуют правилам выполнения. Хотя окно предварительного просмотра показывает ожидаемый результат, вывод по-прежнему включает те типы, которые должны были быть исключены. См. скриншот окна Dotfuscator ниже. Окно предварительного просмотра слева от стрелки правильно отображает заштрихованный тип, который будет исключен из обфускации, но справа от стрелки вывод того же самого типа по-прежнему запутывает эти типы. Что происходит?
Dotfuscator, кажется, не придерживается переименования исключений RegEx
Ответы (1)
Я не совсем понимаю, чего вы пытаетесь достичь с помощью регулярного выражения, но что касается использования атрибутов для управления запутыванием, то вы можете включить библиотеку.
Включаемая библиотека обычно находится в
C:\Program Files(x86)\PreEmptive Solutions\Dotfuscator (version and edition)\Attributes\Windows Phone\PreEmptive.ObfuscationAttributes.dll
Вот пример того, как исключить что-то из переименования, например:
[Obfuscation(Feature = "renaming", Exclude = true)]
public int Foo{get;set;}
Вы можете найти более подробную информацию об управлении запутыванием с помощью атрибутов по этой ссылке и общее руководство пользователя доступно здесь
Если вы хотите вместо этого пойти по маршруту регулярных выражений, вы также можете просмотреть документацию по созданию пользовательские правила. Вам нужно будет предоставить мне немного больше информации, чтобы понять, что вы пытаетесь сделать, чтобы я мог помочь. Судя по твоему скриншоту, все выглядит так, как я и ожидал.