iOS混淆探索
iOS审核现状
目前Apple审核越来越智能化“静态分析+动态分析”,详见揭秘苹果应用审核团队(史上最全版)
总结如下:
- 旧方式:静态修改(简单的全局修改名称早已经不适用了)
- 新策略:彻底混淆+模拟人工混淆成为主流
- 阶段一减低重复率,例如基本的类名、属性名、方法名,字符串等
- 阶段二减少相似度(相同元素的正态分布),属性名、方法名是否按类区分(例如:相同属性名在不同类中混淆完是否改变,以及不同方法名在不同的类中混淆完其实可以相同的)。
- 阶段三改变代码执行流程
- 能否修改所有的属性、方法,及方法的所有参数名
- 修改成员(属性、方法)名称,能否按类区分,还是简单的全局替换
- 带block的参数的方法,典型的网络请求
例如:+ (BOOL)post:(NSString )url parameters:(NSDictionary )parameters success:(HttpRequestResponse)success error:(HttpRequestResponse)error;
- 方法名和属性名改后的名字的长短(例如:name、title等且保证不与系统冲突,
完全摒弃简单的靠大量单词库堆砌以保证命名的唯一性的做法) - 修改布局(Frame、Masonry、SDAutoLayout)
- 插入的是代码还是‘垃圾’(
大量随机毫无关联的垃圾代码)。
例如:+ (void)init; - (void)reloadData; 基本能改,做到的有几个呢?”
有一款工具很不错【520coding/confuse】,这款工具是能识别宏、区分继承链等上下文关联内容,智能识别不可修改部分,做到完全混淆。同时插入的代码通过封装网络请求、数据存储、创建自定义控件,以及文件之间使用MVC模式关联,彻底告别‘垃圾’,实现以假乱真。持续更新中,详见更新日志,运行APP效果图,工具使用教程
文章图片
推荐阅读
- 2020-04-07vue中Axios的封装和API接口的管理
- iOS中的Block
- 读书笔记:博登海默法理学|读书笔记:博登海默法理学 —— 正义的探索(1)
- 探索免费开源服务器tomcat的魅力
- 记录iOS生成分享图片的一些问题,根据UIView生成固定尺寸的分享图片
- 2019-08-29|2019-08-29 iOS13适配那点事
- Hacking|Hacking with iOS: SwiftUI Edition - SnowSeeker 项目(一)
- iOS面试题--基础
- 接口|axios接口报错-参数类型错误解决
- iOS|iOS 笔记之_时间戳 + DES 加密