在 GitHub 上加星Star2.4k 个星标

逆向工程资源集合

逆向工程案例合集

第 18/21 页,第 3,401–3,600 个案例。从 5,191 项精选资源中筛选出的 4,025 个案例,保留重建方法、成果边界与原始证据,并按网站、游戏、应用等目标分组,可逐条打开条目查看来源与复核日期。

软件重建产物评审

核查 REA 工作流与独立重建的实际产物,每项保留原始来源和已知局限。

复现范围
已实现功能、已知缺口及必需的原始素材。
产物入口
原始代码、发布包或演示。
证据与归因
固定来源、复核日期与 REA 的实际角色。
关于这些案例

每个案例按主要用途出现一次,并保留所有目标标签。

第 3,401–3,600 个案例,共 4,025 个

协议

645 个案例

全部主题

一个 Node.js 桥接程序:从官方应用或服务已停用或不开放的健身单车读取功率和踏频,再以标准的低功耗蓝牙 Cycling Power、Cycling Speed and Cadence 传感器及 ANT+ 自行车功率配置文件重新广播,使 Zwift、TrainerRoad、码表和运动手表能够使用这辆单车。作者的开发笔记记录了在厂商关停家用服务后,如何在 Flywheel Home Bike 的蓝牙 UART 服务上解析出其统计数据包;Peloton 支持通过 USB 串口适配器读取单车的数据线,Schwinn IC4 和 Keiser M 客户端则分别解析标准的 Fitness Machine Service 和 Keiser 公开文档中的广播数据。单车与应用的兼容性均为项目报告。

一个 Python 库,通过 Garmin 手表专有的 GFDI V2 低功耗蓝牙协议与手表通信,无需 Garmin Connect、手机或云服务。它实现了握手、多链路路由、COBS 分帧、CRC16 校验和 protobuf 服务报文,可流式读取心率、HRV、血氧、压力、Body Battery 和加速度计等类型化数据,并提供模拟器和录制会话回放,便于在没有硬件时开发。致谢部分说明协议逻辑和 schema 源自 Gadgetbridge;另有一份公开的分析记录,展示作者如何依据带标注的录制数据解出加速度计载荷,而 Gadgetbridge 此前只记录其十六进制内容。

无需 Bose 应用、账号或云服务,即可在 Linux 和 macOS 上控制 Bose 耳机:项目提供 Python、Rust 和 C++ 库及命令行工具,在蓝牙 RFCOMM 上实现 Bose 的 BMAP 协议。作者在 NOTES.md 中记录了 BMAP 的功能块、操作符、载荷布局和错误码,据称是通过探测 RFCOMM 通道、在 Bose 应用中更改设置时抓取蓝牙通信并逐一测试各操作符得出的;这些库涵盖降噪、均衡器、空间音频、按键重映射、配置档和设备设置。各型号的支持情况由作者和贡献者报告。

重建 DJI Mimo 应用与 Osmo Pocket 3 相机之间基于 BLE 的 DUML 协议,提供 Node.js 库和命令行工具,无需官方应用即可扫描、配对、发送云台指令并接收约 20 Hz 的姿态遥测。作者称其依据第三方对 Mimo 通信的 Wireshark 抓包与解析器、一个 Go 客户端以及反复试验调试完成;PROTOCOL.md 记录了帧结构、CRC 参数、BLE 特征值的用途和命令 ID。一篇过程记录和随附补丁梳理了导致早期 node-osmo 库无法配合该相机工作的七个缺陷,作者报告打过补丁的库完成了配对、Wi-Fi 设置和 RTMP 推流。

记录 DJI 专有 MIMO 应用用于控制 DJI Osmo 设备的低功耗蓝牙报文格式,是作者在开发独立 CLI 工具 djictl 时产出的逆向工程素材。作者依据自己手机的蓝牙日志推断出报文结构——魔数、长度、协议版本、头部 CRC8、子系统与消息 ID 字段、载荷以及消息 CRC16——并提供一个 Wireshark 解析插件和一份带注释的消息类型目录。许多消息类型被标注为推测或未知;作者报告在 DJI Osmo Pocket 3 上实现了可用的直播推流后暂停了进一步分析。

以一个 Windows 命令行客户端替代 MXW01“猫猫打印机”(一款小型低功耗蓝牙热敏打印机)的厂商手机应用。作者称以仅支持 iOS 的 Moblin 实现为起点,再进一步逆向厂商的手机应用;该客户端向一个 GATT 服务发送带 CRC8 校验的命令,并以 1 位或 4 位灰度传输每行 384 像素的图像数据。若干命令 ID 仍标为未知,作者也只测试了这一款打印机。

