Sinowealth-KB-Tool项目:Glorious Model O鼠标固件逆向分析
设备概述
Glorious Model O是一款采用Sinowealth主控芯片的游戏鼠标,其硬件方案在多个品牌鼠标中均有应用。通过逆向工程发现,该设备使用BY8948芯片(实际为SH68F89 MCU),具有48引脚封装,支持通过专用接口进行固件读写操作。
技术细节分析
硬件识别特征
设备在正常工作模式下呈现以下特征:
- 供应商ID:0x258a
- 产品ID:0x0036
- 固件大小:61440字节
- 引导加载程序大小:4096字节
- 页面大小:2048字节
进入引导加载程序模式后,设备枚举为Novatek Microelectronics Corp.设备,产品ID为0x1021(不同于常见的0x1020),这是该型号鼠标的一个特殊之处。
固件提取方法
通过修改后的sinowealth-kb-tool工具可以成功提取固件和引导加载程序:
- 固件MD5校验值:a16ac7d66d970b0c574870eaf7ba8302
- 引导加载程序MD5校验值:46459c31e58194fa076b8ce8fb1f3eaa
不同版本的固件可能存在差异,例如未升级过的设备固件MD5为1dba8eb95a0e363900799cdfee0d76ff,表明厂商可能发布过多个固件版本。
编程接口发现
该鼠标PCB上留有明显的JTAG编程接口,位于特定位置的四组焊点:
- VCC供电引脚
- GND接地引脚
- TCK时钟引脚
- TMS模式选择引脚
通过专用编程器(如Sinolink配合Prowritter软件)可以确认芯片具体型号为SH68F89,与表面标注的BY8948对应。
技术挑战与解决方案
引导加载程序识别问题
初始工具无法识别该设备,原因是:
- 引导加载程序使用了非常规的产品ID(0x1021而非0x1020)
- 需要特定的ISP接口参数配置
解决方案是通过修改工具代码,扩展对0x1021产品ID的支持,并正确配置ISP参数:
- ISP使用页面:0xff00
- ISP使用值:0x0001
- ISP索引:0
编程方法限制
研究发现该芯片仅支持JTAG编程模式,不支持SWE(单线调试)模式。这使得使用通用8051调试工具存在困难,需要专用编程设备才能完整访问芯片功能。
同类设备对比
相同硬件方案也出现在其他品牌鼠标中,但存在以下差异:
- 引脚封装不同(48pin vs 28pin)
- 可能使用不同型号的Sinowealth MCU
- 固件功能实现有所区别
这些差异表明Sinowealth可能为不同客户提供了定制化的解决方案,基于相同内核但封装和外围配置不同的MCU。
技术价值
这项研究揭示了:
- 游戏鼠标常用的Sinowealth方案技术细节
- 不同版本固件的识别方法
- 专用编程接口的位置和用法
- 工具适配特殊设备的方法
为后续的固件分析、定制和修复提供了技术基础,特别是对于使用相同方案的设备具有参考价值。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



