pr0bel1230/max-api-docs
GitHub: pr0bel1230/max-api-docs
MAX Messenger 私有通信协议的逆向工程文档,涵盖 opcode 指令表、双传输层协议细节及可运行的验证脚本。
Stars: 0 | Forks: 0
# MAX Messenger API 文档
本文档是对 MAX Messenger (oneme.ru) 协议的技术说明,通过
reverse engineering 方法获取。
## 目的
本仓库包含了对 MAX Messenger(内嵌于 MAX 生态系统中的
通讯软件)非公开协议的技术说明。
目前没有官方的公开 API 文档;这里所记录的一切内容,
都是通过分析网络流量和 Web 客户端源代码得出的。
## 结构
```
max-api-docs/
├── README.md # Этот файл
├── protocol/
│ ├── opcodes.md # Полная таблица опкодов
│ ├── auth.md # Аутентификация (INIT, LOGIN)
│ ├── messaging.md # Сообщения (send, delete, history)
│ ├── chats.md # Чаты (список, управление)
│ ├── contacts.md # Контакты и профиль
│ ├── files.md # Загрузка и отправка файлов
│ ├── push.md # Push-уведомления
│ ├── tcp-protocol.md # TCP протокол (MessagePack, ver=10)
│ └── websocket.md # WebSocket протокол (JSON, ver=11)
└── scripts/
├── mcp-max-user-server.py # MCP сервер для AI-ассистентов
└── tests/
├── tcp_delete.py # DELETE-запрос через TCP (opcode 66)
├── delete_variants.py # Сканирование опкодов
└── tcp_raw_test.py # Дампы INIT/LOGIN
```
## 传输层
MAX 使用了两种并行协议:
| 传输方式 | Endpoint | 格式 | 版本 |
|-----------|----------|--------|--------|
| WebSocket | `wss://ws-api.oneme.ru/websocket` | JSON | 11 |
| TCP (SSL) | `api.oneme.ru:443` | MessagePack | 10 |
两者均使用相同的 opcode 系统和 payload。
连接流程:**INIT (6)** → **LOGIN (19)** → 业务请求。
## 快速开始
```
pip install websocket-client msgpack certifi
export ACCESS_TOKEN="токен из web.max.ru"
export DEVICE_ID="device_id из INIT запроса"
python3 scripts/tests/tcp_delete.py
```
**如何获取 token:**
1. 在 Chrome/Firefox 中登录 [web.max.ru](https://web.max.ru)
2. 按下 F12 → Network
3. **刷新页面** (F5) —— 以便从头捕获 WebSocket 连接
4. 在筛选中选择 `WS` (WebSocket)
5. 点击唯一的 `wss://ws-api.oneme.ru/websocket` 连接
6. 在 Messages 标签页中找到**第一条**消息 —— 即 INIT (opcode=6)。其 payload 中会包含 `deviceId`
7. **第二条**消息 —— LOGIN (opcode=19)。其 payload 中会包含 `token`
## 主要 opcode
| Opcode | 命令 | 用途 |
|-------|---------|------------|
| 6 | INIT | 初始化会话 |
| 19 | LOGIN | 授权登录 |
| 49 | GET_HISTORY | 获取消息历史 |
| 64 | MSG_SEND | 发送消息 |
| 65 | MSG_TYPING | 输入状态指示器 |
| 66 | MSG_DELETE | 删除消息 |
| 67 | MSG_EDIT | 编辑消息 |
| 87 | FILE_UPLOAD | 上传文件 |
| 92 | MSG_DELETE_RANGE | 批量删除 |
完整表格 → [protocol/opcodes.md](protocol/opcodes.md)
**注意:** 服务器会对任何正确的请求回复 `cmd=1` (ACK),即使该操作并不受支持。要验证实际效果,需要通过请求数据 (GET_HISTORY) 来检查。
## 来源
本文档基于以下内容编制:
- **Web 客户端源代码** —— `web.max.ru` 的 JavaScript bundle,
包含完整的 opcode 映射表和 payload 结构
- **WebSocket 流量** —— 通过 DevTools 分析请求/响应
- **直接测试** —— 通过 TCP socket 和 WebSocket 使用各种 opcode 和 payload 直接发送请求
- **实验性验证** —— 通过状态请求 (GET_HISTORY, GET_CHATS) 验证操作的实际效果
### 第三方资源
- [MaxProtoExplanation](https://github.com/nyakokitsu/MaxProtoExplanation) —
关于 oneme TCP 二进制协议的说明:帧结构、msgpack、
LZ4 压缩
- [maxcalls](https://github.com/icyfalc0n/maxcalls) — WebSocket API
文档,包含身份验证和通话 opcode 的说明
- [max-api](https://kirill7mix.github.io/maxapi/) — 非官方的 Python
库,包含 100 多个 opcode 的表格
- [PyMax](https://github.com/MaxApiTeam/PyMax) — MAX 的 Python 客户端,
通信协议 (DeepWiki)
- [openmax-server](https://github.com/openmax-team/server) — 开源的
MAX 服务器实现,oneme TCP wire protocol (DeepWiki)
- [vk-max](https://github.com/larytet-assorted/vk-max) —
反编译的 MAX Android 客户端 (VK)
- [Rust 编写的 MAX 客户端](https://dtf.ru/software/3887805-klient-dlya-messendzhera-max-na-rust) —
DTF 上关于 MAX reverse engineering 的文章
- [python-max-client](https://pypi.org/project/python-max-client/) —
又一个 Python 版本的客户端实现
- [OSINT Anatomy: слежка за VPN](https://osintech.substack.com/p/osint-anatomy-does-max-messenger) —
关于 MAX 遥测数据的研究
- [madmax](https://pypi.org/project/madmax/) — 用于
操作 MAX API 的 Python 包
## 许可证
MIT
标签:API文档, Homebrew安装, MessagePack, WebSocket, 云资产清单, 依赖分析, 内核驱动, 即时通讯, 网络协议, 逆向工具, 逆向工程