爲了保護公司的App安全,我用遍了市面上的加固產品

加固是保護App安全的重要手段之一,不只可以保障App代碼安全,防止被破解入侵篡改,更是等保、測試等合規性要求。ios

最近,公司開發了一款運動App,主要面向蘋果用戶。我試遍了市場主流的iOS加固產品。雖然國內外的都有,可是差距很大。固然,可以拿出來單獨說的不超過6款。如下是iOS App加固產品選型時的一點心得,主要有Obfuscator-LLVM、網易iOS加固、360iOS加固、頂象iOS加固和數字遁甲iOS加固。編程

Obfuscator-LLVMswift

Obfuscator-LLVM是瑞士西北應用科技大學安全實驗室於2010年6月份發起的一個項目,該項目旨在提供一套開源的針對LLVM的代碼混淆工具,以增長對逆向工程的難度。後期轉向商業項目strong.protect。目前,OLLVM已經支持LLVM-4.0版本。xcode

做爲代碼混淆的優秀開源項目,Obfuscator-LLVM提供控制流扁平化、指令替換、虛假控制流等功能,不支持swift和Bitcode,加固強度比較低。安全

Obfuscator-LLVM使用時必須集成到xcode上,也就是插件形式進行加固,開發調試很簡單。編程語言

Obfuscator-LLVM的混淆樣式以下:函數

網易iOS加固工具

iOS加固(dun.163.com/product/ios… 是網易易盾下面的一個移動安全產品。主要提供字符串加密、代碼邏輯混淆、字符串混淆和反調試等功能,也不支持swift和Bitcode,加固強度中等。測試

網易iOS加固是一套獨立工具,開發調試程度通常。加密

它提供了15天的企業免費試用。須要提供bundleID和郵箱。

使用過程以下:

360iOS加固

360iOS加固(jiagu.360.cn/#/global/in… 是360加固保旗下的產品。主要提供源代碼進行常量加密、邏輯混淆、結構替換、多路徑執行等保護,一樣也不支持swift和Bitcode,加固強度中等。

360iOS加固是在線加固的形式。在官網註冊帳號,上傳文件便可使用。 開發調試程度比較麻煩。

數字遁甲iOS加固

數字遁甲是新崛起的一個加固廠商。其iOS加固產品主要提供二進制加固、字符串混淆和高級反調試等功能,不支持swift和Bitcode,加固強度較低。

數字遁甲也是在線加固的形式,使用比較簡單。直接上傳ipa文件,而後獲取提取碼,再用提取碼下載加固後的ipa文件。可是在開發調試方面一樣不方便。

如下是一個加固後的結果。

頂象iOS加固

頂象iOS加固(www.dingxiang-inc.com/business/io… 是頂象技術端安全旗下產品,主要提供代碼虛擬化、字符串加密、代碼混淆等功能。支持swift和Bitcode兩種(這也是目前惟一支持該兩類語言加固的工具),加固強度較高。

多說一句,該產品團隊人員主要來自阿里巴巴移動安全產品團隊。

頂象iOS加固比較有意思,提供兩種在線和插件兩種形式。

在線添加參加,而後直接上傳文件便可使用。

爲了文件上傳方便,頂象還作了一個輔助工具,用來提取加固須要的文件和合並文件。

第二種方式是插件,與Obfuscator-LLVM相似,也是到xcode上。 使用流程以下:

加固效果以下(一個簡單的計算器demo)。

五款iOS加固工具比較

寫在最後的總結

一、功能。這幾款工具都具有了市面上目前常見的字符串加密、代碼和符號混淆、代碼混亂等基礎功能。其中,網易iOS加固和數字遁甲iOS加固還提供了防調試功能,開啓後自動注入防調試代碼,省去了手寫;而頂象iOS加固集成了代碼虛擬化功能,開啓後會使函數體消失,進入虛機運行,總體加固效果較佳。

二、操做。Obfuscator-LLVM集成到新版xcode(9.4.1)上,操做比較麻煩。網易iOS加固單獨工具操做比較簡單,可是不能集成到xcode使用;360加固和數字遁甲iOS加固是在線服務,也比較簡單;頂象iOS加固既能夠在線使用,也能夠集成到xcode上,可謂兩不誤。

三、語言支持。swift是蘋果2014年發佈一個新編程語言,bitcode是編譯的中間語言,都是比較經常使用的。可是除了頂象iOS加固外,其餘均不支持。

四、配置方式。Obfuscator-LLVM、網易iOS加固、頂象iOS加固的配置方式相似。

五、版本更新。Obfuscator-LLVM是所有免費的,可是已經中止了更新。其餘產品都有更新。

六、加固文件。頂象iOS加固在線使用時,不須要上傳源碼,這與其餘幾個在線加固的產品不一樣。

相關文章
相關標籤/搜索