app代碼混淆防止反編譯(一)

剛剛寫了如何使用class-tump查看app包頭文件?,那我們如何使我們保護我們app的安全呢,這里先簡單的介紹一種代碼混淆的方法,就是使用預編譯替換。

我們新建工程,然后加入PrefixHeader.pch和head.h文件,然后在head.h文件中添加宏,如圖

然后定義并實現兩個方法

-(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

可以看到已經將ipa中app包的頭文件導出到/Users/xie/Desktop/confuseTest\ 2017-08-21\ 10-39-29文件夾下。

打開viewController.h文件,可以看到

xxxxxx已經替換為宏定義的test,,所以我們代碼中可以添加預編譯宏來隱藏方法名。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容