<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>订阅 on 逍遥笔记</title><link>https://blog.7qiang.com/tags/%E8%AE%A2%E9%98%85/</link><description>Recent content in 订阅 on 逍遥笔记</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><copyright>逍遥笔记</copyright><lastBuildDate>Thu, 17 Sep 2026 22:00:00 +0800</lastBuildDate><atom:link href="https://blog.7qiang.com/tags/%E8%AE%A2%E9%98%85/index.xml" rel="self" type="application/rss+xml"/><item><title>iOS ChatGPT Pro 20x 强开订阅全解析 — 从越狱抓包到 Apple buyProduct API 的完整技术链路</title><link>https://blog.7qiang.com/posts/ios-chatgpt-pro20x-forced-subscription-apple-iap-2026/</link><pubDate>Thu, 17 Sep 2026 22:00:00 +0800</pubDate><guid>https://blog.7qiang.com/posts/ios-chatgpt-pro20x-forced-subscription-apple-iap-2026/</guid><description>&lt;img src="https://blog.7qiang.com/blog-cover-cyber-mask.gif" alt="Featured image of post iOS ChatGPT Pro 20x 强开订阅全解析 — 从越狱抓包到 Apple buyProduct API 的完整技术链路" /&gt;&lt;section class="xiaoyao-contact-card" aria-label="联系逍遥"&gt;
 &lt;img class="xiaoyao-contact-card__qr" src="https://blog.7qiang.com/contact-qr.png" width="690" height="690" loading="lazy" decoding="async" alt="逍遥微信二维码"&gt;
 &lt;div class="xiaoyao-contact-card__content"&gt;
 &lt;h3 class="xiaoyao-contact-card__title"&gt;联系逍遥&lt;/h3&gt;
 &lt;p class="xiaoyao-contact-card__description"&gt;扫码添加微信，或点击下方按钮复制联系方式。&lt;/p&gt;
 &lt;div class="xiaoyao-contact-buttons" data-contact-buttons&gt;
 &lt;button class="xiaoyao-contact-button xiaoyao-contact-button--wechat" type="button" data-copy-contact="plus6566" data-copy-label="微信号"&gt;
 &lt;span class="xiaoyao-contact-button__label"&gt;微信&lt;/span&gt;
 &lt;span class="xiaoyao-contact-button__value"&gt;plus6566&lt;/span&gt;
 &lt;span class="xiaoyao-contact-button__status" data-copy-status&gt;点击复制&lt;/span&gt;
 &lt;/button&gt;
 &lt;button class="xiaoyao-contact-button xiaoyao-contact-button--qq" type="button" data-copy-contact="826215906" data-copy-label="QQ 号"&gt;
 &lt;span class="xiaoyao-contact-button__label"&gt;QQ&lt;/span&gt;
 &lt;span class="xiaoyao-contact-button__value"&gt;826215906&lt;/span&gt;
 &lt;span class="xiaoyao-contact-button__status" data-copy-status&gt;点击复制&lt;/span&gt;
 &lt;/button&gt;
 &lt;span class="xiaoyao-contact-feedback" role="status" aria-live="polite"&gt;&lt;/span&gt;
&lt;/div&gt;

 &lt;/div&gt;
&lt;/section&gt;

&lt;p&gt;进微信群请联系博主，各位觉得文章对你有帮助的话可否打赏一些呀~&lt;/p&gt;
&lt;hr&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;⚠️ 免责声明&lt;/strong&gt;：本文仅供安全研究与技术学习。文中分析的技术手段仅用于理解 Apple IAP 系统与订阅管理的工作原理。请勿将相关技术用于任何未授权的操作。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="前言"&gt;前言
&lt;/h2&gt;&lt;p&gt;OpenAI 在 2026 年下半年关闭了 Pro 20x（$200/月）的新订阅入口。Web 端没了按钮，App 端没了选项，API 也不再接受新的 Pro 20x checkout 请求。&lt;/p&gt;
&lt;p&gt;但有人发现了一个思路：&lt;strong&gt;不走 OpenAI 的 UI，直接走 Apple 的支付 API。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;原理说起来就一句话——OpenAI 关的是自家前端的入口，但 App Store 后台的 IAP 商品还活着。只要你能构造一个合法的 Apple 购买请求，Apple 照样扣款、出收据，OpenAI 的服务端收到合法的 App Store 回执就得开通。&lt;/p&gt;
&lt;p&gt;最近有人把这个方法开源了，我拿到了完整教程（包含前置条件、网络配置、越狱设置、拦截原理、操作流程、字段说明六个章节）。今天在这个基础上加入我们自己的技术分析——特别是与 &lt;a class="link" href="https://blog.7qiang.com/posts/stripe-protocol-payment-automation-deep-dive-2026" target="_blank" rel="noopener"
 &gt;Stripe 协议支付&lt;/a&gt; 和 &lt;a class="link" href="https://blog.7qiang.com/posts/gpt-plus-google-play-subscription-transfer" target="_blank" rel="noopener"
 &gt;Google Play 订阅转移&lt;/a&gt; 的对比——把整个攻击面拆清楚。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="一核心原理为什么-app-store-能绕过-openai-的限制"&gt;一、核心原理：为什么 App Store 能绕过 OpenAI 的限制
