在将程序集集成到MSI之前对程序集进行模糊处理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在将程序集集成到MSI之前对程序集进行模糊处理相关的知识,希望对你有一定的参考价值。
我有一个VS.NET 2008解决方案,其中包含一个安装项目。此安装项目获取我的其他项目的输出(在相同的解决方案中)并生成MSI。到目前为止,这么好......我希望MSI中包含的程序集被混淆。这种混淆本身很简单,但是如何将这个前置步骤(混淆)引入MSI建筑?有人有想法吗?
谢谢!
使用Finalbuilder等构建工具自动执行此过程。
例如,构建程序集,然后对它们进行模糊处理,最后构建安装项目。
如果您使用的是Dotfuscator Professional,则可以轻松实现此功能,因为它随附在安装时添加到系统中的Visual Studio项目。
您需要做的就是在解决方案中添加一个新的Dotfuscator项目,将其他项目的输出添加为Dotfuscator项目的输入(使用Add Assembly / Add Project Output功能),设置任何必要的模糊处理设置,然后更改您的安装项目的输入是Dotfuscator项目。当您现在构建解决方案时,您的代码文件将被编译然后进行模糊处理,然后传递到安装项目以构建到MSI中。
混淆器需要支持MSBuild集成才能使其工作,因此编译器的构建输出可以进行模糊处理并作为输入传递给MSI项目。
Crypto Obfuscator就是这样一种支持这种情况的工具。
Eazfuscator.NET专门用于处理这种情况。要在汇编到MSI之前对汇编进行模糊处理,只需执行以下操作:
其他一些混淆器也处理这个问题。例如,Dotfuscator为Visual Studio提供了混淆项目类型,您可以在其中定义输入和输出,从而形成构建管道。管道可以获取装配项目的输出,对其进行模糊处理,然后将其传递给安装项目。
我会考虑WiX或类似的东西(一些其他构建工具)来创建MSI文件。您可以使用Windows工具反编译MSI,然后进行模糊处理,并将它们放回MSI中。
另一种选择是在构建过程中添加模糊处理工具。我用CodeVeil做了这个帖子。如果你可以将它分支到所有项目的Post Build步骤,没有设置项目(最后构建),你应该能够做到这一点。如果没有对安装项目进行大量工作,我不确定这是否有效,但我认为没有理由不行。
以上是关于在将程序集集成到MSI之前对程序集进行模糊处理的主要内容,如果未能解决你的问题,请参考以下文章
MSI Windows 安装程序中的“找到模糊匹配”错误 1001
如何在集成到 android 应用程序的leanplum A/B 测试中对用户集进行分组?
R语言vtreat包自动处理dataframe的缺失值计算所有数据列的均值和方差并对所有数据列进行标准化缩放在将测试数据提供给模型之前使用训练数据集的处理方式变换测试数据(同样的数据预处理方式)