iOS加固

加固:

能够增长安全性,防破解安全

 

加固方式:

数据加密(字符串、网络数据、敏感数据)网络

应用加壳(二进制加密)app

代码混淆(类名、方法名、代码逻辑)工具

等等。。。加密

 

适合iOS的加固方案:

代码混淆方案:spa

1. 源码混淆:类名、方法名、协议名  ip

2. LLVM中间代码IR的混淆(容易产生BUG)字符串

推荐源码混淆方案。源码

 

源码混淆怎么作?it

1、经过宏定义混淆核心方法名、类名等等,不须要全部的东西都混淆

在pch文件中,定义宏

好比 : #define buyVip dfdds  给bugVip这个方法名定义一个宏,这样代码预处理时,就会将buyVip替换成dfdds,生成的二进制可执行文件,被人反编译后,别人看到是dfdds 而不是buyVip,这样他逆向起来就会增长很多难度

 

 注意点:

1.不能混淆系统方法

2.不能混淆init开头的自定义初始化方法

3.混淆属性时须要额外注意set方法

4.若是xib sb中用到了混淆的内容,好比关联的类名,须要手动修改

5.能够将要混淆的符号都加上一个特有的前缀,跟系统自带的符号进行区分

6.混淆过多可能会被appstore拒绝上架,须要说明用途

 

混淆工具:

手动混淆确定会累死,别急下面上工具:

iOS-class-guard

这个三方工具,是基于class-dump的扩展, 用class-dump扫描出可执行文件中的类名、方法名、属性名等并作替换,同时会更新xib和sb中用到名字

 

 

 

2、对字符串进行加密

进行异或运输对字符串进行加密

相关文章
相关标签/搜索