Dotfuscator如何保護應用程序?——字符串加密

加密解密類產品推薦:算法

VMProtect .NET Reactor WinLicense

Dotfuscator是一個.NET的混淆器。它提供企業級的應用程序保護,大大下降了盜版、知識產權盜竊和篡改的風險。Dotfuscator的分層混淆、加密、水印、自動失效、防調試、防篡改、報警和防護技術,爲世界各地成千上萬的應用程序提供保護。性能

Dotfuscator提供了一種應用程序保護的多層方法。這些層中的每一層都提供了一個重要的總體保護策略。若是一層受到損害,其餘層繼續提供有效保護,使攻擊者更難以實現其目標。而且不只有多個層,並且每一個層都具備比其餘混淆產品使用的簡單技術更強大的高級功能。加密

從本文開始咱們一塊兒瞭解Dotfuscator如何對應用程序進行多層保護,層層遞進,大體可分爲:spa

  • 第一層保護——Obfuscation轉換:它對編譯的代碼進行操做,使逆向工程變得困難或不可能。
  • 第二層保護——保護程序運行時發生的檢查:當程序檢測到攻擊者試圖篡改或反向工程時,它可使用自定義邏輯進行自我防護。
  • 其他增強保護——包括切除和水印。
  • Dotfuscator提供某些功能幫您構建、部署和調試混淆的程序集

下載Dotfuscator最新試用版調試


第一層保護:Obfuscation轉換

字符串加密

Dotfuscator容許您隱藏程序集中存在的用戶字符串。常見的攻擊技術是經過在二進制文件中查找字符串引用來定位關鍵代碼段。例如:blog

  • 若是應用程序是時間鎖定的,它可能會在超時到期時顯示一條消息。攻擊者在反彙編或反編譯輸出中搜索此消息,而且當他們發現它時,它們將很是接近您的敏感時間鎖定算法。
  • 想要繞過註冊和驗證過程的人能夠搜索程序要求用戶輸入序列號的字符串。當他們找到字符串時,他們會在它附近找到指令並改變邏輯。

經過在應用程序中加擾字符串,字符串加密使這兩種攻擊的可能性下降,由於攻擊者的字符串搜索將變爲空。字符串

如下面示例說明:部署

以前get

1561096370.png

以後產品

1561096432.png

▲限制

const字符串未加密,但使用它們的全部位置都使用字符串的加密版本進行更新。要解決此問題,請啓用「刪除」,而後設置「 刪除」 選項| 清除類以僅刪除文本(常量定義)。

若是某些計算密集型(高度重複的代碼)正在生成字符串(可能用於記錄目的),則可能會出現性能降低,由於必須執行額外的方法調用來解密這些字符串。

▲制定的包含

與重命名和控制流不一樣的是,字符串加密在缺省狀況下不會加密任何字符串,而重命名和控制流會盡量地轉換代碼,除非明確排除了項。要啓用程序集中全部字符串的加密,只需轉到字符串加密| Include選項卡,並單擊程序集中節點上的複選框。

—  持續更新中  —

相關文章
相關標籤/搜索