&lt;/h2&gt;&lt;h3 id="11-openai-关了什么"&gt;1.1 OpenAI 关了什么
&lt;/h3&gt;&lt;p&gt;OpenAI 做了这些事：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Web 端&lt;/strong&gt;：移除了 Pro 20x 的订阅按钮和定价页入口&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;App 端&lt;/strong&gt;：ChatGPT iOS/Android App 内不再展示 Pro 20x 选项&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;API 端&lt;/strong&gt;：&lt;code&gt;/payments/checkout&lt;/code&gt; 接口拒绝 &lt;code&gt;plan_type=chatgptpro&lt;/code&gt; 的新建请求&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="12-openai-没关什么"&gt;1.2 OpenAI 没关什么
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;App Store Connect 里的 IAP 商品没有下架。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这很关键。在 Apple 的体系里，一个 IAP 商品（In-App Purchase Product）有自己的生命周期，它不受 App UI 层的控制。App 可以选择不在界面上展示某个 IAP 商品，但只要商品在 App Store Connect 后台还是 “Approved” 状态，Apple 的购买 API 就接受对它的购买请求。&lt;/p&gt;
&lt;p&gt;打个比方：超市把某个商品从货架上撤了，但收银系统的数据库里还有这个商品的条码。你拿着条码去自助结账机一扫——滴，正常结账。&lt;/p&gt;
&lt;h3 id="13-apple-的购买-api-不管-app-ui-的事"&gt;1.3 Apple 的购买 API 不管 App UI 的事
&lt;/h3&gt;&lt;p&gt;Apple 的内部购买端点是：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;POST https://p70-buy.itunes.apple.com/WebObjects/MZBuy.woa/wa/buyProduct
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这个 API 做三件事：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;验证鉴权&lt;/strong&gt;：buyParams / guid / ams / cookie / afdsv2 这些字段是否合法&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;验证商品&lt;/strong&gt;：salableAdamId 对应的 IAP 商品是否存在且处于可购买状态&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;处理支付&lt;/strong&gt;：扣款 → 生成 receipt → 通过 App Store Server Notifications 推送给开发者&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;它不做的事&lt;/strong&gt;：不检查 App 当前是否在 UI 上展示了这个商品。Apple 的支付系统和 App 的 UI 是完全解耦的。&lt;/p&gt;
&lt;h3 id="14-openai-必须-honor-app-store-收据"&gt;1.4 OpenAI 必须 honor App Store 收据
&lt;/h3&gt;&lt;p&gt;根据 Apple 的 App Store Review Guidelines（特别是 3.1.1 In-App Purchase 条款），开发者必须为合法的 App Store 交易提供对应的服务。OpenAI 收到一张合法的 Pro 20x App Store 收据，就必须开通 Pro 20x——否则就是违反 Apple 的开发者协议。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;所以整条链路是：&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;构造 buyProduct 请求
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Apple 验证鉴权 + 商品存在
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Apple 扣款 $200
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Apple 生成 receipt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;App Store Server Notification → OpenAI
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;OpenAI 验证 receipt → 合法 → 开通 Pro 20x
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;UI 层的限制，在协议层面毫无意义。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="二前置条件"&gt;二、前置条件
&lt;/h2&gt;&lt;h3 id="21-硬件"&gt;2.1 硬件
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;设备&lt;/th&gt;
 &lt;th&gt;要求&lt;/th&gt;
 &lt;th&gt;说明&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;越狱 iOS 设备&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;iOS 15-17，已越狱&lt;/td&gt;
 &lt;td&gt;需要 root 权限安装 MITM 证书并绕过 SSL Pinning&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;电脑&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;macOS / Windows / Linux&lt;/td&gt;
 &lt;td&gt;运行 MITM 代理工具&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;网络&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;稳定的美国代理&lt;/td&gt;
 &lt;td&gt;Apple ID 区域匹配&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="22-软件"&gt;2.2 软件
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;工具&lt;/th&gt;
 &lt;th&gt;用途&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;越狱工具&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;palera1n（iOS 15-17 A11 及以下）/ Dopamine（iOS 15-16 A12+）/ TrollStore（部分场景）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;SSL Kill Switch 2&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;绕过 App Store 的 SSL Certificate Pinning&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;MITM 代理&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Charles Proxy / mitmproxy / Reqable（推荐 Charles，iOS 生态支持最好）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;ChatGPT App&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;App Store 下载的官方版本&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="23-账号"&gt;2.3 账号
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;账号&lt;/th&gt;
 &lt;th&gt;要求&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Apple ID&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;美区，已绑定支付方式（信用卡/借记卡/Apple Gift Card）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;OpenAI 账号&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;目标 ChatGPT 账号（需要在 iOS 设备上登录）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="24-为什么必须越狱"&gt;2.4 为什么必须越狱
&lt;/h3&gt;&lt;p&gt;简单说：&lt;strong&gt;Apple 的 App Store 和 iTunes Store 有 SSL Certificate Pinning（证书锁定）。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;正常情况下，即使你在 iOS 系统里安装并信任了 MITM 代理的 CA 证书，App Store 的流量仍然无法被代理拦截——因为 App Store 只信任 Apple 自己的证书，不走系统信任链。&lt;/p&gt;
&lt;p&gt;越狱后装 SSL Kill Switch 2（或类似 tweak），可以在 runtime hook 掉证书校验函数，让 App Store 的流量走系统信任链 → 被 MITM 代理截获。&lt;/p&gt;
&lt;p&gt;这和我们在 Android 上做的事一样——Android 的 ChatGPT App 也有证书锁定，需要 Frida/Xposed 来绕过。&lt;strong&gt;平台不同，原理一模一样。&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="三网络环境配置"&gt;三、网络环境配置
&lt;/h2&gt;&lt;h3 id="31-代理配置"&gt;3.1 代理配置
&lt;/h3&gt;&lt;p&gt;Apple 的购买 API 会检查请求的源 IP 是否与 Apple ID 的注册区域匹配。美区 Apple ID 必须用美国 IP。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;iOS 设备 → HTTP 代理（MITM） → 上游 SOCKS5 代理（美国住宅 IP） → Apple 服务器
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;推荐架构：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;iPhone ──WiFi──▶ 电脑（Charles / mitmproxy）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ▼
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 上游代理（US 住宅 IP）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ▼
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; p70-buy.itunes.apple.com
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Charles 配置上游代理：&lt;code&gt;Proxy → External Proxy Settings → SOCKS Proxy → 填入美国代理地址&lt;/code&gt;&lt;/p&gt;
&lt;h3 id="32-mitm-证书安装"&gt;3.2 MITM 证书安装
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;打开 Charles → &lt;code&gt;Help → SSL Proxying → Install Charles Root Certificate on a Mobile Device&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;iPhone 浏览器访问 &lt;code&gt;chls.pro/ssl&lt;/code&gt; 下载证书&lt;/li&gt;
&lt;li&gt;&lt;code&gt;设置 → 通用 → VPN 与设备管理 → 安装描述文件&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;设置 → 通用 → 关于本机 → 证书信任设置 → 启用完全信任&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;关键步骤&lt;/strong&gt;：第 4 步很多人漏掉。iOS 安装证书和信任证书是两个独立操作，只安装不信任 = 白装。&lt;/p&gt;
&lt;h3 id="33-ssl-proxying-规则"&gt;3.3 SSL Proxying 规则
&lt;/h3&gt;&lt;p&gt;在 Charles 中配置 SSL Proxying：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Proxy → SSL Proxying Settings → Enable SSL Proxying
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Add:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Host: *.itunes.apple.com
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Port: 443
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Add:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Host: *.apple.com
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Port: 443
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如果用 mitmproxy：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mitmproxy --mode regular --set &lt;span class="nv"&gt;upstream_cert&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;false&lt;/span&gt; -p &lt;span class="m"&gt;8888&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;配置完成后，访问 App Store 应该能在代理工具中看到明文 HTTPS 请求。如果还是显示 &lt;code&gt;CONNECT&lt;/code&gt; 隧道而不是解密内容，说明 SSL Kill Switch 没生效——检查越狱工具和 tweak 的兼容性。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="四ios-越狱设备配置"&gt;四、iOS 越狱设备配置
&lt;/h2&gt;&lt;h3 id="41-越狱工具选择"&gt;4.1 越狱工具选择
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;iOS 版本&lt;/th&gt;
 &lt;th&gt;处理器&lt;/th&gt;
 &lt;th&gt;推荐工具&lt;/th&gt;
 &lt;th&gt;类型&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;15.0-16.6.1&lt;/td&gt;
 &lt;td&gt;A12+&lt;/td&gt;
 &lt;td&gt;Dopamine&lt;/td&gt;
 &lt;td&gt;semi-untethered&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;15.0-16.7.x&lt;/td&gt;
 &lt;td&gt;A8-A11&lt;/td&gt;
 &lt;td&gt;palera1n&lt;/td&gt;
 &lt;td&gt;semi-tethered&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;17.0&lt;/td&gt;
 &lt;td&gt;A12+&lt;/td&gt;
 &lt;td&gt;等待公开&lt;/td&gt;
 &lt;td&gt;—&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;提示&lt;/strong&gt;：如果没有越狱设备，也可以用老款 iPhone（如 iPhone 8/X，A11 芯片）专门做这件事。闲鱼几百块收一台就行。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="42-安装必要-tweak"&gt;4.2 安装必要 Tweak
