-
-
[求助]iOS 14.3 App Store 注册签名 —— 求帮忙看 AMSAbsinthe session-info 密钥格式
-
-
[求助]iOS 14.3 App Store 注册签名 —— 求帮忙看 AMSAbsinthe session-info 密钥格式
在逆向 App Store 的 Apple ID 注册流程,卡在签名算法最后一步。
### 已完成
1. 完整抓包了注册流程(51 条 HTTP 请求),流程如下:
- GET setup.icloud.com/setup/qualify/cert → 拿服务端证书
- GET setup.icloud.com/setup/qualify/session → 拿 session-info
- GET buy.itunes.apple.com/.../signupWizard → 注册页
- POST .../validateFields (多次) → 表单验证
- POST .../generateAndSendHSA2SecCodeSrv → 发送验证码
2. 签名格式已分析:X-MMe-Nas-Qualify 是 90 字节 base64
- 解密后:32 字节 ECDSA DER 签名 + 58 字节元数据
- 算法确认:ECDSA P-256 + SHA-256
3. 签名链路:AMSAbsintheSession.signData:bag:error:
→ _prepareContextWithBag:error:
→ AuthKit 的 t1Uu 函数(IDA 反编译 814 行)
4. Keychain 里搜不到私钥,应该是 qualify/session
响应里的 session-info 包含的
### 卡住的问题
session-info 是 170 字节的二进制数据(base64 解码后),
开头 02 2e 是 ASN.1 INTEGER(46 字节),但后面的数据
用 asn1crypto 解析报 "indefinite length" 错误,
不像标准 SEC1/PKCS8 格式。
试过 SecKeyCreateWithData 直接导入也返回 nil。
求大佬帮忙看这个 170 字节到底是什么格式,怎么提取出
ECDSA 的私钥(P-256)。
### 附数据
session-info (170B hex):
022e0b80fd62e09a84d82900d88f4c1782000000407940a87722504490
0b3b94dce1f5e1eddffe6548ed60d8440bd6bf18da97af18b459712304
393359af1c0450dad1d8a28680d48d45761bf2ad7a6e2578241eec01807
1a70076960e575e65d850498f7b24e1f4838d000000360205ffbaa7d6f5
0467445c0fa21f56df277f6a19afa90050855ca57a62d872f4654ff146f
85aa1f6e345dcebe9f936e684430ae4830a57004c003800
测试向量(signupWizard URL):
URL: /WebObjects/MZFinance.woa/wa/signupWizard
?&guid=d069542bd56778a8f7e424ce966882b246286089
签名 (90B hex): 02047e52651b841dc0368e54ef946f51f89b1d7d56ad
1669f426976e0a6c804c65000000f00600000000000000807e4b68cd2f44
566ac2f3fa928daeb75a772ecb4eb627d25f909fa4352cad5859004aead4
a404d84a0c36c8b4
签名 (base64):
AgR+UmUbhB3ANo5U75RvUfibHX1WrRZp9CaXbgpsgExlAAAA8AYAAAAA
AAAAgH5LaM0vRFZqwvP6ko2ut1p3LstOtifSX5CfpDUsrVhZAErq1KQE
2EoMNsi0
[招生]科锐逆向工程师培训(2026年7月3日实地,远程教学同时开班, 第56期)!