巡航控制和混淆,如何进行?
-
01-07-2019 - |
题
这是我向 stackoverflow 提出的第一个问题,所以就在这里......
我将巡航控制用于我的持续集成方案,我想使用混淆来为我的程序集添加另一个保护层。问题是我不知道如何去做,因为我找不到描述这一点的文章。包含其他 CI 工具(例如 NAnt)的建议也被接受。
商业工具也是一种选择,因此请毫不犹豫地将它们包含在您的答案中。我正在构建并想要混淆的应用程序大多是用 Compact Framework 2.0、Dot Net 2.0-3.5 编写的。
目前 Cruise Control 检查存储库中的更改,然后根据特定解决方案的脚本下载并使用 devenv 构建项目,运行安装项目后,它将安装文件复制到不同的文件夹中,这就是更多或少一点。所以我需要在这个过程中的某个地方进行混淆。
解决方案
@konstantinos.konstantinidis.myopenid.com:您的问题似乎与安装项目有关,而不是持续集成服务器。
您让设置项目获取项目的主要输出。
将其更改为使用输出的文件引用。在设置项目中需要进行更多配置,但我认为您仍然可以实现所有相同的功能。
这样,您就可以从混淆工具将其转储到的任何暂存目录中获取混淆的程序集。
其他提示
很高兴听到有人正在使用 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>
不隶属于 StackOverflow