基于Quantumult X破解ChatGPT macOS客户端强制启动

基于Quantumult X破解ChatGPT macOS客户端强制启动 体验 GPT-4o:绕过客户端限制的技巧

近日,OpenAI 发布了备受期待的 GPT-4o 版本,并同时推出了针对 macOS 的官方客户端。GPT-4o 作为最新一代的语言模型,相较于之前的版本,带来了多项令人兴奋的新特性。然而,由于客户端的限制,普通用户在第一时间无法体验到这些新功能。为了帮助用户绕过客户端的校验并尽快体验到 GPT-4o 的强大功能,这篇博文将介绍一些可行的方式。

GPT-4o 的新特性

  1. 增强的语言理解和生成能力:GPT-4o 在语言理解和生成方面有了显著的提升,能够生成更加流畅、连贯和自然的文本。
  2. 更强的上下文处理能力:新版本可以处理更长的上下文,使得对话和文本生成更加连贯,适用于更多复杂场景。
  3. 多模态处理能力:GPT-4o 支持文本、图像等多种数据类型的输入,进一步扩展了其应用范围。
  4. 改进的安全和道德规范:新版本在内容审核和生成方面引入了更严格的标准,减少了生成有害或不适当内容的可能性。
  5. 优化的性能和响应速度:通过技术优化,GPT-4o 的响应速度更快,性能更加稳定,提升了用户体验。
  6. 语言理解能力有效提升:能够通过用户语气预测其当下心情,响应不同结果

博文目的

由于官方客户端对用户权限的限制,许多普通用户无法在第一时间体验到 GPT-4o 的强大功能。本文旨在通过介绍一些技术手段,帮助用户绕过这些限制,从而尽早享受到最新技术带来的便利和乐趣。这些方法虽然涉及一定的技术复杂度,但在详细的指导下,用户可以顺利操作并体验到 GPT-4o 的全部功能。


破解原理

在开始之前,请注意,此操作可能违反 OpenAI 的服务条款。请谨慎使用并确保了解可能带来的风险。

抓包分析

通过对 ChatGPT macOS 客户端的抓包分析,我们发现关键在于客户端与服务器之间的初始化请求。具体来说,客户端在启动时会向以下接口发送请求:https://ab.chatgpt.com/v1/initialize

这个请求的响应报文中包含了判断当前用户是否合法的关键字段。OpenAI 官方仅仅以一个字段用于区分用户是否允许进入客户端。

所需工具

要实现绕过客户端校验的目的,我们可以使用以下任一网络工具或抓包软件来重写响应包:

  • Quantumult X:一款强大的网络调试工具,支持多种协议的抓包和重写功能。
  • Surge:用于网络调试和管理的高级工具,具有强大的重写规则配置能力。
  • Charles:跨平台的网络抓包工具,支持 HTTP/HTTPS 的抓包和修改。
  • Wireshark:功能强大的网络协议分析工具,可以捕获并分析网络流量。

实现步骤

  1. 安装并配置抓包工具

    • 下载并安装上述任意一款抓包工具,本文以 Quanmult X 为例。
    • 根据工具的使用说明进行配置,使其能够抓取 ChatGPT macOS 客户端的网络请求。
  2. 启动抓包工具并运行 ChatGPT 客户端

    • 打开抓包工具,并启动 ChatGPT macOS 客户端。
    • 观察并找到与 https://ab.chatgpt.com/v1/initialize 接口相关的请求和响应。
  3. 分析并重写响应包

    • 找到 https://ab.chatgpt.com/v1/initialize 请求的响应包。
    • 确认响应包中用于区分用户是否允许进入客户端的关键字段(例如 isAllowed 字段)。
    • 使用抓包工具的重写功能修改该字段的值,使其始终返回允许的状态。
  4. 验证修改效果

    • 重新启动 ChatGPT 客户端,确认是否成功绕过校验进入客户端。

示例:使用 Charles 重写响应包

  1. 启动 Charles 并配置代理

    • 打开 Charles,设置代理服务器以捕获 macOS 客户端的流量。
    • 在 macOS 的网络设置中配置代理,指向 Charles。
  2. 抓取并找到初始化请求

    • 启动 ChatGPT 客户端,观察 Charles 中捕获的请求。
    • 找到 https://ab.chatgpt.com/v1/initialize 请求及其响应。
  3. 重写响应包

    • 在 Charles 中添加重写规则:
      • 选择 Tools > Rewrite
      • 添加新的重写规则,将 Bool 类型的值修改为允许的状态(例如 true)。
  4. 应用重写规则并测试

    • 启用重写规则,重启 ChatGPT 客户端。
    • 验证是否成功绕过了客户端的校验。

通过上述方法,用户可以绕过 ChatGPT macOS 客户端的校验,尽早体验到 GPT-4o 的新特性。然而,再次强调,此操作可能违反 OpenAI 的服务条款,请谨慎使用并确保了解可能带来的风险。


实践部分