&lt;/h3&gt;&lt;p&gt;越狱完成后，通过 Cydia/Sileo 安装：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SSL Kill Switch 2 — 绕过证书锁定
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;PreferenceLoader — Tweak 设置面板
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;AppList — 应用列表（SSL Kill Switch 依赖）
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;SSL Kill Switch 2 设置：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Settings → SSL Kill Switch 2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ├── Disable Certificate Validation: ON
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; └── 选择目标 App → 勾选 App Store / iTunes Store
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;注意&lt;/strong&gt;：不要全局开启证书绕过——那样会影响所有 App 的安全性。只针对 App Store / iTunes Store 开启就够了。&lt;/p&gt;
&lt;h3 id="43-验证-mitm-生效"&gt;4.3 验证 MITM 生效
&lt;/h3&gt;&lt;p&gt;打开 App Store → 随便搜个 App → 查看代理工具：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;成功&lt;/strong&gt;：看到 &lt;code&gt;GET https://p70-buy.itunes.apple.com/...&lt;/code&gt; 的解密请求&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;失败&lt;/strong&gt;：只看到 &lt;code&gt;CONNECT p70-buy.itunes.apple.com:443&lt;/code&gt; 且无解密内容&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果失败，排查：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;SSL Kill Switch 是否选中了正确的进程（&lt;code&gt;com.apple.AppStore&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;越狱环境是否完整（&lt;code&gt;uicache&lt;/code&gt; / &lt;code&gt;ldrestart&lt;/code&gt; 后重试）&lt;/li&gt;
&lt;li&gt;代理证书是否已经被&lt;strong&gt;完全信任&lt;/strong&gt;（不只是安装）&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="五订阅拦截与转移原理"&gt;五、订阅拦截与转移原理
&lt;/h2&gt;&lt;p&gt;这一节是整个方法的核心。&lt;/p&gt;
&lt;h3 id="51-apple-购买请求的鉴权体系"&gt;5.1 Apple 购买请求的鉴权体系
&lt;/h3&gt;&lt;p&gt;当你在 App Store 里点击&amp;quot;购买&amp;quot;按钮时，iOS 系统会向 Apple 的购买服务器发送一个 HTTP POST 请求。这个请求携带 &lt;strong&gt;5 个关键鉴权字段&lt;/strong&gt;：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;字段&lt;/th&gt;
 &lt;th&gt;全称&lt;/th&gt;
 &lt;th&gt;说明&lt;/th&gt;
 &lt;th&gt;类比&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;buyParams&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Buy Parameters&lt;/td&gt;
 &lt;td&gt;Apple 生成的购买上下文参数包，包含加密的会话数据&lt;/td&gt;
 &lt;td&gt;类似 Stripe 的 &lt;code&gt;client_secret&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;guid&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Global Unique Identifier&lt;/td&gt;
 &lt;td&gt;设备唯一标识符，由硬件信息计算得出&lt;/td&gt;
 &lt;td&gt;类似 Stripe 指纹的 &lt;code&gt;muid&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;afdsv2&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Apple Fraud Detection Service v2&lt;/td&gt;
 &lt;td&gt;Apple 的反欺诈指纹 token，采集设备行为数据&lt;/td&gt;
 &lt;td&gt;类似 Stripe Radar 的设备指纹&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;ams&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Apple Media Services&lt;/td&gt;
 &lt;td&gt;媒体服务鉴权 token&lt;/td&gt;
 &lt;td&gt;类似 RevenueCat 的 API Key&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;cookie&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Session Cookies&lt;/td&gt;
 &lt;td&gt;Apple ID 会话 cookie（含 &lt;code&gt;myacinfo&lt;/code&gt;、&lt;code&gt;itctx&lt;/code&gt; 等）&lt;/td&gt;
 &lt;td&gt;类似 OpenAI 的 &lt;code&gt;__Secure-next-auth&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;这 5 个字段加在一起 = 你 Apple ID 的完整付款授权。&lt;/strong&gt; 拿到它们，就等于拿到了以你的 Apple ID 身份向 Apple 发起购买请求的能力。&lt;/p&gt;
&lt;h3 id="52-各字段深度解析"&gt;5.2 各字段深度解析
&lt;/h3&gt;&lt;h4 id="buyparams"&gt;buyParams
&lt;/h4&gt;&lt;p&gt;这是一个 Base64 编码的二进制数据包，由 App Store 客户端在发起购买时生成。内部包含：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;当前 Apple ID 的 session 信息&lt;/li&gt;
&lt;li&gt;购买请求的签名数据&lt;/li&gt;
&lt;li&gt;设备上下文信息&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;重要特性&lt;/strong&gt;：根据原始教程的描述和实际操作验证，buyParams 与&lt;strong&gt;当前购买会话&lt;/strong&gt;绑定，但据称不与&lt;strong&gt;特定商品 ID&lt;/strong&gt; 绑定——这意味着触发任意 IAP 时抓到的 buyParams，可以配合不同的商品参数（如 salableAdamId）使用。这是整个方法成立的关键前提。&lt;/p&gt;
&lt;h4 id="guid"&gt;guid
&lt;/h4&gt;&lt;p&gt;设备的硬件唯一标识符。在 iOS 上由设备的硬件信息（如 UDID 或网络接口地址等）经过哈希计算得出。格式为十六进制字符串，具体长度因 iOS 版本和设备型号而异。&lt;/p&gt;
&lt;p&gt;这个值在设备恢复出厂之前是固定的。如果你用同一台设备多次操作，guid 始终相同——Apple 的风控系统会注意到这一点。&lt;/p&gt;
&lt;h4 id="afdsv2"&gt;afdsv2
&lt;/h4&gt;&lt;p&gt;Apple Fraud Detection Service v2。这是 Apple 自研的反欺诈系统，类似于 Stripe 的 Radar。根据已知的设备指纹技术和逆向分析，它在设备端可能采集的信号包括（不限于）：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;传感器数据（加速度计 / 陀螺仪等）&lt;/li&gt;
&lt;li&gt;设备状态（电池、屏幕亮度等）&lt;/li&gt;
&lt;li&gt;触控行为模式&lt;/li&gt;
&lt;li&gt;网络环境信息&lt;/li&gt;
&lt;li&gt;系统运行时信息&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;生成的 token 是一个很长的字符串（通常 1000+ 字符），每次购买请求都会重新生成。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;越狱对 afdsv2 的影响&lt;/strong&gt;：Apple 的 FDS 理论上可以检测到越狱状态。但根据社区反馈，只要不修改 afdsv2 的生成过程（即让系统正常收集并生成），越狱设备的 afdsv2 通常仍会被接受。风险是长期频繁操作可能积累风控分数被标记。&lt;/p&gt;
&lt;h4 id="ams"&gt;ams
&lt;/h4&gt;&lt;p&gt;Apple Media Services token，用于标识当前登录的 Apple ID 在 Apple 媒体服务体系中的身份。这个 token 通常在 Apple ID 登录时颁发，有效期较长。&lt;/p&gt;
&lt;h4 id="cookie"&gt;cookie
&lt;/h4&gt;&lt;p&gt;Apple ID 的会话凭据集合。这里的&amp;quot;cookie&amp;quot;是一个泛称，实际包含 HTTP Cookie 和自定义请求头两类：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Cookie：&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Cookie 名&lt;/th&gt;
 &lt;th&gt;说明&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;myacinfo&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Apple ID 主会话 token&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;itctx&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;iTunes 上下文 token&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;自定义请求头（随 cookie 一起抓取）：&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Header 名&lt;/th&gt;
 &lt;th&gt;说明&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;X-Dsid&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Directory Services ID（Apple ID 数字标识）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;X-Apple-I-MD&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Machine Data（设备标识数据）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;X-Apple-I-MD-M&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Machine Data Metadata（设备标识元数据）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="53-与-stripe--google-play-的鉴权对比"&gt;5.3 与 Stripe / Google Play 的鉴权对比
