剛剛寫了如何使用class-tump查看app包頭文件?,那我們?nèi)绾问刮覀儽Wo我們app的安全呢监透,這里先簡單的介紹一種代碼混淆的方法瑟慈,就是使用預(yù)編譯替換。
我們新建工程仔雷,然后加入PrefixHeader.pch和head.h文件蹂析,然后在head.h文件中添加宏,如圖
然后定義并實現(xiàn)兩個方法
-(void)xxxxxx;
-(void)test2;
-(void)xxxxxx{
NSLog(@"xxxxxx");
}
-(void)test2{
NSLog(@"test");
}
然后我們編譯之后進行打包
用歸檔工具打開ipa包碟婆,可以看到app文件电抚,打開終端,輸入
class-dump -H /Users/xie/Desktop/confuseTest\ 2017-08-21\ 10-39-29/Payload/confuseTest.app? -o /Users/xie/Desktop/confuseTest\ 2017-08-21\ 10-39-29
可以看到已經(jīng)將ipa中app包的頭文件導(dǎo)出到/Users/xie/Desktop/confuseTest\ 2017-08-21\ 10-39-29文件夾下竖共。
打開viewController.h文件蝙叛,可以看到
xxxxxx已經(jīng)替換為宏定義的test,公给,所以我們代碼中可以添加預(yù)編譯宏來隱藏方法名借帘。