2012-01-23 47 views
0

我有2 .NET C#應用程序沒有任何安全功能。我想實現一個我自己的安全機制,我將在下面描述,如果這是可行的,或者有些我不知道的事情,我希望您的意見。C#.NET安全性如何防止程序加載

所以,當我需要運行MyApp時,我運行AuthenticationAPP,這個程序會問我一個安全代碼。

如果代碼正確 - >加載MyApp;

ELSE - >不加載應用程序

什麼,我想知道是如果有繞過這種機制的方法,因此在uselessAPP轉化我authenticaitonAPP非常伊斯利或者如果這些方法都難以實現。

感謝您的任何想法/澄清。

+5

什麼會阻止我直接啓動「MyApp」?爲什麼不把認證部分放在「MyApp」中,如果代碼不正確,就直接退出? –

+0

因爲有很多軟件,我有1000個應用程序,我需要一次性保護所有這些應用程序。是的,我說過2之前,我只是簡化了explenaiton。而不是添加這個爲每個軟件和研究所有這些程序的代碼,我想實現這一個應用程序的解決方案。 – NoobTom

+6

這太可怕了! 「我想自己實施一個安全機制[0123]」 – oleksii

回答

0

您需要防止.net運行庫加載並執行MyApp中的任何程序集。確保您需要爲組件指定code permissions

代碼權限必須檢查只能由AuthentificationAPP正確設置的條件。它可以像從AuthentificationAPP到MyApp的加密調用參數一樣簡單。

然後你必須確保你的代碼不能被第三方逆向工程。所以你必須研究代碼混淆和簽名。

我認爲你可以在程序集級別添加代碼權限。因此,您可能需要添加一個帶有彙編級代碼權限的源文件,並向1000個程序中的每個程序調用上下文驗證,然後重新編譯這些文件。

0

存在着不同的包裝保護解決方案,如VMProtect,的ASProtect,犰狳等

也許他們會適合你的任務。