Обфускация сборок перед их интеграцией в MSI

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

Спасибо!


person Martin    schedule 22.02.2009    source источник


Ответы (5)


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

Например, сборка сборок, затем их обфускация и, наконец, сборка проекта установки.

person Geoff Appleford    schedule 22.02.2009

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

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

person Joe Kuemerle    schedule 23.04.2009

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

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

person logicnp    schedule 01.04.2010

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

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

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

person ogggre    schedule 08.03.2016

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

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

person Gregory A Beamer    schedule 23.02.2009