对我的电动滑板车进行逆向工程并使用 Rust 重写固件
Reverse engineering my e-scooter and rewriting the firmware in Rust

原始链接: https://bensimms.moe/reverse-engineering-scooter/

此数据日志包含一系列 CAN 总线通信帧。日志反映了一个重复的循环,其中包含标准操作信号(ID 1024、1025、1028、513、515 和 528),以及通过 ID 495 传输的诊断或识别数据,该 ID 输出字符串(例如 "L.D.CR.S807.C.2.1" 和 "EG.2.2.1")。 主要观察结果包括: * **循环流量:** ID 1024、1025 和 1028 显示出连续的心跳式消息。 * **初始化/握手:** 帧 494 和 495 似乎用于辅助握手或版本信息交换。 * **系统状态:** ID 768 有周期性的更新记录([0, 90, 100, 90, 100...])。 * **扩展帧:** 在初始化序列之后,日志以引入包含特定负载数据的扩展 ID(1856、1857、1861)结束。 总体而言,该日志呈现了一个典型的汽车或工业控制网络过程,涉及设备发现、状态报告和持续的周期性通信。

抱歉。
相关文章

原文

CAN_FRAME:1024,false,[0, 40, 87, 4, 0, 0, 0, 0]

CAN_FRAME:1025,false,[74, bd, 0, 0, 16, c, 0, 0]

CAN_FRAME:1028,false,[20, 4e, 0, 0, 1, 0, b9, b]

CAN_FRAME:1024,false,[0, 40, 87, 4, 0, 0, 0, 0]

CAN_FRAME:1025,false,[74, bd, 0, 0, 16, c, 0, 0]

CAN_FRAME:1028,false,[20, 4e, 0, 0, 1, 0, b9, b]

CAN_FRAME:513,false,[0, 0, 0, 0, 0]

CAN_FRAME:515,false,[0, 0, 0, 0, 0, 0, 21, 0]

CAN_FRAME:528,false,[0, 0, 0, 0, 0, 0, 0, 0]

CAN_FRAME:1024,false,[0, 40, 87, 4, 0, 0, 0, 0]

CAN_FRAME:1025,false,[73, bd, 0, 0, 3, c, 0, 0]

CAN_FRAME:1028,false,[20, 4e, 0, 0, 1, 0, b9, b]

CAN_FRAME:513,false,[0, 0, 0, 0, 0]

CAN_FRAME:515,false,[0, 0, 0, 0, 0, 0, 21, 0]

CAN_FRAME:528,false,[0, 0, 0, 0, 0, 0, 0, 0]

CAN_FRAME:1024,false,[0, 40, 87, 4, 0, 0, 0, 0]

CAN_FRAME:1025,false,[73, bd, 0, 0, 3, c, 0, 0]

CAN_FRAME:1028,false,[20, 4e, 0, 0, 1, 0, b9, b]

CAN_FRAME:513,false,[0, 0, 0, 0, 0]

CAN_FRAME:515,false,[0, 0, 0, 0, 0, 0, 21, 0]

CAN_FRAME:528,false,[0, 0, 0, 0, 0, 0, 0, 0]

CAN_FRAME:1024,false,[0, 40, 87, 4, 0, 0, 0, 0]

CAN_FRAME:1025,false,[72, bd, 0, 0, ef, b, 0, 0]

CAN_FRAME:1028,false,[20, 4e, 0, 0, 1, 0, b9, b]

CAN_FRAME:513,false,[0, 0, 0, 0, 0]

CAN_FRAME:515,false,[0, 0, 0, 0, 0, 0, 21, 0]

CAN_FRAME:528,false,[0, 0, 0, 0, 0, 0, 0, 0]

CAN_FRAME:1024,false,[0, 40, 87, 4, 0, 0, 0, 0]

CAN_FRAME:1025,false,[72, bd, 0, 0, ef, b, 0, 0]

CAN_FRAME:1028,false,[20, 4e, 0, 0, 1, 0, b9, b]

CAN_FRAME:513,false,[0, 0, 0, 0, 0]