&lt;/h3&gt;&lt;p&gt;我们做了三个平台的支付协议逆向，正好可以做个对比：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;维度&lt;/th&gt;
 &lt;th&gt;Stripe 协议支付&lt;/th&gt;
 &lt;th&gt;Google Play (RevenueCat)&lt;/th&gt;
 &lt;th&gt;Apple IAP (buyProduct)&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;绕过层&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Web UI → 直调 Stripe API&lt;/td&gt;
 &lt;td&gt;App UI → Xposed 拦截 BillingClient&lt;/td&gt;
 &lt;td&gt;App UI → 直调 Apple Purchase API&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;鉴权抓取方式&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;HAR 抓包（浏览器 DevTools）&lt;/td&gt;
 &lt;td&gt;MITM + Xposed Hook&lt;/td&gt;
 &lt;td&gt;MITM（越狱 + SSL Kill Switch）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;核心鉴权字段&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;pk_live / ctoken / client_secret / guid+muid+sid&lt;/td&gt;
 &lt;td&gt;fetch_token + app_user_id + RC API Key&lt;/td&gt;
 &lt;td&gt;buyParams / guid / afdsv2 / ams / cookie&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;反欺诈系统&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Stripe Radar + hCaptcha Enterprise&lt;/td&gt;
 &lt;td&gt;Google Play Protect + SafetyNet&lt;/td&gt;
 &lt;td&gt;Apple FDS (afdsv2)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;TLS 指纹检测&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;有（Cloudflare + Stripe 自检）&lt;/td&gt;
 &lt;td&gt;无（RC 不检查 TLS 指纹）&lt;/td&gt;
 &lt;td&gt;有（Apple 自有 CDN 检测）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;证书锁定&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;无（浏览器不锁定）&lt;/td&gt;
 &lt;td&gt;有（需 Frida/Xposed 绕过）&lt;/td&gt;
 &lt;td&gt;有（需 SSL Kill Switch 绕过）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;token 有效期&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Session 级（分钟到小时）&lt;/td&gt;
 &lt;td&gt;72 小时（未 Acknowledge）&lt;/td&gt;
 &lt;td&gt;Session 级&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;复用性&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;每次需要新 ctoken&lt;/td&gt;
 &lt;td&gt;一 token 一账号&lt;/td&gt;
 &lt;td&gt;需看具体实现&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;三个平台的共同点：&lt;strong&gt;都是在协议层绕过 UI 层的限制，核心逻辑完全相同。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;差异在于&amp;quot;如何获取鉴权凭据&amp;quot;和&amp;quot;反欺诈系统有多强&amp;quot;。Stripe 最容易（浏览器 DevTools 导出 HAR 即可），Google Play 居中（需要 Root/Xposed 但不需要越狱），Apple 最难（必须越狱 + MITM）。&lt;/p&gt;
&lt;h3 id="54-订阅转移的原理"&gt;5.4 “订阅转移&amp;quot;的原理
&lt;/h3&gt;&lt;p&gt;文档标题里还有个关键词：&lt;strong&gt;订阅转移&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;这和我们之前写过的 &lt;a class="link" href="https://blog.7qiang.com/posts/gpt-plus-google-play-subscription-transfer" target="_blank" rel="noopener"
 &gt;Google Play 订阅转移&lt;/a&gt; 是一个思路：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Apple ID A&lt;/strong&gt; 在越狱设备上完成购买 → Pro 20x 订阅绑定到 Apple ID A&lt;/li&gt;
&lt;li&gt;ChatGPT App 收到 App Store 的购买回执，准备把权益绑定到当前登录的 OpenAI 账号&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;在 App 处理回执之前&lt;/strong&gt;，切换 ChatGPT 的登录账号到目标账号 B&lt;/li&gt;
&lt;li&gt;App 把 Pro 20x 权益绑到了账号 B&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;或者更直接的方式——类似我们之前分析过的 &lt;a class="link" href="https://blog.7qiang.com/posts/gpt-plus-receipt-vulnerability-2026" target="_blank" rel="noopener"
 &gt;iOS 收据复用漏洞&lt;/a&gt;：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;在设备上完成购买，拦截 App 发给 OpenAI 的回执提交请求&lt;/li&gt;