从厂商安卓应用的原生指令编码器(而非其具有误导性的 Java SDK)重建 R2000 系列 915 MHz UHF RFID 桌面读写头的 A0 串口协议;这类读写头原本只随附 Windows 软件和安卓应用。项目据此提供用户态 CH340 驱动、Python 命令行与图形界面,以及小型安卓应用,直接与读写头通信,进行标签盘存并读取标签存储区。docs/PROTOCOL.md 记录了帧格式、校验和、指令表、响应格式,以及 READ 与 WRITE 不同的字段顺序。

记录 Xiaomi 电水壶封闭的低功耗蓝牙 GATT 协议;作者通过反编译 Mi Home Android 应用并反汇编其负责加密的原生库重建了该协议。文档涵盖连接与认证握手、状态通知的数据布局以及可写入的设置特征值,并附有用 Go 重新实现的少量加密辅助函数。作者据此开发了接入 Home Assistant 的水壶–MQTT 桥接程序,但未公开其代码。

记录了改款(2006 年后)Ford Fiesta MK5 上连接 6000CD 收音机与仪表盘的中速 CAN 总线。作者在收音机的 QuadLock 连接器处用 Arduino Uno 加 Seeed CAN-BUS Shield 接入总线,据此推断出这些内容。README 描述了这条 125 kbit/s 总线上 18 个已部分或完全解码的报文 ID,给出字节布局和换算公式:包括收音机经 ISO-TP 发往仪表 LCD 的文字、电台名称、音量、CD 曲目以及转向柱旁的模式与搜台按键,还有广播的时钟、车门、门锁、倒挡、转向灯、灯光、手刹、安全气囊指示灯、踏板、转速、车速、冷却液温度、钥匙位置、蓄电池电压和部分 VIN 数据。附带的 Kayak .kcd 定义文件尚不完整,只编码了时钟和油门踏板/转速/车速两条报文。

将 Uniden R8 雷达探测器未公开的低功耗蓝牙输出解码为可在 Raspberry Pi 上运行的只读采集程序,提供实时遥测、警报开始/更新/结束事件、SQLite 历史记录,以及可选的 MQTT 与 Home Assistant 发布。作者在真实设备上直接从通信数据推断协议,并以 AegisX86/UnidenR8wlink 先前针对 R8w 的发现为基础;PROTOCOL.md 中的每项结论都按证据分级:在这台 R8 上实测、在其他型号上见到、从应用反编译但未测试,或推断。未知字段按原始数据保留,而不赋予臆造的含义。

直接使用 Scanmatik SM3 未公开的协议——这款 J2534 车辆接口原本只与自家 Windows 软件通信——并以 ELM327 桥接的形式提供给 Android 手机,其上还有一个诊断应用。作者通过抓取设备随附驱动的通信并测量响应,恢复了报文结构:包含序号、基于 CRC 与求和的校验字、操作码和长度的 16 字节报头;docs/protocol.md 区分了已确认与仍待解决的部分。所报告的结果来自一辆 Opel Astra J、共五次有车在场的测试。

以用户态 C 守护进程在 Linux 和 macOS 上重新实现 Apple 无线直连(AWDL)——Apple 设备用于 AirDrop 等点对点连接的专有 Wi-Fi 自组网协议;README 称其为达姆施塔特工业大学 SEEMOO 实验室 Open Wireless Link 项目逆向工程的成果。OWL 执行主节点选举,同步可用窗口和信道序列,解析并构造 AWDL 动作帧与数据帧,并提供带链路本地 IPv6 地址的 awdl0 虚拟网络接口,使未经修改的 IPv6 程序(如 SEEMOO 的 AirDrop 客户端 OpenDrop)能够与 Apple 设备通信。作者在 MobiCom 2018 论文中描述了还原出的协议。

Stadiacast 重建 Stadia 手柄 Wi-Fi 固件所依赖的网络服务,让手柄连接本地电脑。接收端响应启动和发现请求,完成 WebRTC、DTLS 会话,解码按键输入并发送震动命令。协议文档记录了固件阅读和真机交互所得的结果,仓库还提供 protobuf 结构与服务端代码。

LibreMP 根据 Windows 客户端抓包还原 Epson EasyMP 协议,实现桌面向投影仪投屏。Rust 核心处理注册与登录消息、投影仪二维码解码、JPEG 分块传输及画面变化区域更新;命令行和 Tauri 界面共用该核心。文档记录控制通道使用 TCP 3620,视频通道使用 TCP 3621。