CAN_FRAME:515,false,[0, 0, 0, 0, 0, 0, 21, 0]

CAN_FRAME:528,false,[0, 0, 0, 0, 0, 0, 0, 0]

CAN_FRAME:1024,false,[0, 40, 87, 4, 0, 0, 0, 0]

CAN_FRAME:1025,false,[74, bd, 0, 0, e9, b, 0, 0]

CAN_FRAME:1028,false,[20, 4e, 0, 0, 1, 0, b9, b]

CAN_FRAME:513,false,[0, 0, 0, 0, 0]

CAN_FRAME:515,false,[0, 0, 0, 0, 0, 0, 21, 0]

CAN_FRAME:528,false,[0, 0, 0, 0, 0, 0, 0, 0]

CAN_FRAME:1024,false,[0, 40, 87, 4, 0, 0, 0, 0]

CAN_FRAME:1025,false,[74, bd, 0, 0, e9, b, 0, 0]

CAN_FRAME:1028,false,[20, 4e, 0, 0, 1, 0, b9, b]

CAN_FRAME:774,false,[55, 0, 0, 0, 2, 0, 0, 0]

CAN_FRAME:513,false,[0, 0, 0, 0, 0]

CAN_FRAME:515,false,[0, 0, 0, 0, 0, 0, 21, 0]

CAN_FRAME:528,false,[0, 0, 0, 0, 0, 0, 0, 0]

CAN_FRAME:768,false,[0, 5a, 64, 5a, 64, 0, 0, 0]

CAN_FRAME:494,false,[60, 0, 0, 0, 0, 0, 0, 0]

CAN_FRAME:495,false,[4c, 44, 2e, 43, 52, 2e, 53, 38]

CAN_FRAME:495,false,[30, 37, 2e, 43, 2e, 32, 2e, 31]

CAN_FRAME:495,false,[45, 47, 2e, 32, 2e, 32, 2e, 31]

CAN_FRAME:495,false,[31, 0, 0, 0, 0, 0, 0, 0]

CAN_FRAME:495,false,[0, 0, 0, 0, 0, 0, 0, 0]

CAN_FRAME:495,false,[0, 0, 0, 0, 0, 0, 0, 0]

CAN_FRAME:495,false,[0, 0, 0, 0, 0, 0, 0, 0]

CAN_FRAME:495,false,[0, 0, 0, 0, 0, 0, 0, 0]

CAN_FRAME:495,false,[0, 0, 0, 0, 0, 0, 0, 0]

CAN_FRAME:768,false,[0, 5a, 64, 5a, 64, 0, 0, 0]

CAN_FRAME:495,false,[0, 0, 0, 0, 0, 0, 0, 0]

CAN_FRAME:495,false,[0, 0, 0, 0, 0, 0, 0, 0]

CAN_FRAME:495,false,[0, 0, 0, 0, 0, 0, 0, 0]

CAN_FRAME:495,false,[0, 0, 0, 0, 0, 0, 0, 0]

CAN_FRAME:1856,true,[4b, 0]

CAN_FRAME:1024,false,[0, 40, 87, 4, 0, 0, 0, 0]

CAN_FRAME:1025,false,[74, bd, 0, 0, e4, b, 0, 0]

CAN_FRAME:1857,true,[4b, 0, 0, 0, 69, 99, 52, 42]

CAN_FRAME:1028,false,[20, 4e, 0, 0, 1, 0, b9, b]

CAN_FRAME:1861,true,[1, 15, 57, 20, 50, 59, 54, 34]

CAN_FRAME:774,false,[54, 0, 0, 0, 2, 0, 0, 0]

CAN_FRAME:513,false,[0, 0, 0, 0, 2]

CAN_FRAME:515,false,[0, 0, 0, 0, 0, 0, ff, 1f]

CAN_FRAME:528,false,[0, 0, 0, 0, 0, 0, 0, 0]

CAN_FRAME:768,false,[0, 5a, 64, 5a, 64, 0, 0, 0]

联系我们 contact @ memedata.com