&lt;li&gt;修改请求中的 auth token（换成目标账号的 token）&lt;/li&gt;
&lt;li&gt;重放请求 → 目标账号获得 Pro 20x&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;大白话&lt;/strong&gt;：Apple 只管&amp;quot;收钱出票”，OpenAI 只管&amp;quot;验票开权&amp;quot;。中间把票给谁——全看你怎么操作。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="六订阅流程详解"&gt;六、订阅流程详解
&lt;/h2&gt;&lt;h3 id="61-完整操作流程"&gt;6.1 完整操作流程
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;┌─────────────────────────────────────────────────────────┐
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ Phase 1: 鉴权数据捕获 │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ 越狱 iOS 设备 + MITM 代理 + SSL Kill Switch │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ 打开 App Store → 触发任意 IAP 购买（如 Plus） │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ 代理中拦截 POST .../buyProduct 请求 │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ 提取: buyParams, guid, afdsv2, ams, cookie │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ 阻断请求（不让它真正完成支付） │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;└───────────────────────┬─────────────────────────────────┘
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ▼
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;┌─────────────────────────────────────────────────────────┐
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ Phase 2: 构造 Pro 20x 购买请求 │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ 保留 Phase 1 的鉴权字段 │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ 替换商品参数为 Pro 20x 的值: │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ productType = A │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ salableAdamId = 6657954405 │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ offerName = oai_chatgpt_pro_20000_1m │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ price = 200000 │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ appAdamId = 6448311069 │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ 发送到: p70-buy.itunes.apple.com/.../buyProduct │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;└───────────────────────┬─────────────────────────────────┘
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ▼
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;┌─────────────────────────────────────────────────────────┐
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ Phase 3: Apple 处理 + OpenAI 开通 │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ Apple 验证鉴权 → 扣款 $200 → 生成 transaction │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ App Store Server Notification → OpenAI 后端 │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ OpenAI 验证 receipt → 合法 → 开通 Pro 20x │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ 或: 在 ChatGPT App 中 &amp;#34;Restore Purchases&amp;#34; 触发同步 │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;└─────────────────────────────────────────────────────────┘
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="62-phase-1-详细步骤"&gt;6.2 Phase 1 详细步骤
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Step 1&lt;/strong&gt;：越狱设备连接 MITM 代理，确认代理工作正常。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 2&lt;/strong&gt;：在 Charles 中设置 Breakpoint（断点拦截）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Proxy → Breakpoints → Add:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Protocol: HTTPS
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Host: p70-buy.itunes.apple.com
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Path: */buyProduct*
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 方向: Request（拦截请求，不拦截响应）
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Step 3&lt;/strong&gt;：在越狱设备上打开 ChatGPT App → 进入订阅页面 → 触发任意一个 IAP 购买流程。&lt;/p&gt;
&lt;p&gt;这一步你可以随便选哪个套餐——Plus、Pro Lite、随便一个。目的不是真的购买，而是触发 App Store 的支付流程，让系统生成鉴权数据。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 4&lt;/strong&gt;：当 App Store 弹出支付确认面板时，确认支付（Face ID / Touch ID / 密码）。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 5&lt;/strong&gt;：确认后，Charles 会在断点处拦截到 &lt;code&gt;POST .../buyProduct&lt;/code&gt; 请求。此时请求&lt;strong&gt;还没有发送到 Apple 服务器&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 6&lt;/strong&gt;：从请求体中提取 5 个关键字段并保存：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;buyParams = &amp;lt;Base64 长字符串&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;guid = &amp;lt;16位十六进制&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;afdsv2 = &amp;lt;1000+ 字符的长字符串&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ams = &amp;lt;Apple Media Services token&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cookie = &amp;lt;完整的 Cookie 字符串&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Step 7&lt;/strong&gt;：在 Charles 中选择 &lt;strong&gt;Abort&lt;/strong&gt;（中止请求），不让它到达 Apple 服务器。这样不会产生真实扣款。&lt;/p&gt;
&lt;h3 id="63-phase-2-详细步骤"&gt;6.3 Phase 2 详细步骤
&lt;/h3&gt;&lt;p&gt;拿到鉴权数据后，用脚本或者 HTTP 工具（如 Postman / curl / Python requests）构造 Pro 20x 的购买请求：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-http" data-lang="http"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;POST https://p70-buy.itunes.apple.com/WebObjects/MZBuy.woa/wa/buyProduct
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;Content-Type: application/x-www-form-urlencoded
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;Cookie: &amp;lt;Phase 1 保存的完整 cookie&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;X-Apple-I-MD: &amp;lt;Machine Data&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;X-Apple-I-MD-M: &amp;lt;Machine Data Metadata&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;X-Dsid: &amp;lt;Directory Services ID&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;productType=A
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;&amp;amp;price=200000
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;&amp;amp;salableAdamId=6657954405
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;&amp;amp;pricingParameters=STDQ
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;&amp;amp;pg=default
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;&amp;amp;offerName=oai_chatgpt_pro_20000_1m
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;&amp;amp;appAdamId=6448311069
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;&amp;amp;guid=&amp;lt;Phase 1 的 guid&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;&amp;amp;buyParams=&amp;lt;Phase 1 的 buyParams&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;&amp;amp;afdsv2=&amp;lt;Phase 1 的 afdsv2&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;&amp;amp;ams=&amp;lt;Phase 1 的 ams&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;注意事项&lt;/strong&gt;：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;代理 IP 一致性&lt;/strong&gt;：这个请求必须走和 Phase 1 相同的出口 IP。Apple 会比对购买请求的源 IP，如果和鉴权生成时的 IP 不同，可能被拒。这与 &lt;a class="link" href="https://blog.7qiang.com/posts/stripe-protocol-payment-automation-deep-dive-2026" target="_blank" rel="noopener"
 &gt;Stripe 协议支付&lt;/a&gt;中的&amp;quot;出口 IP 一致性&amp;quot;规则完全相同。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;时效性&lt;/strong&gt;：鉴权数据（特别是 buyParams 和 afdsv2）有时效性。抓到后应尽快使用，拖太久 token 会过期。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;请求头&lt;/strong&gt;：除了 Cookie 外，还需要带上 Apple 的特征请求头（&lt;code&gt;X-Apple-I-MD&lt;/code&gt; 等）。这些也在 MITM 抓包中一并获取。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="64-phase-3交付"&gt;6.4 Phase 3：交付