libfprint-goodixtls 为 Huawei MateBook X Pro 的 Goodix GXFP5187 SPI 指纹传感器实现 libfprint TOD 驱动。它从传感器内存读取 PSK,建立 TLS-PSK 通道,解码采集图像,并用局部特征描述子在主机端匹配。作者报告可通过 fprintd 和 GNOME 设置录入、验证指纹;详细的逆向研究笔记另行保存,未收入仓库。

vanmoof-certificates 解析 VanMoof SA5 与 Series 6 自行车使用的访问证书。文档描述了 Ed25519 签名及其后的 CBOR 载荷,包括车架与模块序列号、用户身份、权限角色和到期时间;Go 代码负责请求、解析和检查证书。项目称 SA5 验证公钥取自车辆的 BLE 证书。

TOZO Control 是 Linux GTK4 耳机客户端,使用从 TOZO Android 应用逆向得到的 BLE GATT 协议。它向 B611 特征写入命令,从 B612 接收通知,并记录 GET、SET 数据包结构及参数编号。作者报告已在 T10 上测试电量、游戏模式、均衡器和声道平衡功能。

Dell ControlVault 2 fingerprint on Linux 通过五处字节特征补丁,使用户本地取得的 Broadcom 驱动识别较旧的 BCM5880 指纹设备。研究记录了设备的 USB 端点、命令头及驱动检查逻辑。作者报告指纹采集可用,但录入与比对仍不稳定或尚未确认。

MS5 WiFi Microscope 复原 MS5 相机的 UDP 控制与视频协议,并用 Python 客户端将重组后的 JPEG 帧以 MJPEG 提供给浏览器或播放器。文档列出命令头、OpenVideo 端口握手、分片布局和分辨率查询;作者报告在 MS5 实机上获得约 25–30 fps 的 1280×720 画面。

aw5d-linux 在 Linux 上通过 64 字节 USB-HID 输出报告驱动 iBUYPOWER AW5/AW5D 散热器的圆形屏幕。研究笔记记录报告 ID 0x10,以及 CPU 使用率、频率、温度和仪表样式对应的字节位置。作者报告已在一台 3402:0407 设备上运行,其他变体尚未确认。

j2208-band-tools 根据从 FitTrack Health 配套应用恢复的协议,实现 J2208 系列健身手环的直连 BLE 客户端。Python 工具可读取历史健康记录与实时传感器数据、探测 GATT 服务,并将采集结果存入 SQLite。作者在一只 Hume Band V2 上核对了文档所述的 16 字节帧协议。

RND Companion 重建 Cymaforma RND Synth 的 SysEx 控制命令,并提供 C++ 编解码器和管理音色种子的配套插件。协议笔记根据网页应用及一段实机 MIDI 录制数据记录帧格式、种子命令和状态命令;客户端支持直连 MIDI 端口或通过宿主软件路由 MIDI,并保存音色种子库。

BikeStation 是用于 Echelon Connect 健身车的本地 Windows 客户端,基于社区对其专有低功耗蓝牙协议的研究。它读取踏频和阻力数据、查询阻力范围、向电动阻力机构发送控制命令,并在无需厂商云服务的情况下将骑行记录保存在本地。

Better RGB 还原采用 ITE8291 键盘控制器的 Tongfang 笔记本电脑的 USB HID 灯光协议,并实现 Windows 逐键 RGB 控制客户端。作者记录了如何对照厂商软件的抓包与实际灯光变化,识别 HID 功能报告中的命令、输出报告中的颜色缓冲区及各按键的字节偏移。

aiowapy 使用 Noise 传输、Signal 会话和 WABinary 编解码器实现 WhatsApp Multi-Device 的 Python 客户端。协议文档说明帧结构、配对和消息节点,代码还覆盖媒体、群组、应用状态同步及 SQLite 会话存储。作者报告已进行大量离线测试,但尚未完成线上端到端消息投递。

redmi-buds-linux 基于有文档记录的小米版 JieLi RCSP 蓝牙经典模式 RFCOMM 协议,在 Linux 上实现 Redmi 和 Xiaomi 耳机控制功能。作者从配套应用的原生库中恢复挑战响应变换,并用手机与耳机之间的 HCI 抓包核对协议行为。Rust 命令行工具和 GTK 应用提供电量查看、EQ、手势设置及寻找耳机功能;具备 ANC 的机型还可使用降噪控制。

