Запутывание содержимого пакета установки - PullRequest
1 голос
/ 13 сентября 2009

У меня есть мультипроектное решение Visual Studio 2008. Я хотел бы запутать некоторые результаты проекта, прежде чем они будут встроены в файл установки с помощью Dotfuscator. Поэтому я хотел бы иметь возможность:

  1. Уметь выбирать, что скрывать
  2. Создание пакета установки, который содержит уже запутанный код
  3. Убедитесь, что обфускация прошла успешно

Каков наилучший способ сделать это?
(Я также готов использовать другие инструменты, Dotfuscator не является обязательным.)

1 Ответ

1 голос
/ 14 сентября 2009

Если вы используете любую из коммерческих версий Dotfuscator (Dotfuscator Suite или Dotfuscator MDE), это очень легко сделать. Dotfuscator предоставляет проект Visual Studio, который может использовать выходные данные других проектов в качестве входных данных. Проект Dotfuscator также предоставляет все свои выходные сборки другим проектам Visual Studio (включая различные типы проектов установки), чтобы они могли напрямую использовать запутанные сборки и встроить их в установщик. См. эту статью базы знаний для получения дополнительной информации о выборочном включении запутанных сборок и зависимостей в проекты установки.

Вы можете выбрать, какие сборки обфусцировать (и сколько обфускации применять к каждой из них) несколькими способами, включая декорирование ваших сборок или конкретного кода с помощью System.Reflection.ObfuscateAssemblyAttribute или System.Reflection.ObfuscationAttribute и / или использование различных настроек в пользовательском интерфейсе Dotfuscator для включения или исключения сборок и элементов из различных преобразований запутывания с рядом правил (включая регулярные выражения) и / или выбор отдельных элементов в графическом интерфейсе пользователя.

По умолчанию Dotfuscator добавляет атрибут (DotfuscatorAttribute) к каждой обрабатываемой им сборке, который можно затем проверить с помощью скрипта после сборки или тестовой установки, чтобы убедиться, что атрибут присутствует. См. http://www.preemptive.com/products/dotfuscator/manuals/NoDotfuscatorAttribute_Global_Option.html для получения дополнительной информации об этом атрибуте.

...