&lt;/h3&gt;&lt;p&gt;Apple 处理购买后有两种通知机制：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;机制一：App Store Server Notifications V2（服务端到服务端）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Apple 向 OpenAI 配置的 notification endpoint 发送 JSON Web Signature (JWS) 格式的通知，包含完整的交易信息。OpenAI 的后端验证 JWS 签名 → 确认交易合法 → 开通对应的订阅。&lt;/p&gt;
&lt;p&gt;这是最可靠的通知路径，不需要客户端参与。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;机制二：App 端 Restore Purchases&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;在 ChatGPT App 中执行&amp;quot;恢复购买&amp;quot;操作（StoreKit 的 &lt;code&gt;restoreCompletedTransactions&lt;/code&gt;），App 会向 Apple 服务器查询当前 Apple ID 的所有有效订阅，然后把新的 Pro 20x 订阅同步到当前登录的 OpenAI 账号。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;大白话&lt;/strong&gt;：Apple 扣了钱，OpenAI 收到 Apple 的通知说&amp;quot;这个用户买了 Pro 20x&amp;quot;，OpenAI 就得开。或者用户在 App 里点一下&amp;quot;恢复购买&amp;quot;，效果一样。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="七关键请求与字段说明"&gt;七、关键请求与字段说明
&lt;/h2&gt;&lt;h3 id="71-商品参数逐字段拆解"&gt;7.1 商品参数逐字段拆解
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;productType=A&amp;amp;price=200000&amp;amp;salableAdamId=6657954405&amp;amp;pricingParameters=STDQ&amp;amp;pg=default&amp;amp;offerName=oai_chatgpt_pro_20000_1m&amp;amp;appAdamId=6448311069
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;字段&lt;/th&gt;
 &lt;th&gt;值&lt;/th&gt;
 &lt;th&gt;含义&lt;/th&gt;
 &lt;th&gt;怎么确定的&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;productType&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;A&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Auto-Renewable Subscription（自动续期订阅）&lt;/td&gt;
 &lt;td&gt;Apple IAP 的订阅商品类型标识&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;price&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;200000&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;对应 Pro 20x 月费 $200.00&lt;/td&gt;
 &lt;td&gt;Apple 内部价格编码（具体单位以实际抓包为准）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;salableAdamId&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;6657954405&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Pro 20x 这个 IAP 商品的 Apple 内部 ID&lt;/td&gt;
 &lt;td&gt;每个 IAP 商品在 Apple 系统里都有唯一的 Adam ID&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;pricingParameters&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;STDQ&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;定价参数标识&lt;/td&gt;
 &lt;td&gt;固定值，Apple 内部定价参数（具体含义未公开）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;pg&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;default&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;支付组&lt;/td&gt;
 &lt;td&gt;默认支付组&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;offerName&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;oai_chatgpt_pro_20000_1m&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;商品名称标识&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;oai&lt;/code&gt;=OpenAI, &lt;code&gt;chatgpt&lt;/code&gt;=ChatGPT, &lt;code&gt;pro&lt;/code&gt;=Pro 档, &lt;code&gt;20000&lt;/code&gt;=2 万美分即 $200, &lt;code&gt;1m&lt;/code&gt;=1 个月&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;appAdamId&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;6448311069&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;ChatGPT App 的 App Store ID&lt;/td&gt;
 &lt;td&gt;在 &lt;code&gt;apps.apple.com/app/id6448311069&lt;/code&gt; 可验证&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="72-chatgpt-的-iap-商品体系推测"&gt;7.2 ChatGPT 的 IAP 商品体系（推测）
&lt;/h3&gt;&lt;p&gt;基于 offerName 的命名规则推导——仅 Pro 20x 的值来自已公开的教程，其余为合理推测：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;订阅档位&lt;/th&gt;
 &lt;th&gt;月费&lt;/th&gt;
 &lt;th&gt;推测的 offerName&lt;/th&gt;
 &lt;th&gt;salableAdamId&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Plus&lt;/td&gt;
 &lt;td&gt;$20&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;oai_chatgpt_plus_2000_1m&lt;/code&gt;（推测）&lt;/td&gt;
 &lt;td&gt;未知&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Pro Lite (5x)&lt;/td&gt;
 &lt;td&gt;$100&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;oai_chatgpt_pro_10000_1m&lt;/code&gt;（推测）&lt;/td&gt;
 &lt;td&gt;未知&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Pro (20x)&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;$200&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;&lt;code&gt;oai_chatgpt_pro_20000_1m&lt;/code&gt;&lt;/strong&gt;（已确认）&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;6657954405&lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="73-端点地址解析"&gt;7.3 端点地址解析
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;https://p70-buy.itunes.apple.com/WebObjects/MZBuy.woa/wa/buyProduct
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;部分&lt;/th&gt;
 &lt;th&gt;含义&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;p70&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Apple CDN 服务器池编号。Apple 使用多个服务器池（p25, p47, p70 等），不同设备/区域可能被路由到不同的池&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;buy.itunes.apple.com&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;iTunes Store 购买服务域名&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;WebObjects&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Apple 的 WebObjects 框架标识（Apple 自研的 Java Web 框架，iTunes Store 后端至今仍在使用）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;MZBuy.woa&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;“MZ” = MobileZone，Buy 应用的 WebObjects Application&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;wa/buyProduct&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;WebObjects Direct Action，执行购买操作&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;题外话&lt;/strong&gt;：WebObjects 最初由 NeXT 公司在 1996 年推出（起初基于 Objective-C，2000 年 WebObjects 5 转向 Java），后随 NeXT 被 Apple 收购。Apple 的 iTunes Store / App Store 后端至今仍在使用这个已有 30 年历史的框架。&lt;code&gt;MZBuy.woa&lt;/code&gt; 这种 URL 结构在互联网上几乎只有 Apple 在用——看到 &lt;code&gt;.woa&lt;/code&gt; 后缀就知道是 Apple 的后端。&lt;/p&gt;
&lt;h3 id="74-buyparams-的结构特征"&gt;7.4 buyParams 的结构特征
&lt;/h3&gt;&lt;p&gt;虽然 buyParams 的内部格式是加密的（Apple 的私有协议），但从外部特征可以观察到：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;编码格式&lt;/strong&gt;：Base64&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;解码后大小&lt;/strong&gt;：通常 200-500 字节&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;包含信息&lt;/strong&gt;：经过加密的购买会话上下文&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;生成时机&lt;/strong&gt;：在设备端触发购买流程时由 StoreKit 框架生成&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;有效期&lt;/strong&gt;：通常几分钟内有效&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;绑定关系&lt;/strong&gt;：与当前 Apple ID session + 设备绑定，但不与特定商品绑定&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="75-afdsv2-的结构特征"&gt;7.5 afdsv2 的结构特征
&lt;/h3&gt;&lt;p&gt;Apple Fraud Detection Service v2 token：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;长度&lt;/strong&gt;：通常 1000-4000 字符&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;编码&lt;/strong&gt;：Base64 或自定义编码&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;采集数据&lt;/strong&gt;：加速度计、陀螺仪、电池状态、屏幕信息、网络环境、应用列表等&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;生成频率&lt;/strong&gt;：每次购买请求都重新生成&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;对应平台&lt;/strong&gt;：类似 Stripe Radar 的 &lt;code&gt;device_data&lt;/code&gt;，或 Google 的 SafetyNet attestation&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;与 Stripe 的对比：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;Stripe Radar&lt;/th&gt;
 &lt;th&gt;Apple FDS (afdsv2)&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;信号来源&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;浏览器 JS（m.stripe.com/6）&lt;/td&gt;
 &lt;td&gt;iOS 系统级 API&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;采集深度&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;浏览器指纹、Canvas、WebGL&lt;/td&gt;
 &lt;td&gt;硬件传感器 + 系统状态&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;检测越狱/Root&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;不直接检测&lt;/td&gt;
 &lt;td&gt;可能检测（但不一定阻断）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;可伪造性&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;较容易（curl_cffi 等）&lt;/td&gt;
 &lt;td&gt;困难（硬件数据难以伪造）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;这也是为什么 Apple IAP 路径的安全级别比 Stripe 协议支付更高——&lt;strong&gt;你很难在没有真实 iOS 设备的情况下伪造 afdsv2。&lt;/strong&gt; 必须在真机上操作。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="八跨平台攻击面全景对比"&gt;八、跨平台攻击面全景对比
