明輝手游網(wǎng)中心:是一個免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

對于.net的代碼安全

[摘要]大家都知道.net在編譯后得到IL中間代碼,但使用ILDASM可以很容易地反匯編成一個文本文件,這個文本文件比較容易看懂,還可以修改后使用ILASM重新編譯成EXE文件。這個問題怎么解決,我想是廣大...
大家都知道.net在編譯后得到IL中間代碼,但使用ILDASM可以很容易地反匯編成一個文本文件,這個文本文件比較容易看懂,還可以修改后使用ILASM重新編譯成EXE文件。
這個問題怎么解決,我想是廣大.net愛好者關(guān)心的事情

對于不同的場合有不同的解決方案:

1.webservice或者remote方式調(diào)用
將核心代碼和數(shù)據(jù)放到你的服務(wù)器上
2.Jeffrey Richter說:如果有非常決定性的代碼的話,可以考慮用Native Code 的DLL+I(xiàn)nterop,如果你認(rèn)為Native Code就100%安全的話。
3.在程序里加上簽名即是在Assembly里加上你的數(shù)字證書。那樣當(dāng).Net應(yīng)用被加載時,它的安全體系會檢查這個簽名的,這個簽名可以保證你的代碼不被改動,如果改變過的代碼是不能執(zhí)行的
它保證了“這個程序一定是由某某公司開發(fā)的,且未被篡改”,但是無法保證這個程序是安全的,你是否接受程序取決于你對該公司的信任。

無法實(shí)現(xiàn)你需要的安全,可以copy走 再

4.使用混淆器,將本來的代碼改成一堆沒有任何意義的長字符,很難看懂
象java的一樣,一串ooo0o0o00o0o,^_^
5.可以考慮自己加一個加密方法
這個還沒有試過




標(biāo)簽:對于.net的代碼安全