9

我有一个包含安装项目的 VS.NET 2008 解决方案。此安装项目获取我的其他项目(在同一解决方案中)的输出并生成 MSI。到目前为止,一切都很好......我希望 MSI 中包含的程序集被混淆。这种混淆本身很简单,但是如何将这个前置步骤(混淆)引入 MSI 构建?有人有想法吗?

谢谢!

4

5 回答 5

1

如果您使用的是 Dotfuscator Professional,则可以轻松实现此目的,因为它附带了一个 Visual Studio 项目,该项目在安装时添加到您的系统中。

您需要做的就是将一个新的 Dotfuscator 项目添加到您的解决方案中,将其他项目的输出添加为 Dotfuscator 项目的输入(使用添加程序集/添加项目输出功能),设置任何必要的混淆设置,然后更改设置项目的输入为 Dotfuscator 项目。当您现在构建您的解决方案时,您的代码文件被编译,然后被混淆,然后移交给安装项目以构建到 MSI 中。

于 2009-04-23T17:59:29.010 回答
1

使用诸如Finalbuilder 之类的构建工具来自动执行此过程。

例如,构建程序集,然后对其进行混淆,最后构建安装项目。

于 2009-02-22T22:25:01.133 回答
0

混淆器需要支持 MSBuild 集成才能工作,以便编译器的构建输出可以被混淆并作为输入传递给 MSI 项目。

Crypto Obfuscator就是一种支持这种场景的工具。

于 2010-04-01T10:06:16.397 回答
0

Eazfuscator.NET was designed specifically to handle such scenario. To obfuscate your assemblies before they go to MSI, just do the following:

  1. Drop your assembly project(s) in the green zone of Eazfuscator.NET Assistant Drag and drop the project from Visual Studio to Eazfuscator.NET Assistant
  2. You are done. The assemblies are now automatically obfuscated and bundled into your MSI package every time the solution is built in Release configuration.

Some other obfuscators handle this too. For example, Dotfuscator provides the obfuscation project type for Visual Studio where you can define inputs and outputs and thus form a build pipeline. The pipeline can get the output of an assembly project, obfuscate it and then pass it to the setup project.

于 2016-03-08T17:00:07.410 回答
-1

我会考虑使用 WiX 或类似的东西(一些其他构建工具)来创建 MSI 文件。可以使用windows工具反编译MSI,然后混淆,放回MSI中。

另一种选择是在构建过程中添加混淆工具。我已经用 CodeVeil 完成了这篇文章的构建。如果您可以将其分支到所有项目的 Post Build 步骤中,无需设置项目(最后构建),您应该能够做到这一点。由于没有大量使用设置项目,我不确定这是否会起作用,但我看不出它不应该起作用的理由。

于 2009-02-23T00:26:16.693 回答