HerrErde/SubwaySurfers-Api
GitHub: HerrErde/SubwaySurfers-Api
封装了地铁跑酷手游内部 gRPC 与 JSON API 的 Python 交互工具,支持账号管理、玩家操作及游戏内各类功能的程序化调用。
Stars: 3 | Forks: 0
# SubwaySurfers API
你可以与 SubwaySurfers 游戏应用所使用的内部 API 进行交互。
你也可以查看 [Subway Surfers City API](https://github.com/HerrErde/SubwaySurfersCity-API)
[RPC 文档](./grpc_docs.md) \
[Json 文档](./json_docs.md) \
[指南](./guides/guides.md)
## 环境要求
- 已安装 `grpcio` 和 `protobuf` Python 包
- 已安装 Protocol Buffers 编译器 (`protoc`) 并可在命令行中访问
## 设置与使用
```
pip install -r requirements.txt
cd send
protoc -I=protos --python_out=. protos\*.proto
python -m grpc_tools.protoc -I=protos --python_out=. --grpc_python_out=. protos\*.proto
```
```
python sendjson.py
```
```
python player.py
python friends.py
python energy.py
python tournament.py
python wallet.py
```
## 如何使用
### 1. 注册新账号 (可选)
- 运行脚本:
python send/auth.py
- 这将生成两个 token:
- `identityToken`
- `refreshToken`
- 或者你可以手动请求端点
- 最简单的方法是将其与 .env 文件和变量 `IDENTITYTOKEN` 一起使用
### 2. 创建玩家 (仅在注册了新账号时需要)
- 注册后,你必须先创建一个玩家资料,然后才能使用大多数 API 端点。(使用 `auth.py` 时不需要)
### 3. 获取你的 `identityToken`
- **如果你已经拥有 Subway Surfers 账号:**
1. 打开你的游戏目录中的 `auth/subway-prod/identity` 文件。
2. 该文件是 JSON 格式的。复制 `"identityToken"` 的值。
- **如果你注册了新账号:**
使用 `python send/auth.py` 返回的 `identityToken`。
### Token 刷新
- `identityToken` 的有效期为 **7 天**。
- 当其过期时,请使用你的 `refreshToken` 请求一个新的 `identityToken`。
- 务必在所有使用到的地方替换旧 token。
## API 文档
- [RPC 文档](./grpc_docs.md) – gRPC 端点
- [JSON 文档](./json_docs.md) – JSON 端点
### 开发
如果你想自己解码请求,请获取手机的 root 权限、使用模拟器或对应用进行 patch。
然后使用 **PCAPdroid** 捕获流量并将其导出为 PCAP 文件。 \
在 **Wireshark** 中打开该文件,找到 gRPC 请求(通过搜索 "gprc" 或 "json" 进行过滤),并打开数据包窗口。 \
在 **Protocol Buffers** 部分下,你会看到 **Message: **。右键点击并复制为 Hex Stream。然后你可以在类似 [protobuf-decoder](https://good.tools/protobuf-decoder) 这样的工具中解码 Protobuf。 \
对响应也可以执行同样的操作。 \
搜索显示为 (GRPC-Web) (application/grpc-web) 的响应。 \
有时它可能包含 (application/json) 头。
为了更精确地构建 proto,你还可以转储 il2cpp 并根据 Request 和 Response 类(例如 `SYBO.Social.Players.Grpc`)进行重建。如果其中包含多个字段,请跟进并在外部重建每一个字段。
标签:API文档, gRPC, OAuth Token, Protocol Buffers, Python, Python工具, SEO, Subway Surfers, 云资产清单, 地铁跑酷, 安卓逆向, 微服务架构, 抓包与API调用, 抓包工具, 接口分析, 无后门, 服务管理, 游戏API, 游戏内部接口, 游戏辅助开发, 移动应用安全, 网络安全, 逆向工具, 逆向工程, 隐私保护