Sinowealth-KB-Tool项目:Glorious Model O鼠标固件逆向分析

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编程接口,位于特定位置的四组焊点:

  1. VCC供电引脚
  2. GND接地引脚
  3. TCK时钟引脚
  4. TMS模式选择引脚

通过专用编程器(如Sinolink配合Prowritter软件)可以确认芯片具体型号为SH68F89,与表面标注的BY8948对应。

技术挑战与解决方案

引导加载程序识别问题

初始工具无法识别该设备,原因是:

  1. 引导加载程序使用了非常规的产品ID(0x1021而非0x1020)
  2. 需要特定的ISP接口参数配置

解决方案是通过修改工具代码,扩展对0x1021产品ID的支持,并正确配置ISP参数:

  • ISP使用页面:0xff00
  • ISP使用值:0x0001
  • ISP索引:0

编程方法限制

研究发现该芯片仅支持JTAG编程模式,不支持SWE(单线调试)模式。这使得使用通用8051调试工具存在困难,需要专用编程设备才能完整访问芯片功能。

同类设备对比

相同硬件方案也出现在其他品牌鼠标中,但存在以下差异:

  1. 引脚封装不同(48pin vs 28pin)
  2. 可能使用不同型号的Sinowealth MCU
  3. 固件功能实现有所区别

这些差异表明Sinowealth可能为不同客户提供了定制化的解决方案,基于相同内核但封装和外围配置不同的MCU。

技术价值

这项研究揭示了:

  1. 游戏鼠标常用的Sinowealth方案技术细节
  2. 不同版本固件的识别方法
  3. 专用编程接口的位置和用法
  4. 工具适配特殊设备的方法

为后续的固件分析、定制和修复提供了技术基础,特别是对于使用相同方案的设备具有参考价值。

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值