[英]Any tips about securing DLL code?
我想知道如何從注入中保護DLL(Win32,動態)文件以及如何提高編譯代碼的安全性的一些技巧。
我使用MVSC ++ 2010 Express並向用戶提供源代碼將無法使用。
為了使DLL可用,它需要是可讀的。 這意味着如果您加密文件,您還需要在使用之前對其進行解密。 此外,您可以對您的DLL進行簽名,以便您知道它尚未被修改,但仍然不會隱藏文件本身中的符號。 另一種方法是對代碼進行模糊處理,以便用戶更難理解,但操作系統仍然可以輕松地執行它 - 將其視為一種弱形式的加密。
具體答案:
如果您在任何二進制文件中有密碼,那么它就不安全。 通過查看二進制文件的字符串來查找它是一件簡單的事情。
用戶可以隨時修改文件,但可以使用某種加密方案對文件進行簽名,以確保您知道文件是否已被篡改。
我不使用該特定工具,但我確信它不會為您提供任何真正的安全性。
提示 :您可以將源代碼發送到服務器進行身份驗證和處理,而不是在源代碼中使用SQL DB密碼。 這樣,您的文件中就不需要顯式密碼。
除非加密整個文件,否則DLL中的任何文字字符串都是可讀的。 不要將密碼存儲為dll中的文字字符串。 期。 此外,您必須記住匯編代碼只是數據,如果文件是可寫的,任何擁有英特爾參考表和十六進制編輯器,反匯編程序和匯編程序的人都可以在有權訪問該文件時進行更改。 您可以隨時對源進行模糊處理,這會使程序集的可讀性略低,但仍可完全修改。
簡而言之,您所做的任何事情都不會完全保護您的DLL。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.