代碼混淆
代碼混淆(Obfuscated code)亦稱花指令棒厘,是將計算機程序的代碼粘秆,轉換成一種功能上等價如迟,但是難于閱讀和理解的形式的行為。將代碼中的各種元素攻走,如變量殷勘,函數,類的名字改寫成無意義的名字昔搂。下面關于iOS馬甲包代碼混淆簡單說明一下個人的思路玲销,對變量,函數摘符,類的名字進行混淆贤斜,方面各路大神順利過包。
1.占位符替換
就是在變量逛裤,函數瘩绒,類的名字中插入特別的占位符,如 X01 等等别凹。
2.前后綴包裹草讶,正則匹配進行替換
就是在變量,函數炉菲,類的名字前后使用類似 BJ7_xxxx_C9S等前后綴包裹
3.使用宏替換
就是利用oc的pch文件將要混淆的變量堕战,函數坤溃,類進行宏定義
pch文件內容:
pch設置:
4.垃圾方法插入
采用預先埋點的方式進行替換與調用
5.辣雞代碼生成