入職新公司,沒有帶筆記,結果就N臉懵了,記在掘金方便日後查找。git
混淆:github
下載安裝連接:https://github.com/HikariObfuscator/Hikari/releaseside
將Hikari.xctoolchain解壓到~/Library/Developer/Toolchains/ 或/Library/Developer/Toolchains/ 便可。區別是前者只有當前用戶可用,後者全部用戶均可使用函數
1.選擇Xcode -> Toolchains -> HikariObfuscator將混淆工具和項目關聯。工具
2.將全部與要運行的target相關的target(包括pod進來的庫)Enable Index-While-Building 的值改成NO。ui
3.Optimization Level 的值設置爲 None[-O0]加密
3.若是是全局混淆,則在須要混淆的target中直接將Other C Flags的值加上所需的混淆標記code
Other C Flags文檔
* 每一個flag前加須要上-mllvm字符串
通常添加如下三種標記:
-mllvm -enable-fco
-mllvm -enable-funcwra
-mllvm -enable-strcry
-mllvm -enable-acdobf
4.編譯便可完成混淆
其他所有標記:
-mllvm -enable-bcfobf 啓用僞控制流
-mllvm -enable-cffobf 啓用控制流平坦化
-mllvm -enable-splitobf 啓用基本塊分割
-mllvm -enable-subobf 啓用指令替換
-mllvm -enable-acdobf 啓用反class-dump
-mllvm -enable-indibran 啓用基於寄存器的相對跳轉,配合其餘加固能夠完全破壞IDA/Hopper的僞代碼(俗稱F5)
-mllvm -enable-strcry 啓用字符串加密
-mllvm -enable-funcwra 啓用函數封裝
-mllvm -enable-allobf 依次性啓用上述全部標記
* 若是沒法提審:正常使用Hikari工具鏈編譯後刪除IPA的Info.plist下的``DefaultToolchainOverrideInfo`` 。而後重啓Xcode和Organizer。
對於代碼信息的修改,可使用KLGenerateSpamCode程序,根據文檔提示進行修改。
Github地址: https://github.com/klaus01/KLGenerateSpamCode
對於各功能的使用,須要注意順序。
刪除空行和註釋可能存在少部分代碼的誤刪。
項目過於複雜不建議修改類文件前綴,可能產生未知bug。部分目錄修改前綴也不可取,未在目錄內的引用不會更改,須要手動更改。
垃圾代碼生成器,使用工具ChaosTool
下載地址:https://www.yaozuopan.top
/* 支持返回值/屬性/參數類型 **/:NSString/NSArray/NSData/NSDictionary/UIImage 最好刪除UIimage,不然部分垃圾代碼容易產生報錯