这个文章没有任何技术含量,仅为喜欢的粉丝准备的,勿喷。
前段时间小编看到网上很多人讲APK逆向,APP抓包,但是很少会讲IOS签名证书的问题,小编也不懂IOS逆向,但是为了广大的粉丝,小编只能硬着头皮写一篇简短的文章为大家解惑。
首先大家都知道IOS的签名分为企业签,超级签,TF签名,这里先讲操作,具体原理呢,小编也整理了文档,大家可以有空了再研究。
以下面的这个应用为例,给大家讲一下操作步骤。
图1:ipa文件下载页面
首先我们下载该IPA文件,右击属性,修改后缀“.ipa”为“.zip”,然后解压得到一个文件夹,打开文件夹--Payload--**.app 找到embedded.mobileprovision文件,
图2:下载ipa后查找文件的流程
embedded.mobileprovision是个二进制文件,可以用记事本、winhex或者其他的任何可以打开的文件打开。
图3:embedded.mobileprovision内容展示
如上图,这样我们就得到了,该文件的基础信息,比如APP ID 、Team、UUID以及签名的有效时间以及注册的所有人的信息,从图中可以看出这个应用是随便填写了一个名字:shanfeng sun,而且没有常规的Apple ID的相关信息;有时候可能你会疑问,为啥我们平常看到的是带着邮箱或者电话号码,或者有的还带着开发公司,如下图:
图4:开发者公司的内容
图5:开发者Apple ID邮箱(来自互联网)
我们可以看到,图中所示有的是开发者公司的名称例如图4,有的是有邮箱等信息例如图5,但是图3是我们分析的ipa文件的内容展示,却显示:shanfeng sun,没有公司名称也没有邮箱,这是什么原因呢?
这是苹果开发者账号的原因,是因为使用了Team ID,因为开发者可能没有使用
UniversalLink ,UniversalLink 是苹果自iOS9.0推出的用于应用之间跳转的一种安全认证机制,通过HTTPS链接来启动APP。一些开发平台就会要求开发者使用Appid进行配置生成UniversalLink,而AppID配置信息需要两个元素,TeamID与
BundleID(iOS应用的唯一标识,可以理解为包名)。一些常见的sdk厂商也是要求必须填写此类内容的,比如某些头部厂商。
图6:team id(来自互联网)
官方的说法就是:Team ID 是一个包含 10 个字符的字符串,由 Apple 生成并分配给您所在的团队。在进行特定活动时,您需要提供团队 ID,例如在 App Store Connect 中将您的 App 转让给另一位开发者。
TeamID注册需要提供邮箱验证与手机号码验证,需要填写地址。
图7:Devices ID
Devices ID是什么?Devices ID是开发者团队在开发的时候需要调试或者共享APP,就会在Team中添加设备,也就是每一个Devices ID代表一个苹果设备,这个图就代表这个应用的开发者使用了这么多的设备进行了调试。
Devices ID可否删除呢?是可以的,但是删除必须是得向苹果官方提起申请,如下图所示,并不是想删除就删除的。
图8:Devices ID清除申请图示(来自互联网)
这个时候你会说为什么没看到签名啊,一个苹果APP必须需要签名与描述性文件,这是无签名打包的ipa,后边就是开发者引导受众怎么使用自己的APPLE ID 进行自签名,使用个人 Apple ID 打开的 IPA 文件有效期为 7 天,所以就需要不断的更新签名。
这样我们就总结下来,可以看出来一个描述文件只能对应一个app、证书和app不是唯一的对应关系,Devices ID相同的可能是同一批开发者。
为了便于大家更好的理解本文内容,小编整理了在学习过程中需要知道的基础,连带本文做成了一个pdf文档,共8页,便于大家可以更好的对照学习。
获取方式:关注“明不可欺”公众号,并在消息框中回复:苹果应用基础 即可下载
码字不易,烦请各位大佬转载、转发。
文中部分图片自于互联网,如有侵权,联系删除
原文始发于微信公众号(明不可欺):不懂技术也可以分析苹果应用
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论