第一步:通过 Quantumult X 的 HTTP 监听功能进行抓包

  • 1. 安装 Quantumult X

    首先,确保你已经在你的设备上安装了 Quantumult X。你可以从 Quantumult X 官网 或 App Store 下载并安装该应用。

    2. 配置 Quantumult X 进行 HTTP 监听

    1. 打开 Quantumult X 应用

      • 启动 Quantumult X,进入主界面。
    2. 设置代理模式

      • 在主界面下方点击“Settings”。
      • 在“Settings”菜单中,选择“Proxy Settings”。
      • 配置一个 HTTP/HTTPS 代理,确保 Quantumult X 能够捕获所有网络流量。
      • 记下代理服务器的 IP 地址和端口号。
    3. 在 macOS 上配置代理

      • 打开 macOS 系统偏好设置,进入“网络”设置。
      • 选择当前使用的网络连接(例如 Wi-Fi 或以太网),点击“高级”。
      • 进入“代理”标签,勾选“Web 代理 (HTTP)”和“安全 Web 代理 (HTTPS)”。
      • 在“代理服务器地址”中输入 Quantumult X 显示的 IP 地址,在“端口”中输入 Quantumult X 的端口号。
      • 点击“确定”保存设置,然后应用更改。

    3. 启动抓包功能

    1. 启动 Quantumult X 的抓包功能
      • 在 Quantumult X 主界面,点击左下角的“抓包”图标(Packet Capture)。
      • 确保抓包功能处于启用状态。
        圈x Http抓取界面
        圈x Http抓取启动界面
    2. 运行 ChatGPT macOS 客户端
      • 打开 ChatGPT macOS 客户端,并进行正常使用操作。
      • Quantumult X 将开始捕获并显示所有网络请求和响应。macos ChatGPT client

    4. 分析捕获的请求

    1. 找到关键请求

      • 在 Quantumult X 抓包界面,找到 https://ab.chatgpt.com/v1/initialize 的请求。找到关键请求
      • 点击该请求查看详细信息,包括请求头、请求体和响应体。响应体详情
    2. 分析响应报文

      • 在响应体中,查找用于区分用户是否允许进入客户端的关键字段。
      • 记录该字段的名称和值。

    通过上述步骤,你可以成功使用 Quantumult X 抓取 ChatGPT macOS 客户端发送的所有请求,并找出关键的初始化请求和响应报文。下一步将介绍如何利用这些信息,通过修改响应包来绕过客户端的校验。

    在继续之前,请务必确保你已经理解并同意可能的法律和服务条款限制。

    捕获报文如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
{
"statsigMetadata": {
"stableID": "F6D33F09-0ADA-467B-85D1-012515A74429",
"locale": "zh_CN",
"deviceModel": "arm64",
"appIdentifier": "com.openai.chat",
"deviceOS": "macOS",
"language": "zh-Hans-CN",
"sdkType": "ios-client",
"systemVersion": "14.5.0",
"systemName": "macOS",
"appVersion": "1.2024.134",
"sdkVersion": "1.40.1",
"sessionID": "1EB0F94D-1567-42D7-8C45-ADF3642B507C"
},
"sinceTime": 1716102005777,
"previousDerivedFields": {
"country": "CA",
"ip": "163.123.192.52",
"user_agent": "ChatGPT/1715807927 CFNetwork/1496.0.7 Darwin/23.5.0"
},
"hash": "djb2",
"user": {
"statsigEnvironment": {
"tier": "production"
},
"userID": "user-bJTtI9UeN32dht7fxc3R8CXD",
"custom": {
"app_environment": "app_store",
"apple_platform": "macOS",
"apple_os_version": "14.5.0",
"client_type": "ios",
"plan_type": "free",
"workspace_id": "facfb951-5a13-45e2-b2a4-221ac5fde784",
"has_paid_plan": false
},
"appVersion": "1.2024.134",
"privateAttributes": {
"email": "<suyuexiang412@gmail.com>"
}
}
}

第二步:编写重写响应体的脚本

我们将使用 JavaScript 编写一个脚本,重写 https://ab.chatgpt.com/v1/initialize 接口的响应,以绕过客户端的校验。

1. 编写脚本

首先,编写一个 JavaScript 脚本,用于重写响应体:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
let status = $response.status;
let headers = $response.headers;
let body = $response.body;

// 如果需要对 JSON 响应内容进行处理,可以在此进行
try {
let obj = JSON.parse(body);

function replaceFalseWithTrue(obj) {
for (let key in obj) {
if (obj[key] === false) {
obj[key] = true;
} else if (typeof obj[key] === 'object' && obj[key] !== null) {
replaceFalseWithTrue(obj[key]);
}
}
}

replaceFalseWithTrue(obj);
body = JSON.stringify(obj);
} catch (e) {
// 如果不是 JSON 响应,则不做处理
}

// 强制修改状态码为200
status = 200;

$done({ status, headers, body });

2. 在 Quantumult X 中应用脚本

​ 1. 打开 Quantumult X 应用

​ • 启动 Quantumult X,进入主界面。

​ 2. 添加重写规则

​ • 在主界面下方点击“Settings”。

​ • 选择“Rewrite”进入重写规则配置界面。 添加重写规则

​ 3. 配置重写规则

​ • 点击右上角的“+”按钮添加新规则。

​ • 在“URL”字段中输入 https://ab.chatgpt.com/v1/initialize$

​ • 在“Script”字段中粘贴上面的 JavaScript 脚本的地址如https://raw.githubusercontent.com/GnaixEuy/openai_chatgpt_macos_crack/main/crack_chatgpt_macos.js

​ 4. 启用重写规则

​ • 保存并启用重写规则。

​ • 确保重写功能处于启用状态。添加规则界面

3. 验证效果

​ 1. 重启 ChatGPT 客户端

​ • 关闭并重新启动 ChatGPT macOS 客户端。

​ • Quantumult X 将自动应用重写规则,并修改 https://ab.chatgpt.com/v1/initialize 接口的响应。

​ 2. 检查客户端状态

​ • 确认客户端是否成功绕过校验并允许访问。破解成功
破解成功2

通过上述步骤,你可以成功编写和应用重写响应体的脚本,利用 Quantumult X 绕过 ChatGPT macOS 客户端的校验。如果有任何问题或需要进一步帮助,请随时告诉我。


本文在ChatGPT For macOS客户端的协助下编写完成。