加載你能給什麼建議其必須執行以下操作的系統:淨動態插件與管理局
加載插件(最終執行它們),但必須裝載這些插件的2種方法:
- 負荷只有經過授權的插件
- 負載(用 軟件的所有者開發的)的所有插件
我們需要相當安全的授權插件是真正的交易(未修改)。但是,所有插件必須位於獨立的程序集中。我一直在尋找使用強插件的命名程序集,公鑰存儲在加載器應用程序中,但對我來說,這似乎太容易修改加載器應用程序中的公鑰(如果用戶傾向於),無論加載器應用程序的任何混淆。更安全的想法?
加載你能給什麼建議其必須執行以下操作的系統:淨動態插件與管理局
加載插件(最終執行它們),但必須裝載這些插件的2種方法:
我們需要相當安全的授權插件是真正的交易(未修改)。但是,所有插件必須位於獨立的程序集中。我一直在尋找使用強插件的命名程序集,公鑰存儲在加載器應用程序中,但對我來說,這似乎太容易修改加載器應用程序中的公鑰(如果用戶傾向於),無論加載器應用程序的任何混淆。更安全的想法?
基本上,如果你把你的代碼放在別人的機器上,那麼安全性就沒有絕對的保證。
你可以看看各種安全技巧,但最終,代碼是在他們的機器上,所以它超出了你的控制範圍。
如果最終用戶加載未經授權的插件,您會失去多少?
如果最終用戶加載未經授權的插件,您會失去多少?
誠然,這不會經常發生,但是當/如果它確實發生,我們失去了很多,我雖然我明白,我們會產生什麼100%的安全,我要使它成爲一個障礙把人的足夠關掉它。
有關使用完整強名稱進行簡單動態加載的煩人之處在於,它只需要在加載器應用程序中進行簡單的字符串文字更改即可加載任何其他程序集,即使插件已簽名。
你可以擴大你的問題:「我怎樣才能保護我的.net程序集免受逆向工程?」
答案是 - 你不能。對於那些還沒有看過它的人來說,只需查看「反射器」,然後在一些天真的exe文件上運行它。
(順便說一句,這始終是代碼的答案是伸出你的雙手,只要你沒有帶它發送/解密硬件),
混淆試圖使逆向工程比發展更難(花費更多的錢),並且對於某些類型的算法來說它是成功的。
簽署組件。
強名稱簽名,或強命名, 給出了一個軟件組件全球 獨特的身份不能被別人欺騙 。使用強名稱 來保證組件 依賴關係和配置 語句映射到完全正確的 組件和組件版本。
http://msdn.microsoft.com/en-us/library/h4fa028b(VS.80).aspx