iOS马甲包预审分析工具

预审分析是什么,有什么用?

  工具开发初衷:做马甲有几年了,每次遇到苹果各种条款、调查都是不知所措,只能改SDK,改混淆,改UI等一通乱改,所以很早就有想法要做一款模拟苹果机审的预审工具。   该工具模拟苹果审核的机审操作,能拿到机审期间获取的所有信息做对比分析,在提审前把分析出来的特征修改掉,提高过审率。工具从ipa文件、代码、网络和图像识别4个方面做分析对比,生成html预审分析报告。   如果你是iOS技术、游戏研发等,这个工具可以帮助你定位项目可能被苹果标记的特征;如果你是商务运营,那你可以直接拿分析报告去怼你们的技术让他把特征改了再提。

分析原理

html特征分析报告

  下面从几个方面介绍工具所分析的特征。● 为你的项目独有特征,必须修改处理;● 意思是匹配出来的项目特征同时在 App Store 线上少量包也存在,但是也建议修改处理;● 则为可忽略选项。

ipa 文件

  ipa里面的文件是强关联的重点,甚至不需要机审直接解压就可以匹配出相关特征。下面是从文件MD5和一些文件特征做分析对比,报告中会列出具体特征以及在哪些包出现。

MD5

对苹果来说这是最容易匹配出来的特征。

UDID

一些内部小道消息,UDID也是苹果匹配文件特征的一个方式,连续32位十六进制字符串。

域名/IP

文件里面明文的域名或IP

编译路径

xcode编译的时候会把部分文件的路径编译进二进制,用户Users目录同时也会包含在里面。

字符串常量

二进制文件里面的所有字符串常量

App文件目录结构

图像识别

对ipa的图片文件做图像识别,包括car文件,显示识别相似度。

网络请求

  针对域名和网络请求的分析,包括webview的加载

域名

请求

webview

代码

整体代码分析

iOS

类、父类、协议、属性、成员变量、方法等的特征分析。

C函数

少量包存在的C函数特征。

机审图像识别对比

如何修改特征

  如果分析报告有大量特征怎么处理?众所周知苹果审核是基于评分的,一般不会因为只有某个文件或某个代码被标记而被拒。见过一个游戏在 App Store 上存在几百个包,代码和文件都处理得很好,但是也存在一些网络相关的特征。我处理过的就有一个一直被调查的游戏,改了大量文件特征后,即使有2个文件研发没办法处理,也连续过了几个包。

    必须处理●特征,尽量处理●特征 优先处理文件和代码特征,这是开发可以掌控的;如果改了之后还是被拒,网络方面再让服务端尽量配合修改

QA

Q:多久可以出分析报告? A:取决于ipa包体大小,工作日上班时间一般半小时就可以出分析报告,首次分析会需要较长时间。

Q:为什么没有高危词分析? A:有一些具体的被拒案例苹果会说明用了某个词而导致被拒,但是这些词其实都能在线上包找到,目前数据不太好找出相同特征,当然后续会对这方面结合更多案例去分析处理。

Q:特征全改了就一定能过审吗? A:该工具不保证过审,毕竟苹果还会对账号、机器、提审网络等方便标记。如果能把分析报告的●特征全都能改掉,过机审是问题不大的。

经验分享 程序员 微信小程序 职场和发展