{
  "added_at": "2026-11-02",
  "additional_evidence_urls": [
    "https://github.com/Plutoberth/SonyHeadphonesClient/blob/5620e8ed5deccb957338b54e371b215146080819/Client/Constants.h",
    "https://github.com/Plutoberth/SonyHeadphonesClient/blob/5620e8ed5deccb957338b54e371b215146080819/Client/CommandSerializer.cpp",
    "https://github.com/Plutoberth/SonyHeadphonesClient/blob/5620e8ed5deccb957338b54e371b215146080819/Client/BluetoothWrapper.cpp",
    "https://github.com/Plutoberth/SonyHeadphonesClient/blob/5620e8ed5deccb957338b54e371b215146080819/Client/Headphones.cpp",
    "https://github.com/Plutoberth/SonyHeadphonesClient/blob/5620e8ed5deccb957338b54e371b215146080819/Client/CMakeLists.txt",
    "https://github.com/Plutoberth/SonyHeadphonesClient/blob/5620e8ed5deccb957338b54e371b215146080819/.gitmodules",
    "https://github.com/Plutoberth/SonyHeadphonesClient/blob/5620e8ed5deccb957338b54e371b215146080819/.github/workflows/cmake.yml",
    "https://github.com/Plutoberth/SonyHeadphonesClient/blob/5620e8ed5deccb957338b54e371b215146080819/.github/workflows/xcodebuild.yml",
    "https://github.com/Plutoberth/SonyHeadphonesClient/blob/5620e8ed5deccb957338b54e371b215146080819/Client/Fonts/FontLicense.txt",
    "https://github.com/Plutoberth/SonyHeadphonesClient/blob/5620e8ed5deccb957338b54e371b215146080819/LICENSE",
    "https://github.com/Plutoberth/SonyHeadphonesClient/releases/tag/v1.3.2"
  ],
  "category": "reconstruction-cases",
  "description_en": "Recreates part of Sony’s mobile-only Headphones app as a Windows, Linux and macOS desktop client that changes noise-cancelling, ambient-sound and virtual-sound settings over a Bluetooth RFCOMM connection to a paired headset. The author reports reverse engineering the phone app to define its control protocol, and the code rebuilds its message framing, with start and end markers, byte escaping, sequence numbers, a sum checksum and acknowledgements, together with the two set-parameter commands the client sends. Full support is reported for few models, mainly the WH-1000XM3, and the project is archived.",
  "description_zh": "把 Sony 仅限手机的 Headphones 应用的部分功能重建为 Windows、Linux 和 macOS 桌面客户端，通过蓝牙 RFCOMM 连接已配对的耳机，调整降噪、环境声和虚拟音效设置。作者称通过逆向手机应用定义了其控制协议；代码重建了报文封装，包括起止标记、字节转义、序列号、求和校验和确认应答，以及客户端发送的两条参数设置命令。据报告只有少数型号完全可用，主要是 WH-1000XM3，项目现已归档。",
  "entry_url": "https://awesomerea.org/resources/sony-headphones-client-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/sony-headphones-client-case/",
  "evidence_url": "https://github.com/Plutoberth/SonyHeadphonesClient/blob/5620e8ed5deccb957338b54e371b215146080819/README.md",
  "group": "cases",
  "id": "sony-headphones-client-case",
  "json_url": "https://awesomerea.org/resources/sony-headphones-client-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/sony-headphones-client-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/sony-headphones-client-case/index.md",
  "name": "Sony Headphones Client: a desktop client for Sony’s headset control protocol",
  "name_zh": "Sony Headphones Client：Sony 耳机控制协议的桌面客户端",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirements": [
    "The reviewed master commit of 2025-07-19 is ten commits after the v1.3.2 release of 2023-04-26, adding build notes, a GCC include fix and the archival notice; CMakeLists.txt still embeds version 1.3.1. The repository is archived: the README says the app keeps working for the devices it supports and points to untested forks for others. Implemented controls are ambient sound with focus on voice, disabling noise cancelling, and the Virtual Sound VPT and sound-position presets; reading battery or current settings from the headset and the equalizer were never done, so the client only sends settings.",
    "No Sony software or files are needed or included; the client connects over RFCOMM to the headset’s control service UUID. The README reports the WH-1000XM3 and MDR-XB950BT as fully working and the WH-1000XM4 as partial, with other models in a user report issue, and the serializer caps ambient-sound levels at the WH-1000XM3’s 19 steps. The README says the app was reverse engineered for interoperability and that only some enums and data are in the code, the rest to be obtained statically or dynamically, linking a comment on sniffing messages; no decompiled app code, captures or method notes are in the repository.",
    "Releases provide prebuilt Windows x64, Linux x64 and macOS builds, and the Windows build needs the Microsoft VC++ Redistributable. Windows and Linux builds use CMake, a C++20 compiler and the Dear ImGui submodule, with Visual Studio 2022 and the Windows SDK on Windows and BlueZ, GLEW, GLFW, D-Bus and OpenGL development packages on Linux; macOS builds use the bundled Xcode project.",
    "CI only builds the Linux and Windows clients with CMake and the macOS app with xcodebuild and uploads them; there are no protocol tests, and headset compatibility is user-reported.",
    "MIT per LICENSE; the bundled Cascadia Code font is under the SIL Open Font License, and Dear ImGui keeps its own license. The README states the program is not affiliated with Sony, which keeps its rights in the app and headsets."
  ],
  "requirements_zh": [
    "所审阅的 master 提交日期为 2025-07-19，位于 2023-04-26 发布的 v1.3.2 之后十个提交，增加了构建说明、一处 GCC 头文件修复和归档声明；CMakeLists.txt 仍内嵌 1.3.1 版本号。仓库已归档：README 称应用对已支持的设备仍可继续使用，其他设备可尝试未经测试的分支。已实现的控制包括环境声（含人声聚焦）、关闭降噪，以及 Virtual Sound 的 VPT 和声音定位预设；从耳机读取电量或当前设置以及均衡器从未实现，因此客户端只发送设置。",
    "无需也不包含任何 Sony 软件或文件；客户端通过 RFCOMM 连接耳机的控制服务 UUID。README 报告 WH-1000XM3 和 MDR-XB950BT 完全可用、WH-1000XM4 部分可用，其他型号见用户报告议题；序列化代码把环境声级别上限设为 WH-1000XM3 的 19 档。README 称出于互操作目的逆向了该应用，代码中只包含部分枚举和数据，其余需通过静态或动态方式获取，并链接了一条关于抓取报文的评论；仓库中没有反编译的应用代码、抓包记录或方法说明。",
    "发布页提供预编译的 Windows x64、Linux x64 和 macOS 版本，Windows 版需要 Microsoft VC++ 运行库。Windows 与 Linux 构建使用 CMake、C++20 编译器和 Dear ImGui 子模块，Windows 上需要 Visual Studio 2022 和 Windows SDK，Linux 上需要 BlueZ、GLEW、GLFW、D-Bus 和 OpenGL 开发包；macOS 使用随附的 Xcode 项目构建。",
    "CI 只用 CMake 构建 Linux 和 Windows 客户端、用 xcodebuild 构建 macOS 应用并上传产物；没有协议测试，耳机兼容性来自用户报告。",
    "LICENSE 为 MIT；随附的 Cascadia Code 字体采用 SIL Open Font License，Dear ImGui 有其自身许可。README 声明本程序与 Sony 无关，应用和耳机的相关权利仍归 Sony 所有。"
  ],
  "targets": [
    "app",
    "protocol"
  ],
  "url": "https://github.com/Plutoberth/SonyHeadphonesClient",
  "verification": "source-reviewed",
  "verified_at": "2026-10-20"
}
