簡體   English   中英

如何確保C#確保完整性?(DLL未修改)

[英]How make sure C# Ensure integrity?(DLL not modified)

我有一個C#應用程序。 當它在pakage之前發布時,我使用IntelliLock加密它。 並使用startssl數字簽名。(實際上我不知道如何使用它,是否可以使用它來驗證DLL?)

但我仍然擔心這個問題:有1或2個dll使用檢查使用身份,而且非常小。 我擔心它會被修改並替換為同名。 然后申請不會檢查身份。

所以我的問題是,在IntelliLock和startssl數字燒錄步驟之后有沒有辦法檢查dll是不是被修改了?

非常感謝你。

我相信你最好的方法是嘗試從DLL加載字節並計算校驗和。校驗和是基於預先計算的值表的文件中字節的累積計算。 校驗和可以使用庫或您自己的實現來計算。 我會讀取文件內容然后計算一個校驗和。

您需要通過Web或通過引用本地存儲的值來驗證該值。 一些人能夠繞過這個並修改你的文件的方法是運行你的應用程序,反編譯並找出如何計算校驗和,修改DLL,然后更改本地存儲的校驗和以匹配。 在服務器上使用webAPI來驗證校驗和可能是最安全的方法。

有些人使用MD5作為校驗和,如下所示: 計算MD5校驗和

有足夠的信息可以幫助您從這里開始: 為文件生成校驗和

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM