news 2026/9/11 17:10:00

如何快速获取Apple设备标识头?Provision retrieve_headers实战教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何快速获取Apple设备标识头?Provision retrieve_headers实战教程

如何快速获取Apple设备标识头?Provision retrieve_headers实战教程

【免费下载链接】ProvisionSet of tools interracting with Apple servers. Don't hesitate to leave a star if you appreciate it.项目地址: https://gitcode.com/gh_mirrors/pr/Provision

在Linux上与Apple服务器打交道,最核心的难题之一是如何让Apple“认出”你的设备。Provision 的retrieve_headers工具正是为此而生:它在本地模拟一台 Mac,向 Apple 服务器完成 Anisette/ADI 设备注册,并直接以 JSON 形式输出一整套 Apple 设备标识头(如X-Apple-I-MDX-Mme-Device-Id等)。本文带你用 3 步快速获取这套 Apple 设备标识头,并讲清每一步的原理与常见坑。

为什么需要 Apple 设备标识头?

Apple 的许多服务端接口(App Store、iCloud 相关服务、AltServer 生态等)都会校验请求中的设备指纹。这套指纹的核心是Anisette Data(ADI,Apple Device Identification):

  • 设备第一次“登录”Apple 服务器时完成provisioning(设备备案),服务器从此记住这台机器,后续请求可少遇 2FA 拦截;
  • 每次请求需要携带一组X-Apple-I-*请求头来标识设备身份;
  • ADI 由 Apple 的CoreADI库生成,Linux 上无法原生调用,Provision 通过加载 Apple Music for Android 的库来桥接。

关于 ADI 的更多背景,可参考项目内的 docs/ADI.md 说明文档(以代码内路径docs/ADI.md为准)。

retrieve_headers 能返回哪些标识头?

运行retrieve_headers后,终端会打印一段 JSON,其中每个字段都是构建 Apple 请求时必需的标识头:

请求头含义
X-Apple-I-MD/X-Apple-I-MD-MBase64 编码的一次性口令与机器标识,Apple 设备认证核心
X-Apple-I-MD-LU本地用户 UUID(设备创建时随机生成)
X-Apple-I-MD-RINFO设备区域信息固定值
X-Mme-Client-Info设备描述,如 MacBookPro13,2 + macOS 13.1
X-Mme-Device-Id唯一设备标识(UUID 形式)
X-Apple-I-Client-Time/X-Apple-I-TimeZone当前时间与时区,用于服务器校验请求新鲜度
X-Apple-Locale固定为en_US

这套输出逻辑集中在 retrieve_headers/app.d 中:首次运行创建“虚拟机器”,未备案时自动 provisioning,随后向 ADI 请求 OTP 并组装 JSON 输出。

三步快速获取 Apple 设备标识头

第一步:获取项目并编译

需要 D SDK(含dub包管理器):

git clone https://gitcode.com/gh_mirrors/pr/Provision --recursive cd Provision dub build -b release

也可以使用 CMake + Ninja 构建:

mkdir build && cd build cmake -G Ninja .. -DCMAKE_BUILD_TYPE=Release ninja

编译成功后,可执行文件位于bin/目录下,其中retrieve-headers即为本教程的主角(子包定义见 dub.sdl)。

第二步:放置 Apple 运行时库(最易被忽略的一步)

retrieve_headers运行时依赖 Apple 的原生库,必须放在可执行文件同级目录下的lib/<架构>/中:

  1. 下载 Apple Music 的 Android APK(或只取对应架构的切片);
  2. 解压出其中的lib/文件夹放到可执行文件旁;
  3. 架构目录名必须与本机匹配:x86_64x86arm64-v8aarmeabi-v7a(对应逻辑见 retrieve_headers/app.d 中architectureIdentifier的定义)。

💡 想缩小体积?只保留libstoreservicescore.solibCoreADI.so两个文件即可,其余可删。

第三步:运行并解析输出

bin/目录(编译时已设为工作目录)下执行:

./retrieve-headers

首次运行会看到类似过程:

  • Creating machine...—— 生成虚拟 Mac 身份并写入~/.config/Provision/device.json(Windows 为%LocalAppData%\Provision\);
  • Machine requires provisioning...—— 向 Apple 服务器备案,完成后机器即被标记为“可信设备”;
  • 最后打印上述 JSON 标识头,可直接复制进你的 HTTP 请求。

排查问题时可加debug参数输出 TRACE 级日志:

./retrieve-headers debug

使用要点与避坑清单

  • ⚠️不要用主力 Apple 账号测试。作者明确声明不对账号后果负责,强烈建议用备用小号。
  • 🔒保护好 ADI 数据:备案成功后,ADI 数据会缓存在~/.adi/adi.pb。该文件等同“设备身份证”,泄露意味着他人可伪装你的设备身份。
  • 🧠备案只需一次retrieve_headers每次运行都会检查是否已 provisioning,已备案则直接取 OTP 输出,重复执行是安全的。
  • ⏱️注意时间准确性X-Apple-I-Client-Time取本机系统时间,时间漂移过大可能导致请求被拒。
  • 🐳需要长期服务?同项目还内置anisette_server(anisette_server/app.d),在 6969 端口提供 Anisette provisioning 服务,可供 AltServer-Linux 等第三方软件复用,README 中给出了 Docker 部署方式。

常见问题

Q:运行报找不到库或段错误?确认lib/<架构>/目录名与 CPU 架构严格一致,且libstoreservicescore.solibCoreADI.so齐全。

Q:X-Mme-Client-Info能改吗?可以。它来自device.json中的serverFriendlyDescription,首次创建后可手动修改为你的设备型号描述。

Q:能跨平台运行吗?支持 Linux 与 Windows(架构支持 x86/x86_64/ARM),配置目录按平台自动选择。

总结

retrieve_headers用一条命令完成了「创建虚拟 Mac → Apple 服务器备案 → 输出设备标识头」全流程,是 Linux 上对接 Apple 服务生态的便捷入口。记住三件事:放对lib/架构目录、用备用账号、保管好~/.adi/adi.pb,你就能稳定获取到一整套可用的 Apple 设备标识头。

【免费下载链接】ProvisionSet of tools interracting with Apple servers. Don't hesitate to leave a star if you appreciate it.项目地址: https://gitcode.com/gh_mirrors/pr/Provision

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/30 9:40:43

WinScript:让Windows定制变得简单的一步工具

WinScript&#xff1a;让Windows定制变得简单的一步工具 【免费下载链接】winscript Open-source tool to build your Windows script from scratch. It includes debloat, privacy, performance & app installing scripts. 项目地址: https://gitcode.com/gh_mirrors/wi…

作者头像 李华
网站建设 2026/9/1 12:09:25

Python路径分析与SEM可视化:从模型构建到路径图绘制全攻略

简介&#xff1a;路径分析是一种用于检验变量间多级影响链条的统计建模方法&#xff0c;它通过方程组同时估计所有路径&#xff0c;突破了传统分步回归只能利用局部信息的局限&#xff0c;更加适合中介效应与复杂因果机制的探索。结合结构方程模型&#xff08;SEM&#xff09;的…

作者头像 李华