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

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

Спасибо!


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


Ответы (5)


arrow_upward
1
arrow_downward

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

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

person Geoff Appleford    schedule 22.02.2009

arrow_upward
1
arrow_downward

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

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

person Joe Kuemerle    schedule 23.04.2009

arrow_upward
0
arrow_downward

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

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

person logicnp    schedule 01.04.2010

arrow_upward
0
arrow_downward

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

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

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

person ogggre    schedule 08.03.2016

arrow_upward
-1
arrow_downward

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

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

person Gregory A Beamer    schedule 23.02.2009