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, 云资产清单, 依赖分析, 内核驱动, 即时通讯, 网络协议, 逆向工具, 逆向工程