&lt;/h2&gt;&lt;p&gt;做了三个支付平台的协议逆向之后，我们可以画一张完整的攻击面全景图：&lt;/p&gt;
&lt;h3 id="81-三条路径"&gt;8.1 三条路径
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;┌──────────────────────────────────────────────────────────────────┐
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ ChatGPT Pro 20x 开通 │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ 路径 1: Stripe 协议支付 │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ ┌─────────┐ ┌────────────┐ ┌────────────┐ ┌──────────┐ │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ │ HAR 抓包 │→ │ 构造 ctoken │→ │ PI confirm │→ │ Stripe │ │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ │ (浏览器) │ │ + 税务优化 │ │ + 3DS 处理 │ │ webhook │ │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ └─────────┘ └────────────┘ └────────────┘ └──────────┘ │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ 路径 2: Google Play 订阅转移 │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ ┌─────────┐ ┌────────────┐ ┌────────────┐ ┌──────────┐ │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ │ MITM 或 │→ │ 提取 fetch │→ │ RC /receipts│→ │ RC 通知 │ │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ │ ADB 提取 │ │ _token │ │ + account │ │ OpenAI │ │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ └─────────┘ └────────────┘ └────────────┘ └──────────┘ │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ 路径 3: Apple IAP 强开（本文） │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ ┌─────────┐ ┌────────────┐ ┌────────────┐ ┌──────────┐ │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ │ 越狱 │→ │ 抓取 5 个 │→ │ buyProduct │→ │ ASSN V2 │ │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ │ + MITM │ │ 鉴权字段 │ │ API 调用 │ │ 通知 │ │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;│ └─────────┘ └────────────┘ └────────────┘ └──────────┘ │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;└──────────────────────────────────────────────────────────────────┘
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="82-全维度对比"&gt;8.2 全维度对比
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;维度&lt;/th&gt;
 &lt;th&gt;Stripe 协议支付&lt;/th&gt;
 &lt;th&gt;Google Play 转移&lt;/th&gt;
 &lt;th&gt;Apple IAP 强开&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;设备要求&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;无（纯 HTTP）&lt;/td&gt;
 &lt;td&gt;Android（Root 或 MITM）&lt;/td&gt;
 &lt;td&gt;iOS（必须越狱）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;入门难度&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;⭐⭐&lt;/td&gt;
 &lt;td&gt;⭐⭐⭐&lt;/td&gt;
 &lt;td&gt;⭐⭐⭐⭐&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;单次成本&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;信用卡扣款金额&lt;/td&gt;
 &lt;td&gt;信用卡扣款金额&lt;/td&gt;
 &lt;td&gt;Apple ID 支付方式扣款&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;自动化程度&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;极高（纯 API）&lt;/td&gt;
 &lt;td&gt;高（ADB + API）&lt;/td&gt;
 &lt;td&gt;中（依赖越狱设备）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;反检测难度&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;TLS 指纹 + hCaptcha&lt;/td&gt;
 &lt;td&gt;较低&lt;/td&gt;
 &lt;td&gt;afdsv2 设备指纹&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;OpenAI 验证&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Stripe webhook&lt;/td&gt;
 &lt;td&gt;RevenueCat 通知&lt;/td&gt;
 &lt;td&gt;App Store Server Notification&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;可规模化&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;✅ 完全可脚本化&lt;/td&gt;
 &lt;td&gt;✅ 可脚本化&lt;/td&gt;
 &lt;td&gt;⚠️ 依赖越狱设备数量&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;OpenAI 能修吗&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;能（加强 session 校验）&lt;/td&gt;
 &lt;td&gt;能（RC 侧加 user 校验）&lt;/td&gt;
 &lt;td&gt;难（需要在 ASC 下架商品）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="83-从攻击面看防御优先级"&gt;8.3 从攻击面看防御优先级
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;最容易修的是 Google Play 路径&lt;/strong&gt;：RevenueCat 只要在 &lt;code&gt;/v1/receipts&lt;/code&gt; 接口加上 &lt;code&gt;app_user_id&lt;/code&gt; 与付款人的校验，就能堵住转移漏洞。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Stripe 路径本质上不是漏洞&lt;/strong&gt;——它只是用 API 替代了浏览器操作，属于自动化而非绕过。OpenAI 关闭 checkout 入口就堵死了这条路（但目前 Stripe 路径仅用于已开放的订阅档位）。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Apple IAP 路径最难修&lt;/strong&gt;。要堵这个洞，OpenAI 有两个选择：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;在 App Store Connect 下架 Pro 20x 商品&lt;/strong&gt; → 但这会影响现有 iOS Pro 用户的续费&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;在收据验证时拒绝新的 Pro 20x 购买&lt;/strong&gt; → 可行，但需要区分&amp;quot;新购买&amp;quot;和&amp;quot;续费&amp;quot;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Apple 自己也很难帮忙——因为从 Apple 的角度看，这是一笔完全合法的交易。用户有 Apple ID、有支付方式、有真实设备、商品也是 approved 状态。Apple 的系统设计初衷就是让开发者可以灵活管理 IAP 商品，而不是让 Apple 来决定哪些商品能卖。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="九关于订阅转移的额外分析"&gt;九、关于&amp;quot;订阅转移&amp;quot;的额外分析
&lt;/h2&gt;&lt;h3 id="91-收据转移receipt-transfer"&gt;9.1 收据转移（Receipt Transfer）
&lt;/h3&gt;&lt;p&gt;这个方法和我们之前写的 &lt;a class="link" href="https://blog.7qiang.com/posts/gpt-plus-receipt-vulnerability-2026" target="_blank" rel="noopener"
 &gt;iOS 收据复用漏洞&lt;/a&gt; 是可以结合使用的。&lt;/p&gt;
