2009-02-22 73 views
8

我有一個VS.NET 2008解決方案,其中包含一個安裝項目。此安裝項目將輸出我的其他項目(在同一解決方案中)並生成一個MSI。到目前爲止,這麼好......我希望包含在MSI中的程序集被混淆。這種混淆本身很簡單,但我該如何向MSI大樓介紹這個前置步驟(混淆)?任何人有想法?在將它們集成到MSI之前對其進行模糊處理

謝謝!

回答

1

使用構建工具(如Finalbuilder)來自動執行此過程。

例如構建程序集,然後混淆它們並最終構建安裝項目。

-1

我會考慮使用WiX或類似的東西(一些其他構建工具)來創建MSI文件。您可以使用Windows工具來反編譯MSI,然後進行混淆處理,然後將它們放回MSI。

另一種選擇是將混淆工具添加到構建過程。我使用CodeVeil完成了這個後期構建。如果您可以將其分解到所有項目的後期製作步驟中,則無需安裝項目(最後生成),您應該可以執行此操作。由於沒有在設置項目上大量工作,我不確定這會起作用,但我認爲沒有理由不應該起作用。

1

如果您使用的是Dotfuscator專業版,您可以輕鬆實現此目的,因爲它附帶了Visual Studio項目,該項目在安裝時添加到系統中。

您只需在解決方案中添加一個新的Dotfuscator項目,將其他項目的輸出添加爲Dotfuscator項目的輸入(使用添加程序集/添加項目輸出功能),設置任何必要的混淆設置然後將您的安裝項目的輸入更改爲Dotfuscator項目。當您現在構建解決方案時,您的代碼文件將被編譯,然後進行模糊處理,然後轉交給安裝項目以構建到MSI中。

0

混淆器需要支持MSBuild集成才能工作,因此編譯器的構建輸出可以被混淆並作爲輸入傳遞給MSI項目。

Crypto Obfuscator是支持這種情況的一種工具。

0

Eazfuscator.NET是專門爲處理這種情況而設計的。

  1. 在Eazfuscator.NET助理 Drag and drop the project from Visual Studio to Eazfuscator.NET Assistant
  2. 你完成的綠色區域放下你的組件項目(S):他們將去到MSI之前,只是做了以下模糊處理組件。每當在Release配置中構建解決方案時,組件現在都會自動混淆並捆綁到您的MSI軟件包中。

其他一些混淆器也可以處理這個問題。例如,Dotfuscator爲Visual Studio提供了混淆項目類型,您可以在其中定義輸入和輸出,從而形成構建管道。管道可以獲得組裝項目的輸出,將其混淆,然後將其傳遞給安裝項目。

相關問題