学习资源
Nintendo Switch 逆向工程笔记
由 dekuNukem 于 2017 年发起、众多贡献者陆续补充的笔记,记录 Joy-Con、Pro 手柄以及 Switch 主机与底座部分硬件的工作方式,依据来自拆机、逻辑分析仪抓取和数据包记录。各 Markdown 文件涵盖 Joy-Con 电路板测试点与滑轨接口引脚定义、带 CRC-8 校验的有线串口握手、蓝牙 HID 输入与输出报告及其中记录的 32 个子命令、Pro 手柄与充电握把的 USB HID 命令、含摇杆与六轴校准数据的 SPI 闪存布局、IMU 换算公式以及振动编码表。仓库还保存了在滑轨接口上扮演主机或 Joy-Con 的 STM32 测试固件、用于解析蓝牙流量的 Wireshark 解析器,以及笔记所依据的抓取数据。
使用条件与局限
- 审阅提交为 b354f21(2026-08-21)。全部 277 个提交中有 228 个来自 2017 年,其余大多在 2018–2021 年;2026 年的修改补充了主机对摇杆校准数据所做的合理性检查。笔记针对初代 Joy-Con 和 Pro 手柄,列出的最新手柄固件为 3.89,且仍有若干字段标为未知,因此较新的固件和手柄需另行核实。
- 照着笔记操作需要自己的手柄。有线协议部分需要拆开 Joy-Con,将其滑轨接口(1.8 V 逻辑电平)接到逻辑分析仪或单片机上;蓝牙与 USB 部分假定主机能收发原始 HID 报告,示例 C 代码使用 hidapi 风格的调用。仓库不含任何手柄或底座固件:README 称已制作底座固件转储,但并未发布。
- joycon_reader 和 joycon_spoofer 两个项目面向 STM32F072,由 STM32CubeMX 生成并使用 Keil MDK-ARM 构建,构建产物与源码一同提交。nxbt 解析器需要在 Wireshark 源码构建中作为插件编译;另有一个 Lua 脚本用于解析经 USB 抓取的蓝牙流量,几个小型 Python 脚本用于解析抓取数据和计算串口校验和。.logicdata 抓取文件需要能读取该格式的逻辑分析仪软件。
- 蓝牙笔记还记录了 SPI 闪存写入、扇区擦除和固件更新命令,并提醒擦除会作用于整个扇区;各字段含义来自贡献者自己的抓取与测试,本合集未重做验证。
- GitHub 未检测到许可证,仓库也没有许可证文件,因此笔记未声明复用条款;datasheets 文件夹存放第三方芯片数据手册的副本,Lua 解析器注明不附带许可证。README 致谢了众多贡献者。所审文件均未提及 AI 或 REA。
关于此条目
- 类型
- 学习资源
- 类别
- 学习资源
- 关联
- 学习资源
- 目标
- 固件 · 协议
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · dekuNukem/Nintendo_Switch_Reverse_Engineering · 修订 b354f21
- bluetooth_hid_notes.md GitHub · dekuNukem/Nintendo_Switch_Reverse_Engineering · 修订 b354f21
- bluetooth_hid_subcommands_notes.md GitHub · dekuNukem/Nintendo_Switch_Reverse_Engineering · 修订 b354f21
- spi_flash_notes.md GitHub · dekuNukem/Nintendo_Switch_Reverse_Engineering · 修订 b354f21
- USB-HID-Notes.md GitHub · dekuNukem/Nintendo_Switch_Reverse_Engineering · 修订 b354f21
- imu_sensor_notes.md GitHub · dekuNukem/Nintendo_Switch_Reverse_Engineering · 修订 b354f21
- rumble_data_table.md GitHub · dekuNukem/Nintendo_Switch_Reverse_Engineering · 修订 b354f21
- joycon_reader/README.md GitHub · dekuNukem/Nintendo_Switch_Reverse_Engineering · 修订 b354f21
- packet_parse/nxbt/README.md GitHub · dekuNukem/Nintendo_Switch_Reverse_Engineering · 修订 b354f21
同分区更多条目:文档与学习资源
- Android 应用逆向工程 101 · 学习资源
- iOS 应用逆向工程课程 · 学习资源
- tiny-dec 教学用反编译器 · 学习资源
- 逆向工程阅读清单(onethawt) · 学习资源
- Decomp Academy 一致性反编译课程 · 学习资源
- OWASP 固件安全测试方法论(FSTM) · 学习资源