3

我有一個控制檯應用程序引用程序集A.我想確保如果A.dll被篡改或替換,應用程序將不會運行。從黑客保護程序集

一種選擇是使用強名稱簽名。但是我需要擔心strong name bypass

還有其他不錯的選擇嗎?

回答

5

如果您可以構建保護,黑客可以破解它。不要太擔心防止篡改,那些能夠在心跳中打破它的人可能不會在乎,即使他們這樣做了,幾乎沒有任何事情可以阻止他們。

最好的建議是許可團隊專門爲保護您的應用程序而製作的產品。就像密碼學一樣,通常最好不要推出自己的產品。

0

根據該網頁的作者:

相反,integrety檢查,你 真的需要使用驗證碼 簽名。

0

你需要的是像www.red-gate.com/products/smartassembly/這樣的產品,並且有很多這樣的產品。但是,它們只在一定程度上保護您的組件,沒有一個是100%安全的。

0

做什麼Web瀏覽器做,並依靠來自可信任的第三方的證書。

1

你可以使用你的dll的MD5哈希值,但即使這樣也不是非常簡單,因爲任何想破壞應用程序的人都會使用反射器並找出你真正在做的事情,可能只是直接修改你的程序,向上。你可以得到代碼混淆器,這將有助於解決這個問題,但沒有什麼是完美的。這真的是一種折衷 - 你有什麼價值來阻止某人改變你的dll?某人會有什麼可能?從時間的角度來看,它會花費多少錢=防止這種情況發生的金錢?

0

其實,不要試圖捍衛你的代碼/程序集,或其他任何東西。 我的意思是,如果有可能(並且它被設計成)在計算機上運行,​​對於公衆和其他人來說,它是不可能保護它的 - 你可以在自己的計算機上用任何你想做的工具在一秒鐘內拆卸它。

所以,不要嘗試,你只會浪費你的時間。