当前位置: 首页 > news >正文

iOS 被拒 4.3a Cocos【全面解读】

目前cocos依旧是众多语言中,遇到4.3a的概率最高的,而且是最难解决的

无数客户的自述:


我的代码是新开发的 !
我的代码都是加密的!
我的客户端根本没有代码,我们都是热更新的!!!

请注意,所有的任何一个被拒案例 都是掌握苹果审核规律的重要依据

我尝试对cocos开发的App的ipa 进行了拆解, 有了重大发现(其实早都发现了, 剧情需要)

我们发现cocos的代码最终其实被编译成jsc文件, 集成到ipa内部

这个文件类似一个ts代码编译后的二进制文件, 我对这个jsc文件进行了多种尝试打开此文件, 经过了九九八十一翻操作, 我发现以我的水平很难打开此文件,这似乎

这是一件好事

为什么说这事一件好事, 因为如果我无法轻易打开这个文件 虽然不代表苹果也打不开, 但是我猜测苹果大概率不会打开这个文件查看里面的源代码

为什么这么说?

1: 苹果其实明确说明了: 出于对开发者知识产权的保护,不会逆向破解开发者源代码, 但是为了审核代码的相似度会提取重要特征

2: 根据大多客户的提审被拒案例来看, 无论是加密的代码, 新写的代码, 空代码都被苹果判断了4.3,说明这个jsc文件对苹果来说没有区分性, 也就是说 不在审查范围

这是一个非常重要的猜测, 让你在处理4.3的问题上直接大范围的排除疑点

那么4.3是什么导致的?

我通过研究cocos的项目结构 , 又发现了一个重大线索

我发现cocos的结构设计并不干净, 尤其是cocos 2.x 版本, 自动构建的xcode项目结构如此混乱.但是最重要的还是 cocos2d引擎库, 是以静态库的方式集成的

这个cocos2d子工程其实是一个静态库工程, 在cocos3.x版本中不以子工程的这种形式出现在主工程中,但是仍然是静态库的形式存在, 只是存在的方式有所区别, 最终的编译产物都是相同的, 那么了解静态库的开发者可能知道, 静态库最终被编译到可执行文件中.


这也是cocos的项目 , 可执行文件偏大的最重要的原因, 上图是一个空工程, 可执行文件高达12.4M,里面应该大部分由cocos2d静态库构成

这个静态库会不会是导致4.3的根本原因?

我虽然不敢肯定, 但是从近期大量客户的4.3案例中来看 ,有重大嫌疑, 我们在处理4.3的原则就是, 不确定的因素就要处理掉

那么问题来了,如何处理这个静态库

通过查看cocos2d 的静态库工程源码发现, 这个工层其实是由c++编写, 而且代码量非常大.

目前我们列举几个处理方式:

1: 修改源代码 , (pass, 修改源码之后cocos端调用会出现混乱)

2: 将静态库包装成动态库, 从可执行文件中抽离 (pass, 我亲自尝试将cocos2d静态库,抽离成pod形式集成,但是有大量报错, 搞的我头昏脑涨)

3: 编译过程中将cocos2d符号混淆 (✅被采取, 此方案不仅无需改动源码,而且操作简便)

例如我们 将CCFontAtlas.cpp 这个类文件的符号CCFontAtlas 在xocd编译过程中混淆成ILoveYou

但仍然是一个庞大的研发量,我们团队由5个人共同开发 , 耗时三个月研发完成

提取过程: 我们先提取所有c++符号

混淆过程:将提取的符号进行混淆


混淆成功, 我们完成了创世制作,混淆cocos2d框架

遇到4.3,就找我, 不走弯路

http://www.cnnetsun.cn/news/1291356.html

相关文章:

  • 深入理解Java包装类与泛型的应用
  • 量化交易策略中的卖出认沽策略从保险思维到博弈思维的逻辑转换
  • USB接口防烧毁秘籍:硬件工程师必看的端口保护全攻略
  • windows安装aspera高速下载sra文件/fastq格式
  • 某端游外挂网络验证的分析与破解思路
  • 探索双级式储能模型:充放电转换、低电压故障穿越与负序抑制
  • Dropout(0.5) 的本质
  • TADA: A Generative Framework for Speech Modeling via Text-Acoustic Dual Alignment
  • 谈工业品迭代规律与开发者创业逻辑
  • Anaconda的安装和使用Anaconda配置python
  • 深耕20年实话实说:化工园区安全整治,真不是“花架子”
  • 如何清除OpenClaw的记忆
  • 搞工控的老铁对安川MP7系列肯定不陌生,这货在产线上跑得比双十一快递还勤快。今天咱们扒开它的源码裤衩,看看那些藏在十六进制背后的骚操作
  • Blender导出FBX到Unity坐标轴异常问题解决(亲测有效)
  • Julia 交互式命令详解
  • 课程顾问任务调度与转化率分析看板
  • 收藏!Java 后端转 AI 大模型开发?结合自身优势才是最优解
  • 【java基础难点:“反射“】别再觉得它难了!一文让你彻底理解!
  • frp 内网穿透工具详细使用指南
  • 三大Java工具库:Hutool vs Guava vs Commons
  • 【量化工具推荐】期货量化交易品种与合约信息平台对比
  • StepFun团队首创图像生成模型的“虚拟GUI环境“评测基准
  • 【量化工具推荐】期货量化交易等待与驱动机制平台对比:8款平台深度分析
  • 避开渲染坑!有哪些靠谱的云渲染平台值得选?
  • 2026最新Postman安装教程[简单易懂]附安装包
  • OpenClaw部署失败怎么办?云服务器常见问题汇总
  • ABoVE:加拿大西北地区土壤有机质的燃烧严重程度,2014-2015 年
  • 从「设计优先」到「实践优先」:构建自学习 AI Agent 的技能生态系统
  • ros2 jazzy下的gazebo仿真与moveit
  • JAVA三大版本与JDK、JRE、JVM