{
  "added_at": "2026-11-08",
  "additional_evidence_urls": [
    "https://github.com/NosCoreIO/NosCore.ClientLab/blob/53d5359a1276047d3e6428d1c6edd1f852208d3f/docs/STATUS.md"
  ],
  "category": "reconstruction-cases",
  "class": "game",
  "description_en": "NosCore.ClientLab statically recompiles a user-supplied NosTale Windows client from x86 into C and WebAssembly for automated tests against a NosCore server. Ghidra and IDR provide function information, a custom lifter translates instructions, and a browser host replaces Windows graphics, audio and networking services.",
  "description_zh": "NosCore.ClientLab 将用户自行提供的 NosTale Windows 客户端由 x86 静态重编译为 C 和 WebAssembly，以便在浏览器中对 NosCore 服务器进行自动化测试。Ghidra 与 IDR 提供函数信息，自定义提升器翻译指令，浏览器宿主替代 Windows 图形、音频及网络服务。",
  "entry_url": "https://awesomerea.org/resources/noscore-clientlab-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/noscore-clientlab-case/",
  "evidence_class": 2,
  "evidence_status": "observed",
  "evidence_url": "https://github.com/NosCoreIO/NosCore.ClientLab/blob/53d5359a1276047d3e6428d1c6edd1f852208d3f/README.md",
  "group": "cases",
  "id": "noscore-clientlab-case",
  "json_url": "https://awesomerea.org/resources/noscore-clientlab-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/noscore-clientlab-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/noscore-clientlab-case/index.md",
  "name": "NosCore.ClientLab: statically recompiling the NosTale client for browser tests",
  "name_zh": "NosCore.ClientLab：将 NosTale 客户端静态重编译用于浏览器测试",
  "reconstruction_method": "static-recompilation",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "prerequisites",
    "prerequisites",
    "limits",
    "license"
  ],
  "requirements": [
    "A user-supplied NosCore-patched NosTale client and a NosCore server are required.",
    "The documented pipeline uses Python 3 with capstone and pefile, Emscripten and Ghidra 12; IDR requires Windows.",
    "Browser execution requires Chromium with WebAssembly JavaScript Promise Integration.",
    "MIT license."
  ],
  "requirements_zh": [
    "需要用户自行提供经 NosCore 修改的 NosTale 客户端及 NosCore 服务器。",
    "所述流程使用 Python 3、capstone、pefile、Emscripten 和 Ghidra 12；IDR 需要 Windows。",
    "浏览器运行需要支持 WebAssembly JavaScript Promise Integration 的 Chromium。",
    "MIT 许可证。"
  ],
  "scope": "unknown",
  "targets": [
    "binary",
    "game"
  ],
  "url": "https://github.com/NosCoreIO/NosCore.ClientLab",
  "verification": "source-reviewed",
  "verified_at": "2026-11-06"
}
