[英]How to check if file hash has changed with C#
我是一個游戲開發者,當我發布一個新游戲時,BOOM!!!,那個游戲將被修改,我正在運行網絡游戲,這對我來說是巨大的損失,我正在用 Unity 制作游戲,希望你們能理解我,我想將 HashCheck 添加到游戲主文件中,例如“如果文件哈希更改,游戲,關閉”
就像:- 我有 Assembly-CSharp.dll 作為我的主要游戲數據文件,所以如果 Modders 想要修改我的游戲,他們只會將 Assembly-CSharp.dll 加載到一些反編譯器中並編輯文件
我也嘗試過“HEX”保護,但他們繞過它
所以,我想制作,當 Modders 更改 Assembly-CSharp.dll 時,哈希值將更改,如果 Hash 更改為“Application.quit”
我只是想比較 MD5 哈希
但我沒有得到,即使是示例代碼
我只需要在 Assembly-CSharp.dll 中添加 HashCheck 的代碼
意味着我需要 C# 代碼
聽起來像
強名稱程序集簽名可能對您有所幫助。
其中,強命名程序集的一個好處是它們
使用數字簽名進行簽名,從而
保護程序集不被篡改。
如果有人要修改您的程序集,程序集加載期間自動發生的驗證過程將失敗並拋出異常。
強名稱提供了強大的完整性檢查 [...] [,保證] 程序集的內容自構建以來未被更改。
取自docs.microsoft 。
在此處閱讀有關如何使用強命名的更多信息。
正如toATwork所提到的,強命名在這里沒有好處。 強命名確保您的用戶您的程序集確實來自您,並且未被其他人修改。
想要修改您的程序集的用戶不會被阻止篡改您的程序集!
由於哈希檢查也很容易被繞過,我建議將混淆與篡改檢查結合使用。 您可以使用已包含在 Visual Studio 中的Dotfuscator。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.