工具
RETracker Polyend Tracker 逆向工程框架
面向 Polyend Tracker 音乐设备的 Python 逆向工程框架:为厂商原版固件打补丁,用自己的命令处理程序替换一个未使用的 USB RAWHID 处理程序。刷入打过补丁的固件后,主机命令行工具即可按 ARM 或 Thumb 模式读取、十六进制转储和反汇编设备内存,还能写入内存、在指定地址执行代码,汇编并运行称为“Polyp”的位置无关模块(如在打击垫上显示滚动文字和屏幕淡入淡出),以及通过 USB 向 SD 卡复制文件。其 fwtool.py 还可解包和重新打包 Intel HEX 格式的 .ptf 固件镜像,便于载入反汇编器。
- 目标
- 固件
- 类别
- 固件工具
- 关联
- 基础工具
- 来源复核于
使用条件与局限
- 仅支持 Polyend Tracker 1.5.0 固件;README 称已有一个未公开的 1.6.0 移植版本,因 Polyend 移除了补丁所依赖的代码而没有发布。所审阅的 main 分支提交(2024-06-19)只是发布讨论区公告,最后一次代码改动在 2022 年,项目没有发布版本或标签。
- 打补丁需要用户自备原版 PolyendTracker_1.5.0.ptf 固件镜像,仓库不提供该文件;打过补丁的镜像通过设备正常的固件更新菜单刷入。README 提醒刷入补丁镜像时更新界面的表现会有所不同,建议事先备份 SD 卡,并指出可通过 Tracker 的紧急更新流程恢复。
- 需要 Python 3 及 capstone、keystone-engine、pyusb、intelhex 和 simple-hexdump;主机通过 USB 厂商 ID 和产品 ID 查找设备。README 的逆向笔记认为该硬件是与 Teensy 3.6 同类的 MK66FX 微控制器,给出了固件加载地址和用于运行 Polyp 的 RAM 地址,并称 IDA Pro(可能还有 Ghidra 或 Binary Ninja)可直接载入 Intel HEX 镜像。
- 项目没有测试或 CI。其行为由 README 示例和链接的演示视频记录,本次未刷写固件,也未运行任何代码。
- 仓库中没有许可证文件,GitHub 也未检测到许可证,因此复用条款未予说明;源码公开并不等于授予复用权。Polyend 固件仍归其权利人所有,README 的免责声明指出设备损坏风险由用户自行承担。所审来源未确立与 REA 的关联。
关于此条目
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · patois/RETracker · 修订 f6698f6
- DEPENDENCIES.md GitHub · patois/RETracker · 修订 f6698f6
- fwtool.py GitHub · patois/RETracker · 修订 f6698f6
- retracker.py GitHub · patois/RETracker · 修订 f6698f6
- tracker/firmware.py GitHub · patois/RETracker · 修订 f6698f6
- tracker/tracker.py GitHub · patois/RETracker · 修订 f6698f6
- polyp GitHub · patois/RETracker · 修订 f6698f6