簡體   English   中英

有關保護DLL代碼的任何提示?

[英]Any tips about securing DLL code?

我想知道如何從注入中保護DLL(Win32,動態)文件以及如何提高編譯代碼的安全性的一些技巧。

  1. DDL源代碼中有一個SQL密碼,用於連接MySQL。 是否足夠安全離開它?
  2. 有沒有辦法阻止'用戶'修改HEX代碼? 我的意思是從源代碼中獲得更多。
  3. 項目屬性中的哪些選項最適合優化並可能保護DLL?

我使用MVSC ++ 2010 Express並向用戶提供源代碼將無法使用。

為了使DLL可用,它需要是可讀的。 這意味着如果您加密文件,您還需要在使用之前對其進行解密。 此外,您可以對您的DLL進行簽名,以便您知道它尚未被修改,但仍然不會隱藏文件本身中的符號。 另一種方法是對代碼進行模糊處理,以便用戶更難理解,但操作系統仍然可以輕松地執行它 - 將其視為一種弱形式的加密。

具體答案:

  1. 如果您在任何二進制文件中有密碼,那么它就不安全。 通過查看二進制文件的字符串來查找它是一件簡單的事情。

  2. 用戶可以隨時修改文件,但可以使用某種加密方案對文件進行簽名,以確保您知道文件是否已被篡改。

  3. 我不使用該特定工具,但我確信它不會為您提供任何真正的安全性。

提示 :您可以將源代碼發送到服務器進行身份驗證和處理,而不是在源代碼中使用SQL DB密碼。 這樣,您的文件中就不需要顯式密碼。

除非加密整個文件,否則DLL中的任何文字字符串都是可讀的。 不要將密碼存儲為dll中的文字字符串。 期。 此外,您必須記住匯編代碼只是數據,如果文件是可寫的,任何擁有英特爾參考表和十六進制編輯器,反匯編程序和匯編程序的人都可以在有權訪問該文件時進行更改。 您可以隨時對源進行模糊處理,這會使程序集的可讀性略低,但仍可完全修改。

簡而言之,您所做的任何事情都不會完全保護您的DLL。

暫無
暫無

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

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