iOS 审核 4.3(a) 【一切源于机审】

你最近提审iOS APP是否最近遇到了4.3 a ?  还在分析判断是否是机审打回还是人工打回? 

答案:   这一切都源于机审

这篇文章对你来说可能非常重要, 记得收藏回家慢慢看,有问题直接联系我

我们来根据审核时长分析几种情况: 

1:  你的APP审核不到十分钟被打回 4.3 a

审核时长极短, 基本可以认为是机审直接打回, 但也不完全确定, (因为遇到有十分钟打回并附有截图, 这种带截图的可以断定是人工.不过这种情况较少,比较特殊), 十分钟被打回这种情况, 说明了一个问题, 你的代码重复率惊人, 不需要人工断定, 凭靠机审完全可以判定.  

2: 你的App审核 时长在1-2 小时被打回4.3 a ,

不长不短, 到了人工确认环节, 不需要话费太长时间确认, 就可以断定相似度, 说明你的代码相似度并不低, 通过机审能找到相似的App, 人工进行UI 对比, 那么通过简单的视觉观察, 就能断定你是一个混淆处理再上架app, 或者可以说是一个马甲包

3: 你的app审核时长在3-5个小时,  

审核时间略长, 你的代码重复率较低, 但是仍有较多可疑之处, 依旧需要人工断定, 人工通过肉眼观察UI, 不能直观的对比出来是否相似, 需要更深入的从功能等各个角度分析, 需要更长的时间来确认是否达到4.3 标准

4: 你的app审核长达7-10个小时, 甚至更长都没有给出结果

审核时间完全超时, 你的APP 进入了深入调查环节, 你的APP有重大违反开发者条例的嫌疑. 但是仍有审核十几个小时依然能通过审核的情况, 这个时候需要你自查app,是否有严重违反开发者条例的行为.如果没有请耐心等待, 如果有,请迅速撤回审核, 改正, 重新提审. 作者遇到审核时长偶尔超过十个小时, 取消 重提, 三分钟封号的情况 , 被苹果查出重大违规. 

以上是根据审核时长做一个简单的判断, 通过审核时长往往能判断出你的代码问题大小, 往往被拒的越快, 说明你的代码问题越大 , 没有十足把握尽量不要轻易尝试提审, 目前账号出现4.3的次数越多, 审核越严格, 如果超过4-5次, 你可能会有封号的风险.   屡教不改, 不给你机会了. 

下面我们来分析机审

为什么要执着的分析机审呢,  了解了机审的审核机制, 你才知道你的代码修改的方向

很多开发者遇到4.3 就是到处寻找混淆工具, 经过了七七四十九到工序和乱七八糟的操作之后, 信心满满提取提审 , 依然4.3打回 . 

我们进入正题 : 苹果拿到你的ipa 第一步做什么? 

会不会把你的ipa 直接反编译成源码 ? 

1: 完全不会, 因为可执行文件是不可逆的 , 那么你可能会有疑惑 , 你认为不能不代表苹果不能 

受编译优化和元数据丢失影响,在源代码编译成可执行文件的时候丢弃很多数据, 无法完全还原 不过他们可以把你的可执行文件反编译成伪代码, 这对他们来说是易如反掌的

会不会把你的可执行文件反编译成为伪代码?

1: 也不会, 因为这会花费太多的时间,  性价比不高, 而且反编译直接涉及侵犯开发者知识产权问题

会不会把你的ipa直接存入数据库?

全完不会,  ipa体积大小不一, 小的几兆,大的几百兆, 如果全部存入数据库, 这将是一个非常庞大的存贮量,   无论在存储还是对比 都造成了巨大的难度和压力值

重点来了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

苹果必然在你提交了ipa之后, 提取ipa 特征信息, 于一个轻量级的文件中,比如可能是一个txt文件 ,然后存入数据库, 因为这种方案在存储和对比两个方面来讲将会游刃有余, 无论你的app迭代了多个版本, 产生了多少个版本的特征, 全部存储毫无压力.  

那么他也许是这种方式存储的
 

// 示例:feature_manifest.json(实际会更复杂)
{
  "binary_fingerprint": {
    "entropy": 7.82,                          // 二进制熵值
    "section_hashes": {
      "__text": "a1b2c3...",                  // 代码段哈希
      "__data": "d4e5f6..."                   // 数据段哈希
    }
  },
  "code_flow_signatures": [
    {
      "method": "0x1A2B3C",                   // 混淆后的方法地址
      "cfg_hash": "x8y9z0",                    // 控制流图哈希
      "opcode_sequence": ["mov", "call", "ret"] // 指令序列
    }
  ],
  "resource_fingerprints": [
    {
      "file": "Assets/texture.png",
      "crc32": "0x12345678",
      "metadata": {"width": 1024, "height": 768}
    }
  ],
  "api_call_graph": {
    "nodes": ["UIKit", "ARKit", "StoreKit"],
    "edges": ["UIKit→ARKit", "ARKit→StoreKit"]
  }
}

