用途:面向汽车电子逆向,处理 CAN 总线流量、车载设备(车机、T-Box、IVI、ECU 升级包)、OBD-II/UDS 诊断会话、ECU 固件提取,以及 AUTOSAR Classic/Adaptive 软件分析。仅限自有或获授权车辆与测试台架,实验室建议先用 vcan 虚拟总线。
主要能力:用 can-utils(candump/cansend/cansniffer/canbusload)抓包、按 ID 聚类与统计;用 socketcan 建立 vcan 虚拟总线或接入 gs_usb 系 USB-CAN 适配器;用 Wireshark/tshark 解析 CAN、ISO-TP、UDS;用 python-can、cantools、scapy 脚本化解析;用 python-obd、udsoncan 做 OBD-II/UDS 诊断;通过 UDS 0x34/0x36/0x37 下载流程或 0x23 读内存获取固件,再转固件解包流程。
必要用法:Linux 下安装 can-utils(apt install can-utils 等),加载模块 modprobe can vcan can-isotp,创建虚拟总线 ip link add dev vcan0 type vcan 并 ip link set up vcan0;USB-CAN 用 modprobe gs_usb 后 ip link set can0 up type can bitrate 500000。抓包示例:candump -l can0、candump can0,7E0:7FF。UDS 需先配置 data_identifiers 的 DID→codec 映射,否则 udsoncan 在发送前抛配置错误。
适用场景:CAN 报文与信号解析、诊断会话分析、ECU 固件提取、AUTOSAR Classic 执行图(runnable 由 RTEEvent 经 RTE 映射到 OS Task)与 Adaptive 清单生命周期分析。
限制:CAN 无源目地址,只有仲裁 ID;信号位打包需先定 Intel/Motorola 字节序;波特率必须与总线一致;seed-key 安全访问算法厂商私有,不盲目爆破;固件可能带签名/加密层。macOS/Windows 无 SocketCAN 官方支持,需 WSL2/虚拟机。具体收费、价格与平台支持细节暂未提供。