&lt;p&gt;流程：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;通过 buyProduct API 完成购买，Apple 向 ChatGPT App 推送 receipt&lt;/li&gt;
&lt;li&gt;拦截 ChatGPT App 提交给 OpenAI 的 receipt 请求&lt;/li&gt;
&lt;li&gt;将 receipt 绑定到不同的 OpenAI 账号&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;但需要注意：2026 年 7 月后 OpenAI 已经&lt;strong&gt;部分修复&lt;/strong&gt;了 iOS 收据复用漏洞。具体表现为收据的 &lt;code&gt;original_transaction_id&lt;/code&gt; 会被检查——同一个 &lt;code&gt;original_transaction_id&lt;/code&gt; 不能同时绑定多个 OpenAI 账号。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;但如果每次都是新购买（新的 transaction），收据都是新的&lt;/strong&gt;，转移不受此限制。&lt;/p&gt;
&lt;h3 id="92-restore-purchases-路径"&gt;9.2 Restore Purchases 路径
&lt;/h3&gt;&lt;p&gt;更简单的转移方式：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;在越狱设备上用 &lt;strong&gt;Apple ID A&lt;/strong&gt; 完成 Pro 20x 购买&lt;/li&gt;
&lt;li&gt;在 ChatGPT App 中登录 &lt;strong&gt;OpenAI 账号 B&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;在 App 内执行 “Restore Purchases”（恢复购买）&lt;/li&gt;
&lt;li&gt;StoreKit 查询 Apple ID A 的有效订阅 → 找到 Pro 20x&lt;/li&gt;
&lt;li&gt;ChatGPT App 将 Pro 20x 绑定到 OpenAI 账号 B&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;这要求&lt;/strong&gt;：在步骤 3 时，设备登录的 Apple ID 必须是 A（即购买 Pro 20x 的那个 Apple ID）。这样 StoreKit 才能查到对应的订阅。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="十风险与注意事项"&gt;十、风险与注意事项
&lt;/h2&gt;&lt;h3 id="101-apple-账号风险"&gt;10.1 Apple 账号风险
&lt;/h3&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;风险&lt;/th&gt;
 &lt;th&gt;等级&lt;/th&gt;
 &lt;th&gt;说明&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Apple ID 封禁&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;中&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;频繁异常购买可能触发 Apple 的账号风控&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;支付方式封禁&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;中&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;信用卡频繁大额 IAP 可能被银行标记&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;设备封禁&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;低&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Apple 目前不会因为 IAP 行为封禁设备，但 guid 会被记录&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;退款追溯&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;高&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Apple 的退款政策可以追溯，OpenAI 收到退款通知会撤销订阅&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="102-越狱设备安全"&gt;10.2 越狱设备安全
&lt;/h3&gt;&lt;p&gt;越狱 = 放弃 iOS 的安全模型。需要注意：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;不要在越狱设备上存储敏感信息&lt;/strong&gt;（主力 Apple ID、银行 App 等）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;专机专用&lt;/strong&gt;：用一台专门的老设备做这件事&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;及时清理&lt;/strong&gt;：操作完成后关闭 SSL Kill Switch，避免日常使用时被中间人攻击&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="103-合法性"&gt;10.3 合法性
&lt;/h3&gt;&lt;p&gt;不同司法管辖区对这类操作的定性不同。一些可能的法律风险：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;绕过技术保护措施&lt;/strong&gt;：越狱本身在某些国家/地区属于灰色地带&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;违反 TOS&lt;/strong&gt;：OpenAI 和 Apple 的服务条款都禁止此类操作&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;计算机欺诈&lt;/strong&gt;：通过技术手段获取未被授权的服务访问权&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;本文仅供技术研究与学习。&lt;/strong&gt; 实际操作的法律后果由读者自行承担。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="十一技术总结"&gt;十一、技术总结
&lt;/h2&gt;&lt;h3 id="完整攻击链路"&gt;完整攻击链路
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;越狱 iOS + MITM → 抓取 buyParams/guid/afdsv2/ams/cookie
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; 构造 Pro 20x buyProduct 请求
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; p70-buy.itunes.apple.com/WebObjects/MZBuy.woa/wa/buyProduct
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Apple 验证鉴权 → 扣款 $200 → 生成 receipt
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; App Store Server Notification V2 → OpenAI 后端
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ↓
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; OpenAI 验证 receipt → 合法 → 开通 Pro 20x
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="漏洞本质"&gt;漏洞本质
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;平台方（OpenAI）在 UI 层关闭了入口，但在支付平台（Apple）层面没有关闭商品。&lt;/strong&gt; 只要 App Store Connect 里的 IAP 商品还处于 “Approved” 状态，Apple 的购买 API 就接受任何合法的购买请求，不管 App 的 UI 有没有展示这个商品。&lt;/p&gt;
&lt;p&gt;这和我们之前发现的每一个支付漏洞的本质是一样的：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.7qiang.com/posts/chatgpt-plus-0php-cross-region-pricing-exploit-2026" target="_blank" rel="noopener"
 &gt;0 PHP 跨区混淆&lt;/a&gt;：&lt;strong&gt;Stripe 创建 session 时的区域信号不一致&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.7qiang.com/posts/google-play-ccmax-proration-vulnerability-2026" target="_blank" rel="noopener"
 &gt;prorationMode Hook&lt;/a&gt;：&lt;strong&gt;Google Play Billing 的 proration 参数可被客户端修改&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.7qiang.com/posts/gpt-plus-google-play-subscription-transfer" target="_blank" rel="noopener"
 &gt;RevenueCat 凭证转移&lt;/a&gt;：&lt;strong&gt;RevenueCat 不校验付款人与开通人的对应关系&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.7qiang.com/posts/chatgpt-pro20x-982php-toctou-race-condition-2026" target="_blank" rel="noopener"
 &gt;₱982 Pro 20x TOCTOU&lt;/a&gt;：&lt;strong&gt;Stripe PI 金额锁定与订阅计划变更不互斥&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.7qiang.com/posts/gpt-plus-receipt-vulnerability-2026" target="_blank" rel="noopener"
 &gt;iOS 收据复用&lt;/a&gt;：&lt;strong&gt;OpenAI 不校验收据与 Apple ID 的绑定关系&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;iOS IAP 强开（本文）&lt;/strong&gt;：&lt;strong&gt;App Store 商品未下架，API 层可绕过 UI 层限制&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;支付安全的第一原则：所有层级的状态必须一致。&lt;/strong&gt; UI 关了，API 也得关。API 关了，支付平台的商品也得下架。任何一层没关严，就是攻击面。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="参考资料"&gt;参考资料
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://developer.apple.com/in-app-purchase/" target="_blank" rel="noopener"
 &gt;Apple In-App Purchase 文档&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://developer.apple.com/documentation/appstoreservernotifications" target="_blank" rel="noopener"
 &gt;App Store Server Notifications V2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://developer.apple.com/storekit/" target="_blank" rel="noopener"
 &gt;StoreKit 2 文档&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/nicklama/sslkillswitch2" target="_blank" rel="noopener"
 &gt;SSL Kill Switch 2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://docs.mitmproxy.org/" target="_blank" rel="noopener"
 &gt;mitmproxy 官方文档&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.7qiang.com/posts/stripe-protocol-payment-automation-deep-dive-2026" target="_blank" rel="noopener"
 &gt;Stripe 协议支付深度拆解（本站）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.7qiang.com/posts/gpt-plus-google-play-subscription-transfer" target="_blank" rel="noopener"
 &gt;GPT Plus 订阅转移全解析（本站）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.7qiang.com/posts/gpt-plus-receipt-vulnerability-2026" target="_blank" rel="noopener"
 &gt;iOS 收据复用漏洞（本站）&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;标签&lt;/strong&gt;: #ChatGPT #Pro20x #iOS #Apple #IAP #越狱 #AppStore #支付安全 #订阅 #逆向工程 #Stripe #GooglePlay&lt;/p&gt;</description></item></channel></rss>