在将程序集集成到MSI之前对程序集进行模糊处理

问题描述 投票:8回答:5

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

谢谢!

.net-3.5 installer windows-installer obfuscation
5个回答
1
投票

使用Finalbuilder等构建工具自动执行此过程。

例如,构建程序集,然后对它们进行模糊处理,最后构建安装项目。


1
投票

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

您需要做的就是在解决方案中添加一个新的Dotfuscator项目,将其他项目的输出添加为Dotfuscator项目的输入(使用Add Assembly / Add Project Output功能),设置任何必要的模糊处理设置,然后更改您的安装项目的输入是Dotfuscator项目。当您现在构建解决方案时,您的代码文件将被编译然后进行模糊处理,然后传递到安装项目以构建到MSI中。


0
投票

混淆器需要支持MSBuild集成才能使其工作,因此编译器的构建输出可以进行模糊处理并作为输入传递给MSI项目。

Crypto Obfuscator就是这样一种支持这种情况的工具。


0
投票

Eazfuscator.NET专门用于处理这种情况。要在汇编到MSI之前对汇编进行模糊处理,只需执行以下操作:

  1. 将您的装配项目放在Eazfuscator.NET Assistant Drag and drop the project from Visual Studio to Eazfuscator.NET Assistant的绿色区域中
  2. 你完成了。每次在Release配置中构建解决方案时,程序集现在都会自动进行模糊处理并捆绑到MSI包中。

其他一些混淆器也处理这个问题。例如,Dotfuscator为Visual Studio提供了混淆项目类型,您可以在其中定义输入和输出,从而形成构建管道。管道可以获取装配项目的输出,对其进行模糊处理,然后将其传递给安装项目。


-1
投票

我会考虑WiX或类似的东西(一些其他构建工具)来创建MSI文件。您可以使用Windows工具反编译MSI,然后进行模糊处理,并将它们放回MSI中。

另一种选择是在构建过程中添加模糊处理工具。我用CodeVeil做了这个帖子。如果你可以将它分支到所有项目的Post Build步骤,没有设置项目(最后构建),你应该能够做到这一点。如果没有对安装项目进行大量工作,我不确定这是否有效,但我认为没有理由不行。

© www.soinside.com 2019 - 2024. All rights reserved.