{
  "added_at": "2026-11-08",
  "additional_evidence_urls": [
    "https://github.com/studojs/studo.js/blob/56619ffb1e1a9abd800d46698e881ddb4df5557c/docs/api.md"
  ],
  "category": "reconstruction-cases",
  "class": "apps",
  "description_en": "studo.js implements a TypeScript client for the Studo app's REST and socket.io chat interfaces after APK and network-packet analysis. Its endpoint notes cover request headers and API paths, while the client handles SMS login, channels, tabs, topics and messages.",
  "description_zh": "studo.js 在分析 Studo Android APK 与网络数据包后，实现其 REST 和 socket.io 聊天接口的 TypeScript 客户端。文档列出请求头和 API 路径，客户端支持短信登录、频道、标签页、话题与消息操作。",
  "entry_url": "https://awesomerea.org/resources/studo-js-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/studo-js-case/",
  "evidence_class": 2,
  "evidence_status": "observed",
  "evidence_url": "https://github.com/studojs/studo.js/blob/56619ffb1e1a9abd800d46698e881ddb4df5557c/README.md",
  "group": "cases",
  "id": "studo-js-case",
  "json_url": "https://awesomerea.org/resources/studo-js-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/studo-js-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/studo-js-case/index.md",
  "name": "studo.js: a client for Studo's recovered chat API",
  "name_zh": "studo.js：基于 Studo 聊天 API 分析的客户端",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "prerequisites",
    "scope",
    "license"
  ],
  "requirements": [
    "A Studo session token is needed for authenticated use; the project describes obtaining one through its site or adb.",
    "The client currently focuses primarily on chat.",
    "GPL-3.0 license."
  ],
  "requirements_zh": [
    "需要 Studo 会话令牌才能使用需认证的功能；项目介绍了通过其网站或 adb 获取令牌的方法。",
    "客户端目前主要覆盖聊天功能。",
    "GPL-3.0 许可证。"
  ],
  "scope": "unknown",
  "targets": [
    "app",
    "protocol"
  ],
  "url": "https://github.com/studojs/studo.js",
  "verification": "source-reviewed",
  "verified_at": "2026-11-06"
}
