巡航控制和混淆,如何?

时间:2008-09-18 09:25:23

标签: .net continuous-integration cruisecontrol.net obfuscation

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

我使用巡航控制来实现我的持续集成方案,我想使用模糊处理来为我的程序集添加另一个保护层。问题是我不知道如何去做,因为我找不到描述这个的文章。也包括其他CI工具(如NAnt)的建议。

商业工具也是一种选择,所以不要犹豫,将它们包括在你的答案中。我正在构建并想要混淆的应用程序主要是用Compact Framework 2.0,Dot Net 2.0-3.5编写的。

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

2 个答案:

答案 0 :(得分:1)

@ konstantinos.konstantinidis.myopenid.com:您的问题似乎与安装项目而不是持续集成服务器有关。

您有设置项目获取项目的主要输出。

将其更改为使用对输出的文件引用。在安装项目中有一点配置,但我认为你仍然可以实现所有相同的功能。

通过这种方式,您可以从混淆工具将其转储到的任何临时目录中获取混淆的程序集。

答案 1 :(得分:0)

很高兴听到有人使用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>