巡航控制和模糊处理,如何进行?

时间:2020-03-06 14:20:32  来源:igfitidea点击:

这是我对stackoverflow的第一个问题,所以就在这里...

我将巡航控制用于我的连续集成方案,我想使用模糊处理以便为我的部件添加另一个保护层。问题是我不知道该怎么做,因为我找不到描述此事的文章。也接受包含其他CI工具(例如NAnt)的建议。

商业工具也是一种选择,因此请不要犹豫将其包括在答案中。我正在构建并希望混淆的应用程序大部分是用Compact Framework 2.0 Dot Net 2.0-3.5编写的。

目前,巡航控制系统检查存储库中的更改,然后基于特定解决方案的脚本下载并使用devenv构建项目,在安装项目运行后,它将安装文件复制到另一个文件夹中,或者更多。少一点。所以我需要在此过程中的某处进行混淆。

解决方案

很高兴听到有人在使用CruiseControl.NET。那是一个很好的工具。我们可以使用命令行工具作为RemoteSoft .NET Obfuscator进行混淆,并将对该工具的调用集成到构建脚本中。请参见下面的CruiseControl.NET Wiki中有关如何执行文件的示例。

http://www.remotesoft.com/salamander/obfuscator.html

<exec>
    <executable>make</executable>
    <baseDirectory>D:\dev\MyProject</baseDirectory>
    <buildArgs>all</buildArgs>
    <buildTimeoutSeconds>10</buildTimeoutSeconds>
    <successExitCodes>0,1,3,5</successExitCodes>
    <environment>
        <variable>
            <name>MyVar1</name>
            <value>Var1Value</value>
        </variable>
        <variable name="MyVar2" value="Var2Value"/>
        ...
    </environment>
</exec>

@ konstantinos.konstantinidis.myopenid.com:问题似乎出在安装项目而不是持续集成服务器上。

我们可以通过设置项目来获取项目的主要输出。

更改它以使用对输出的文件引用。设置项目中的配置要多一些,但我认为我们仍然可以实现所有相同的功能。

这样,我们可以从混淆工具将其转储到的任何暂存目录中提取混淆的程序集。