iOS预审扫描

专家测试团队等待为您服务

10年测试经验,精准深入收集用户体验,我们给你想要的测试。为你的 App 扫去上线的障碍,大量节省测试的时间和成本。作为开发,你本该享受生活。

快速发现App Store上架审核被拒问题 有效降低审核被拒风险 全面保障App和马甲包提审通过率

IOS马甲包扫码工具支持检测并生成对应方案和提供针对问题的技术人员联系方式并协助服务:

2.1大礼包条款

3.2.1条款

4.3被拒条款

元数据被拒条款

最低功能要求被拒条款

 

GuideImage_6c1918886ea9af93eb39ac7cc90a7

扫描工具

上传IPA包、图片、视频、应用描述即可进行测试

多维度自动扫描提审材料的被拒风险

1小时内反馈全面的扫描报告

defaultUserPic.png

专家预审

IOS开发子专家为您遍历App所有功能模块

全面暴露App内容被拒风险

跟进问题直至上线(需提供官方拒绝邮件)

专家咨询

资深预审专家一对一服务

咨询时间灵活可选,按需购买

有的放矢解决审核问题

defaultUserPic.png

ASO优化

专业团队多维度深度剖析App的ASO现状

围绕App目标用户群筛选高度关联的关键词

帮助提升App在苹果应用商店中的曝光率

在ASO方面,IOS开发子团队七月份创新的ASO方法,利用开发者账号堆砌关键词,瞬间打榜,不管你是什么行业的App都可以操作

 

 

适用场景

0

测试流程
0
报告样例

 

 

0

0

经典案例:

扫描工具

更新于2018-07-21 10:43:55

IOS马甲包混淆扫描二合一工具介绍

iOS预审扫描工具是一个用于iOS App审核测试的工具,用户只需按照工具指引上传材料(当前支持ipa安装包、预览图片、预览视频和应用描述的txt文件4个提审材料的扫描),4小时内可获取审核问题和修改建议。
扫描工具可以快速、全面地暴露提审材料中被拒的风险点,帮助App降低被拒风险,从而能整体提升App过审的节奏。

新加入自动加入针对的垃圾代码混淆。

新增IOS开发者名称ASO关键词优化方案推荐

进入扫描工具的页面,首先需要进行上传IPA的相关操作:

如果是新测试(含首次使用工具和更新版本测试),则需要上传IPA包,待上传完成后(进度条显示100%),再点击“下一步”;

IPA包上传完成的进度显示:

如果是回归测试(已经使用过扫描工具,并且是同版本的回归测试),则需选择“回归测试”的类型、对应的产品名称以及是否要上传IPA包(默认不需要上传,但如果IPA包发生了变更,则需要上传更新后的IPA,上传操作过程同上),然后再点“下一步”;

Step4:进入“上传图片”、“上传视频”、“上传应用描述”页面,按需上传图片、上传视频、上传应用描述:

如果没有图片规格属性的扫描需求,此步骤可直接跳过,点击“下一步“;
如果需要扫描Large Icon、iPhone格式、iPad格式的图片时,则需要单击“点击上传”,然后选择目标图片,待全部图片的上传完成后(如下图,图片缩略图和数量显示正确),再点击“下一步”;
备注:不同格式的图片(如Large Icon、iPhone格式和iPad格式),需要通过对应的入口来上传。

如果没有视频规格属性的扫描需求,此步骤可直接跳过,点击“下一步“;
如果需要扫描iPhone格式、iPad格式的视频时,则需要单击“点击上传”,然后选择目标视频,待全部视频上传完成后(如下图,下方显示“xxx已上传”),再点击“下一步”;
备注:不同格式的视频(如iPhone格式和iPad格式),需要通过对应的入口来上传。

如果没有应用描述的扫描需求,此步骤可直接跳过,点击“提交审核“;
如果需要扫描应用描述的文档时,则需要单击“上传应用版本描述”,然后选择目标文档,待全部视频上传完成后,再点击“提交审核”;
备注:如果是txt格式的文档上传时,文件编码格式要求是UTF-8。

Step5:完成所有提审材料的上传操作,等待扫描结果:

1、查看扫描报告