对比文本的速度是惊人的, 可能一秒钟对比几万个app甚至几十万, 那么机审在十分钟左右出结果也就顺理成章了. 当然不一定是txt文件, 有可能是 .pb 或者.parquet 文件. 因为他们比txt文件 具有更小的体积, 更快的读写速度, 和检索效率

了解了以上内容有什么用呢? 会对你的上架有帮助吗

非常有用, 知道了苹果提取和对比的大致流程后, 我们继续分析

苹果可能会一次性提取ipa里面的所有特征, 存入数据库, 那么问题来了

ipa里面除了又可执行文件, 资源文件, 还有动态库, 我们知道可行文件内部大多都是开发者编写的源代码, 是必然要提取的,  资源文件也是开发者设计的一些图片,音乐,等, 这些也是必须提取,作为日后对比的重要数据, 那么动态库部分,苹果会不会提取然后作对比? 
 

这里有两个非常重要的猜测:

1: 会提取,也会对比,但是相对于可执行文件侧重比可能较低
2: 会提取,但不会对比, 苹果可能有白名单策略, 很简单,过滤一些常用的三方库.

我们并非瞎猜, 请看苹果申请的专利

我们来看专利的细节部分

那么问题来了, 我们是否可以将源代码伪装成通用动态库?  蒙混过关? 

苹果比你聪明的多,判断这个难不倒苹果

近年来由于开发者不断对混淆的深入和试探, 测试,  逐渐找到混淆过审的方式, 苹果也针对这种情况不断的做出调整, 对抗开发者混淆.

你应该也会发现, 你过去的混淆方式失效了,  你的混淆工具混淆了之后还是会4.3 

那么其实大部分混淆工具, 都脱离不了那几样, 改变类名,方法名,属性名, 添加垃圾文件

苹果的相似度检测技术应该做了一些创新, 完全脱离这些名称依然能够断定相似度,那么我会在下一篇文章介绍

下面给大家预览一下我们的相似度对比技术, 这是一个混淆了类名,方法名,属性名的 二进制和原来的二进制文件对比报告, 

解决4.3就找我

如果你想找到我, 你就会很容易的找到我

如果你相信我, 我就能给你惊喜

iOS 审核规则4.3.a 是针对应用内购(In-App Purchase)的一个特定条款。这个条款的主要目的是为了防止开发者滥用应用内购系统来进行欺诈性的交易或是绕过苹果公司的官方支付渠道。以下是对该条款内容及含义的详细介绍: ### 4.3.a 条款概述 iOS审核规则4.3.a 要求所有应用内购的商品和服务的价格、描述以及购买流程都必须清晰透明,并且不得诱导用户做出非自愿的购买决策。 #### 具体要求包括: 1. **价格明确**:商品或服务的价格必须在展示给用户之前就清晰地显示出来,不允许通过促销、折扣等方式让用户在购买过程中才了解实际费用。 2. **描述详尽**:商品或服务的详细说明应该提供足够的信息,使得用户能够理解他们正在购买的内容,避免模糊不清或误导性的描述。 3. **避免自动续订**:除非用户明确选择并确认了续订选项,否则应用内购服务不应默认设置为自动续订。如果涉及订阅服务,应当在首次订阅时告知用户自动续订政策和如何取消订阅。 4. **取消制**:应用必须提供简单直接的方式来停止自动续订的服务,并且这种操作过程应该是免费的,不会对用户造成额外的经济负担。 5. **购买历史记录**:应用应允许用户查看其过去的所有购买记录,并能够方便地管理或撤销那些认为不必要的购买。 6. **无隐藏费用**:整个购买过程应不含任何未提前告知的额外费用,如税费、平台费等。 ### 违反后果 违反4.3.a 规则可能导致应用被拒绝发布或下架。苹果会对提交的应用进行定期检查,以确保它们遵守所有的应用商店指南,包括4.3.a 关于应用内购的规定。 ### 相关问题: 1. **如何确保我的应用内购遵循4.3.a 条款?** 确保所有应用内购商品的定价和描述都是清楚准确的,同时提供易于理解和取消的订阅选项,是关键步骤。在设计购买流程时,始终将用户体验放在首位,确保流程直观明了。 2. **如果我的应用因为违反4.3.a 条款而受到处罚怎么办?** 首先,需要立即查并修正违规的部分。随后,按照苹果公司提供的指南进行修复,然后提交更新后的应用供审核。及时响应和改正可以减少处理时间并尽快恢复应用的可用性。 3. **在哪些场景下需要特别注意遵守4.3.a 条款?** 所有涉及到应用内购的功能都需要严格遵守此规定,尤其是那些包含付费解锁功能、订阅服务、虚拟物品或其他形式的微交易。确保所有与购买相关的流程都公开透明、用户友好且遵循苹果的各项政策至关重要。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值