StargateCryo 是通过已记录的逆向串行协议监控和控制 Intel Cryo 散热控制器的 Rust 面板。它在早期开放源码控制器基础上增加遥测、PID 配置、诊断、会话记录和传感器集成。文档中的硬件测试对象是一台改装的 Gen 1 控制器,配有 Gen 2 TEC。

epson-scan-to-mac 根据 Epson 打印机与 Event Manager 的抓包,重建 Mac 上的“扫描到电脑”交互。Python 监听程序响应 SLPv2 发现和 PushScan 请求,再调用 Epson ScanSmart;另有 WSD 监听程序可直接保存 JPEG。协议文档记录了 EPSON L6270 的消息流程和字节细节。

WDA Konfigurator 重建 Microsoft Wireless Display Adapter 的配置客户端。作者从原应用通信流量和应用文件中整理 CGI 请求协议,并开发 Windows 图形界面和命令行工具,用于修改设置及安装官方固件。协议文档覆盖 Gen 1、Gen 1.5 和 Gen 3 的命令、发现、错误码与固件传输。

Ecovacs Deebot X1 Local Control Research 记录了扫地机器人本地运行所需的地图格式、ROS 消息、状态流和控制服务。仓库包含采集的消息定义、查询和调用 ROS 图的脚本,以及独立 Valetudo 分支的部署笔记。作者报告已在 X1 设备上实现地图、清扫和设置控制。

Toshiba e-STUDIO2323AM/2823AM CUPS 驱动根据 Windows GDI 驱动抓包还原 PJL 与 JBIG-1 打印流。CUPS raster filter 和 PPD 为 socket 打印队列生成作业;协议笔记记录作业封装、页面数据块、纸张选项及多份打印行为。作者报告完成了抓包逐字节比对,并在 e-STUDIO2323AM 上出纸。

haylou-rt-tools 根据设备观察和对 Hello Haylou 应用的分析,还原 Haylou RT LS05S 手表的部分交互及 .tbwf 表盘格式。其 Python 工具可查询固件与电量、与手表配对、在配对连接中显示文字提醒、构建和检查表盘,并预览主要文字元素。协议笔记记录了 BLE 服务、帧校验和命令编号。

Lightstick Vibed Studio 通过研究 SMTOWN Android 应用并在实物上检查,重建 Super Junior Ver. 2 应援棒的 BLE 控制协议。本地 FastAPI 控制台可扫描设备、发送颜色与灯效命令,并提供逐字节数据包实验界面;仓库还包含协议规格及待实机验证 BLE 功能的 Android 客户端。

lochinvar-native-modbus 重建 Lochinvar Knight 锅炉 SMART SYSTEM 显示屏 USB PC Connection 端口的只读 Modbus 寄存器映射。项目用探测脚本对照显示屏读数,识别温度、燃烧负荷率、火焰信号和计数器数据,并通过 ESPHome 或 MQTT 将读数发送至 Home Assistant。

Minisforum MS-A1 EC fan / temperature driver 记录嵌入式控制器的传感器指令交互,并实现 Linux hwmon 模块,读取 CPU 和主板温度及三个风扇的转速。调查文档说明 0x6C、0x68 端口 I/O,0xDD 温度指令、0xD5 风扇指令,以及用于调查接口的指令扫描。

NFC PM-Pro 还原 FURUI NFC PM-Pro 读写器的 USB HID 指令交互,并据此实现 Linux 图形界面与命令行工具。协议文档记录报文封装、RC4 加密、CRC-16 和设备指令;客户端支持读写和复制相应的 RFID 卡,可运行字典、nested、darkside 和 hardnested 密钥恢复,并处理转储文件和 NDEF 记录。

MADLIONS 60 Configurator 根据厂商网页应用的通信记录重建 MAD60 键盘的 USB HID 配置命令,并实现 Windows 客户端。设备层生成配置报文并读取键盘设置;界面支持逐键灯光、动画、霍尔参数和配置档案。仓库另含用于研究其他型号的抓取工具。

Open Trofeo LCD 根据已记录的 USB 传输流程,在 Linux 上驱动 Thermalright Trofeo Vision 9.16 英寸显示屏。协议笔记结合项目抓包和既有 trcc-linux 工作,说明初始化、JPEG 帧分块与确认报文。原生 PyUSB 通路为主题面板提供系统、媒体、天气和游戏数据。

↑↓ 移动↵ 打开⌘↵ 新标签页