Step 1:完成如上提审材料的上传操作后,可直接点击“我的报告”,进入“iOS预审报告”页面:

Step 2:在报告列表中,点击对应产品的“查看”按钮,即可查看扫描报告详细了:

iOS预审报告详情如下:

2、扫描报告内容的解读

在“结果详情”中,首先是图表的展示,对不同类型问题占比进行统计,每个饼图对应一个提审材料(从左到有,分别是IPA包、图片、视频和应用描述),通过此部分数据,可整体评估提审材料的被拒风险。

橙红色表示“错误(error)”的类型,此类型的问题,务必进行整改,否则带问题提审,苹果审核人员发现,必定会拒绝此版本;

灰色表示“告警(warn)”的类型,此类型的问题,建议进行整改,否则带问题提审,存在一定概率的拒绝风险;

绿色表示“通过(pass)”的类型,此类型,无审核被拒风险。

在“问题列表”中,对图表中“错误”的问题进行罗列,默认展示所有error类型的问题,可通过不同页签(如IPA问题、图片问题等)来过滤。对于问题的解决方案,给出了简结的指引,可供整改参考。

 

马甲包混淆

API

首先base64加密API肯定不能再使用了,加密特征太过明显。

用户请先把所有自定义的API名称都加上了ab_前缀,使得我们写的脚本很好识别。我们将所有扫描出的API放到一个plist文件中保存在本地,然后我们建立了6个数组,每个数组中有6个单词,每次从每个数组中随机抽取一个单词。将6个单词拼接成一段方法名保存在另一个plist文件中,当然,在保存前,先去重,如果这个方法名已经用过了,那我们随机再换,这样一共可以生成46656种方法名,对于我们的工程已经够用了。

图片

利用脚本遍历本地所有png文件,当然你可以自行添加.jpg格式遍历。根据自己的命名规则将所有图片重新命名了一波。另外我们也发现网上有个轮子可以利用shell命令对所有图片资源进行超轻量级的压缩,在不影响图片质量的情况下,改变图片的hash值。当然我们的马甲包中图片没有和主界面相似的,所以的这一步我们没有实践。

类前缀替换

这一步主要是更改文件名。程序扫描绝对地址下的所有文件,只要是带”XX”开头的文件都替换成”AB”这种,另外每次替换一个文件都要遍历所有文件,将所有用到这个头文件的文件内容进行更换。

注意

类前缀替换有时会有个别没有替换到,我没能定位到问题,但很少,可以手动查找替换

生成垃圾代码

我用plist专门搞了一个垃圾方法名,每四个方法生成一个带参数名的方法。暂时每个文件里只生成一个垃圾方法。当然可以多运行几次,就会生成几个垃圾方法

实现

混淆工程我们使用C+OC的混合编程方式。

目前已经实现的功能有:

1、图片资源修改名字

2、修改工程名

3、类前缀修改,如“GD”修改为“IE”,即修改了文件名

4、混淆随机添加垃圾代码、参数

5、修改方法名前缀

6、人工修改部分方法名,人工对重要类中的方法进行打乱排序

7、(可选)本地图片超轻量级压缩,打乱hash值,新上的马甲包建议修改

使用方法

启动参数配置

先配置启动参数再运行,如图

除第一项必选外其他都非必选。另外第一项启动参数必须放在第一行

参数解释

1.工程代码的绝对路径

2.-modifyProjectName [原工程名]>[新工程名]

3.-modifyClassNamePrefix [xcodeproj文件的绝对路径,不是pod安装后的那个打开文件] [旧类前缀]>[新类前缀]

4.-spamCodeOut

5.-ignoreDirNames [需要忽略的文件夹],[需要忽略的文件夹] 注意,Pods文件夹不在混淆范围内,不需要写

6.-handleXcassets (混淆图片文件)

7.-deleteComments (删除多余的空格和注释)

8.-chageAPIPrefix [旧方法名前缀]>[新方法名前缀] 注意,前缀要有“”才能被识别,如果之前工程中没有xx下划线开头来命名方法的,此项不要勾选

此工程可以选择混淆概率,修改工程中kPercent数值。

实际测试如下