iOS加固

加固:

能夠增長安全性,防破解安全

 

加固方式:

數據加密(字符串、網絡數據、敏感數據)網絡

應用加殼(二進制加密)app

代碼混淆(類名、方法名、代碼邏輯)工具

等等。。。加密

 

適合iOS的加固方案:

代碼混淆方案:spa

1. 源碼混淆:類名、方法名、協議名  ip

2. LLVM中間代碼IR的混淆(容易產生BUG)字符串

推薦源碼混淆方案。源碼

 

源碼混淆怎麼作?it

1、經過宏定義混淆核心方法名、類名等等,不須要全部的東西都混淆

在pch文件中,定義宏

好比 : #define buyVip dfdds  給bugVip這個方法名定義一個宏,這樣代碼預處理時,就會將buyVip替換成dfdds,生成的二進制可執行文件,被人反編譯後,別人看到是dfdds 而不是buyVip,這樣他逆向起來就會增長很多難度

 

 注意點:

1.不能混淆系統方法

2.不能混淆init開頭的自定義初始化方法

3.混淆屬性時須要額外注意set方法

4.若是xib sb中用到了混淆的內容,好比關聯的類名,須要手動修改

5.能夠將要混淆的符號都加上一個特有的前綴,跟系統自帶的符號進行區分

6.混淆過多可能會被appstore拒絕上架,須要說明用途

 

混淆工具:

手動混淆確定會累死,別急下面上工具:

iOS-class-guard

這個三方工具,是基於class-dump的擴展, 用class-dump掃描出可執行文件中的類名、方法名、屬性名等並作替換,同時會更新xib和sb中用到名字

 

 

 

2、對字符串進行加密

進行異或運輸對字符串進行加密

相關文章
相關標籤/搜索