[iOS 代码混要加固转帖]

拿来两种代码混淆方案

第一中来自念茜的随机字符串混淆,好处是不影响继续开发,可以在编译时才会对代码混淆

iOS 对源代码进行混淆
http://www.jianshu.com/p/98227950a474

//下面文章是自动获取配置列表的脚本 , 可配合第一种方法使用
安全攻防之代码混淆的一个小工具
http://blog.csdn.net/yxh265/article/details/38438959

记录一下一些问题

1.confuse.sh func.list 文件 最好放入工程的根目录文件下,不然报找不到/sh/bin文件 (Run Script中,路径地址 最好填这个 /bin/sh $PROJECT_DIR/confuse.sh)
2.且不要加入工程中去,不然ipa包里面 还是能看到你的宏定义文件
3.由于是利用宏定义去替换方法名和属性名, 所以我在用 自动获取配置列表的脚本的这个file的时候,会获取好多方法里面调用的方法,导致很多报错, 最稳妥的办法还是老老实实在 func.list 文件中 添加你需要混淆的关键 方法名/属性名. 其他无关紧要的属性/方法暴露也不要紧的吧?
4.自动获取配置列表的脚本 这个很简单, 创建一个名为 file.c的文件,复制文章里面的c代码,修改你要轮询的文件地址,
在终端里面 执行gcc file.c -o filex 就可以得到一个filex的文件,打开里面就是所有楼出来的方法名属性名

5.多说一句,下面的这个第二种方法也有点问题,至少不是所有人通用的,大家可以借鉴使用.

6.再补充一下,针对属性进行混淆后,如果对此属性有监听kvo等情况,混淆后监听失效

第二种 来自 zm53373581

好处是 不用配置列表,直接把工程文件全部随机掉, 缺点是执行脚本文件后 工程文件你也看不懂了

文章地址
http://blog.csdn.net/zm53373581/article/details/49120895

1.终端cd 到zmconfuse.sh文件 所在的文件夹内。
2.再把你的工程文件拷贝到此文件夹内。
3.打开zmconfuse.sh文件,把 ROOTFOLDER="shakefun" 的shakefun替换成你的工程文件名。
4.添加排除的第三方库等。保存修改。
5.直接把zmconfuse.sh文件,拖到终端内,ENTER。
完成!!!

地址 :https://github.com/kongcup/ZMConfuse.git

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值