2015-08-31 99 views
-1

我們如何混淆.Net dll(MVC Web應用程序)?混淆.Net Dll

因爲我試圖混淆使用Dotfuscator的MVC網站DLL,當我運行應用程序使用混淆的DLL它不能正常工作,顯示網站的HTML內容或網站結構。

+0

你必須小心混淆MVC。某些方法和類名不能重命名爲諸如'A'和'A.A1()',這些工具的默認創建名稱爲 – MickyD

回答

2

你爲什麼要? Web應用程序二進制文件駐留在服務器上,並且具有理智的配置設置,它們無法通過HTTP請求進行檢索。如果情況並非如此,您最好花時間來配置您的Web服務器。至於爲什麼你不能真正混淆MVC代碼,他們去的體系結構使用了很多反射,如很多。而且因爲函數實際上並沒有從代碼中調用,所以混淆器不會通過反射來更新「調用者」端,它只會崩潰。

+0

也許他必須安裝在客戶端的硬件上,並且不想將可執行的二進制文件容易反向工程?或者想要混淆代碼中的一些加密密鑰?原因很多。 –

+2

而且都是錯誤的。如果你的產品是值得的錢它會被購買。如果沒有人會關心足夠的反向工程。花你的時間做一些好事,而不是這個。 – Blindy

+0

我不贊同你的觀點。 –

0

您的mvc應用程序爆炸的原因是,默認情況下,dotfuscator使用一種混淆類型,在其中重命名類,方法和其他所有獲取名稱的東西。它可能更「安全」,除了重命名混淆之外,任何使用反射的東西都會被殺死。

好消息是,您可以配置dofuscator以使用另一種稱爲控制流混淆的方法。當你啓用它時,禁用重命名混淆,你應該沒問題。

如果沒有足夠的信息,你認爲我在正確的軌道上給你回覆我,我可以在早上發佈一個dotfuscator配置示例。 (這是我的上午1點30分)