Hacker News | 📄 原文链接 | 2026-09-14 收录

把电动滑板车拆开逆向,再用 Rust 重写固件

来源:bensimms.moe — bensimms.moe · 161 分 · by vinhnx

📋 概述

作者把自己那台 Egret GT 电动滑板车从硬件到固件拆了个遍,并用 Rust 重写了显示单元的固件。入口是个意外发现:开机时按住键盘上的下键,滑板车会进入固件升级模式。他先从 CAN 总线做嗅探,用 SN65HVD230 收发器配合 Rust 库的异步接口,一边骑一边记录,渐渐标出油门、驾驶模式与电机转速对应的报文;接着拆机找到标着 APM32E103xCxE(STM32F103 的克隆)的 MCU,用 OpenOCD 通过 SWD 端口把 flash 与 RAM 都 dump 出来。RAM 里大量固定指针让 Ghidra 的引用分析容易了很多,他也因此很快定位到主 CAN 处理函数。

🔑 核心要点

💡 金句

我承认这里基本是抄的——把现成实现拿过来,对着两份数据手册改寄存器名。
← 返回 Hacker News 首页