2014-09-21 32 views
0

我正在使用.Net Reactor來混淆我的項目。 在我的項目中,我有大約10個dll。 我想讓我的安裝程序在客戶機中部署混淆的dll。使用.Net Reactor在VS2010中創建混淆設置

我試着把下面的代碼放在後生成事件在安裝程序項目的屬性。

"C:\Program Files\Eziriz\.NET Reactor\dotNET_Reactor.exe" -project "E:/s.nrproj" 

但是,當我部署它,並嘗試在反射器中打開部署的DLL,它打開並顯示代碼。 哪裏/我錯過了什麼?

+0

爲什麼你不混淆在你的mach的代碼並把文件進行部署? – 2014-09-21 04:50:59

+0

分別混淆你的dll,然後通過Reflector檢查它們以確保你的混淆器正常工作。 – 2014-09-21 04:57:22

+0

是的,如果我們在.Net Reactor的窗口中單獨對它們進行模糊處理,那麼它就可以工作,但是當我們嘗試使用這些單獨混淆的dll來構建安裝程序時,會出現依賴關係錯誤。 – Bunzitop 2014-09-21 05:01:23

回答

0

在構建安裝項目之前,您應該模糊您的程序集,因此您應該在預構建中而不是在構建後使用您的命令。當你混淆你的程序集時,.NET可能無法自動識別你所需的程序集。我強烈建議分別混淆你的程序集,然後創建你的安裝項目(確保所有必需的程序集都添加到你的項目中)。

注意:有一些關於在VS2010中創建安裝項目的錯誤,有時會關閉和打開視覺工作室的作品。

1

Dot Net Reactor對exe和dll進行混淆並將它們存儲在不同的位置。默認是組件所在的子文件夾Secured。請確保在部署方案中採用安全部件,而不是原始部件!

0

這工作在我身邊:

if /I "$(ConfigurationName)" == "Release" "C:\Program Files (x86)\Eziriz\.NET Reactor\dotNET_Reactor.Console.exe" -file "$(TargetPath)" -targetfile "$(TargetPath)" -q 

,如果你想設置的配置凸出然後將其添加這樣的:

-project "$(SolutionDir)obfuscation_settings.nrproj" 

鑑於.NET反應堆項目被放置在解決方案文件夾和它的名字obfuscation_settings.nrproj

祝你好運