0

這是我的第一個問題StackOverflow的所以這裏去...巡航控制和混淆,如何?

我使用巡航控制我的持續集成方案,我想以另一個保護層添加到我的組件使用混淆。事情是,我不知道如何去做,因爲我找不到描述這個的文章。包括其他CI工具(如NAnt)的建議也被接受。

商業工具也是一種選擇,所以不要猶豫,將它們包含在您的答案中。我正在構建並希望進行混淆的應用程序大多是用Compact Framework 2.0,Dot Net 2.0-3.5編寫的。

當前巡航控制檢查存儲庫中的更改,然後基於特定解決方案下載的腳本並使用devenv構建項目,安裝項目運行後,它將安裝文件複製到另一個文件夾這或多或少。所以我需要在這個過程中的某處混淆..

回答

1

@ konstantinos.konstantinidis.myopenid.com:您的問題似乎是與安裝項目不是持續集成服務器。

您的安裝項目將獲取項目的主要輸出。

將其更改爲對輸出使用文件引用。它在安裝項目中有更多的配置,但我認爲你仍然可以實現所有相同的功能。

通過這種方式,您可以從混淆工具將其轉儲到任何臨時目錄中的任何臨時目錄中拾取混淆的程序集。

+0

實際上這幾乎是我們所做的 我們使用smartassembly從VS的build文件夾中獲取程序集,然後在stage文件夾中創建一個模糊處理的程序集,並在setup項目中添加此文件而不是主要輸出最初的項目:) 工程就像一個魅力! TY - 科斯塔斯。 – Konstantinos 2008-10-06 11:30:50

0

很高興聽到有人使用CruiseControl.NET。這是一個很好的工具。您可以使用命令行工具作爲RemoteSoft .NET混淆器進行混淆處理,並在構建腳本中集成對該工具的調用。請參閱關於如何從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>