{
  "added_at": "2026-11-06",
  "category": "reconstruction-cases",
  "description_en": "ZCode-Android recreates ZCode remote control on Android from captured traffic and analysis of its official web page. Its Kotlin client implements WebSocket relay, HMAC pairing, IPC encoding, fragmented RPC frames and Conversation V4 session messages.",
  "description_zh": "ZCode-Android 根据官方远程控制网页的抓包与逆向结果，在 Android 上重建 ZCode 会话控制。Kotlin 客户端实现 WebSocket 中继、HMAC 配对、IPC 编解码、RPC 分片帧和 Conversation V4 会话消息。",
  "entry_url": "https://awesomerea.org/resources/zcode-android-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/zcode-android-case/",
  "evidence_url": "https://github.com/Damianjiang/ZCode-Android/blob/6b04daceafaa1d025994a3b44273fe74423da7d4/README.md",
  "group": "cases",
  "id": "zcode-android-case",
  "json_url": "https://awesomerea.org/resources/zcode-android-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/zcode-android-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/zcode-android-case/index.md",
  "name": "ZCode-Android: reconstructing the ZCode remote-control client",
  "name_zh": "ZCode-Android：重建 ZCode 远程控制客户端",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "prerequisites",
    "prerequisites",
    "limits",
    "license"
  ],
  "requirements": [
    "Android 12+ on arm64-v8a and a desktop ZCode pairing link are required.",
    "Building requires JDK 17 and Android SDK 35.",
    "Changes to the official web protocol may break the client.",
    "The README declares an MIT licence."
  ],
  "requirements_zh": [
    "需要 arm64-v8a 架构的 Android 12+ 设备和桌面端 ZCode 配对链接。",
    "构建需要 JDK 17 和 Android SDK 35。",
    "官方网页协议更新可能导致客户端失效。",
    "README 声明采用 MIT 许可证。"
  ],
  "targets": [
    "app",
    "protocol",
    "website"
  ],
  "url": "https://github.com/Damianjiang/ZCode-Android",
  "verification": "source-reviewed",
  "verified_at": "2026-11-06"
}
