Запутывание сборок перед их интеграцией в MSI - PullRequest
8 голосов
/ 23 февраля 2009

У меня есть решение VS.NET 2008, которое содержит проект установки. Этот проект установки берет выходные данные моего другого проекта (в том же решении) и производит MSI. Пока все хорошо ... Я бы хотел, чтобы сборки, включенные в MSI, были запутаны. Само по себе это запутывание простое, но как я могу представить этот предварительный шаг (запутывание) в здании MSI ? У кого-нибудь есть идея?

Спасибо!

Ответы [ 5 ]

1 голос
/ 23 апреля 2009

Если вы используете Dotfuscator Professional, вы можете легко добиться этого, поскольку он поставляется с проектом Visual Studio, который добавляется в вашу систему при установке.

Все, что вам нужно сделать, это добавить новый проект Dotfuscator в ваше решение, добавить выходные данные из ваших других проектов в качестве входных данных для проекта Dotfuscator (используя функцию «Добавить сборку / Добавить выходные данные проекта»), установить все необходимые параметры запутывания и затем измените вход для вашего проекта установки на проект Dotfuscator. Когда вы сейчас создаете свое решение, ваши файлы кода компилируются, затем запутываются и затем передаются в проект установки, который будет встроен в MSI.

1 голос
/ 23 февраля 2009

Используйте инструмент сборки, такой как Finalbuilder , чтобы автоматизировать этот процесс.

например, Сборка сборок, затем запутывание их и, наконец, сборка проекта установки.

0 голосов
/ 08 марта 2016

Eazfuscator.NET был разработан специально для такого сценария. Чтобы запутать ваши сборки до того, как они перейдут в MSI, просто сделайте следующее:

  1. Поместите ваши сборочные проекты в зеленую зону Eazfuscator.NET Assistant. Drag and drop the project from Visual Studio to Eazfuscator.NET Assistant
  2. Вы сделали. Сборки теперь автоматически запутываются и объединяются в ваш пакет MSI при каждом построении решения в конфигурации Release.

Некоторые другие обфускаторы тоже справляются с этим. Например, Dotfuscator предоставляет тип проекта обфускации для Visual Studio, где вы можете определить входы и выходы и, таким образом, сформировать конвейер сборки. Конвейер может получить выходные данные проекта сборки, затемнить его и затем передать его в проект установки.

0 голосов
/ 01 апреля 2010

Обфускатор должен поддерживать интеграцию MSBuild для того, чтобы это работало, чтобы выходные данные компилятора при сборке могли быть запутаны и переданы в проект MSI в качестве входных данных.

Crypto Obfuscator - один из таких инструментов, который поддерживает этот тип сценария.

0 голосов
/ 23 февраля 2009

Я бы рассмотрел WiX или что-то подобное (какой-то другой инструмент сборки) для создания файла MSI. Вы можете использовать инструменты Windows для декомпиляции MSI, затем запутать и вернуть их обратно в MSI.

Другой вариант - добавить в процесс сборки инструмент запутывания. Я сделал этот пост сборки с CodeVeil. Если вы можете включить это в этапы Post Build всех проектов без проекта установки (который был создан последним), вы сможете это сделать. Не много работая с проектом установки, я не уверен, что это будет работать, но я не вижу причин, по которым он не должен работать.

...