iOS私有Api检测

2018 年 7 月 30 日 CocoaChina

本公众号内容均为本号转发,已尽可能注明出处。因未能核实来源或转发内容有权利瑕疵的,请及时联系本号,本号会第一时间进行修改或删除。 QQ : 3442093904 




  • 最近提交APP审核被苹果的审核人员是虐的不要不要的, 一直都说是使用了私有API

  • 但是我使出了浑身解数, 也没找到自己写的代码里哪里用到了私有API, 最后网上找了一些检测私有API的方法才发现在SDK里面涉及到了

  • 下面就检测私有API的方法简单介绍一下


指定私有API

  • 这是最显而易见的, 也是最方便解决的可能出现私有API的情况

  • 当然这种方法首先你要知道使用了那些私有API, 然后在代码中进行全局搜索, 修改, 此方法暂不赘述

  • 这些方法, 我在查找的时候基本能定位到使用私有api的第三方库的位置


终端命令

首先要cd到工程目录


cd 到工程的目录


全局搜索的命令(注意后面有一个点), 其中prefs即为你要搜索的私有API


grep -r prefs .


如果私有api属于类似GraphicsServices.framework等.framework第三方库中,然后全局搜索后发现无法检测到这个库的存在,应该是私有库之类的, 也可以使用


grep -r GraphicsServices .


到这里, 解决上述第三方库的私有API的问题, 就是直接替换掉新的SDK, 当然如果新的第三方库也有私有API的话, 那就只能舍弃了, 否则基本无解



strings检测


此方法是利用已经打包的ipa包检测


  • 首先你有个可以提交审核的ipa,就是需要提交到苹果审核的包,不是测试的release

  • 将ipa重命名为zip格式,也可以直接使用解压工具解压, 如果有两个文件夹Payload、Symbols,就OK

  • cd到Payload里面的app


cd /Users/xxx/Downloads/xxx\ 2018-07-16\ 15-00-36/zcmlc/Payload/xxx.app


然后执行, 其中test为你要搜索的app的名字, api为你要搜索的私有的API


strings - -a -arch armv7 "test" | grep api


除了上述这命令之外, 这里还有第二种命令搜索, 生成一个文件, 自己去找即可


strings - -a -arch armv7 "test" > test.txt


私有API检测工具


主要介绍使用iOS-private-api-checker进行检测详情可参考: iOS-private-api-checker私有API检测工具使用详细步骤


本文作者: TitanKing

本文链接: https://titanjun.top/2018/07/16/iOS私有Api检测/


相关推荐:


登录查看更多
1

相关内容

应用程序接口(简称 API),又称为应用编程接口,就是软件系统不同组成部分衔接的约定。
TensorFlow Lite指南实战《TensorFlow Lite A primer》,附48页PPT
专知会员服务
70+阅读 · 2020年1月17日
KGCN:使用TensorFlow进行知识图谱的机器学习
专知会员服务
83+阅读 · 2020年1月13日
用Now轻松部署无服务器Node应用程序
前端之巅
16+阅读 · 2019年6月19日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
占坑!利用 JenKins 持续集成 iOS 项目时遇到的问题
用 TensorFlow 目标检测 API 发现皮卡丘!
AI研习社
5+阅读 · 2018年6月4日
Arxiv
25+阅读 · 2020年3月11日
Large-Scale Study of Curiosity-Driven Learning
Arxiv
8+阅读 · 2018年8月13日
VIP会员
相关资讯
用Now轻松部署无服务器Node应用程序
前端之巅
16+阅读 · 2019年6月19日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
占坑!利用 JenKins 持续集成 iOS 项目时遇到的问题
用 TensorFlow 目标检测 API 发现皮卡丘!
AI研习社
5+阅读 · 2018年6月4日
相关论文
Top
微信扫码咨询专知VIP会员