Yahks/facebook-api-research

GitHub: Yahks/facebook-api-research

通过逆向工程系统记录 Facebook 私有 API 与 Android 应用行为的研究文档,揭示其 GraphQL 接口机制以支撑自动化工具开发。

Stars: 0 | Forks: 0

# facebook-api-research 记录通过逆向工程发现的 Facebook 私有 API 和 Android 应用行为。 这是 FBPostX 背后的研究。随着我发现新内容,会不断更新。 ## 为什么会有这个项目 Facebook 的算法决定了谁能看到你的内容。 大多数小企业和普通人不知道它是如何运作的。 这项研究旨在改变这一现状。 ## 使用的工具 - **Selenium** — 浏览器自动化与行为观察 - **Burp Suite** — 拦截 HTTPS 流量 - **jadx** — 反编译 Facebook Android APK - **Android Debug Bridge (adb)** — 设备通信 - **Python** — 脚本编写和测试 - **Frida** — Android 上的 runtime hooks ## 研究发现 ### 身份验证 | Endpoint | Method | 描述 | |---|---|---| | `/login/device-based/regular/login/` | POST | 主要的 Web 登录 | | `/checkpoint/` | GET | 安全验证处理程序 | | `/2fac/` | POST | 双重身份验证 | ### Groups | Endpoint | Method | 描述 | |---|---|---| | `/groups/feed/` | GET | Group 动态内容 | | `/groups/{group_id}/` | GET | 特定 Group 数据 | | `/api/graphql/` | POST | GraphQL — 大部分 Facebook 数据流经此处 | ### 发布内容 | Endpoint | Method | 描述 | |---|---|---| | `/api/graphql/` | POST | 通过 GraphQL 创建帖子 | | `/groups/{group_id}/permalink/` | POST | 向特定 Group 发布帖子 | *随着研究的继续,会添加更多 endpoint。* ## 关键发现 — GraphQL Facebook 上的几乎所有操作都通过同一个 endpoint 运行: ``` POST https://www.facebook.com/api/graphql/ ``` 不同操作之间的区别在于请求体中传入的 `doc_id` 或 `fb_api_caller_class` 参数。这正是 FBPostX 利用来自动化 Group 发帖的原理。 ## 研究方法 ``` 1. Set up Android emulator with Facebook installed 2. Route traffic through Burp Suite proxy 3. Observe requests during normal Facebook use 4. Decompile APK with jadx to understand request structure 5. Reproduce behaviour with Selenium and Python 6. Document findings here ``` ## 状态 - [x] 登录流程已映射 - [x] Group 发帖行为已记录 - [x] GraphQL endpoint 已确认 - [ ] Marketplace API — 进行中 - [ ] Events API — 未开始 - [ ] Ads 系统内部机制 — 未开始 - [ ] Messenger API — 未开始 ## 相关链接 - [FBPostX](https://github.com/Yahks/FBPostX) — 基于此研究构建的工具 ## 免责声明 本研究仅供教育目的。 所有发现均来自被动观察和反编译。 没有对 Facebook 系统造成破坏或被恶意利用。
标签:Android, API文档, DSL, Selenium, 云资产清单, 网络流量分析, 网络调试, 自动化, 逆向工具, 逆向工程