刚刚写了如何使用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,,所以我们代码中可以添加预编译宏来隐藏方法名。