{
  "added_at": "2026-11-02",
  "additional_evidence_urls": [
    "https://github.com/MatthewKuKanich/CAN_Commander/blob/6079fe05d5a340b445317e89998d78b390e90a62/README.md#L554-L615",
    "https://github.com/MatthewKuKanich/CAN_Commander/blob/6079fe05d5a340b445317e89998d78b390e90a62/CAN_Commander_FlipperZero/can_commander/application.fam",
    "https://github.com/MatthewKuKanich/CAN_Commander/blob/6079fe05d5a340b445317e89998d78b390e90a62/CAN_Commander_FlipperZero/can_commander/can_commander.h",
    "https://github.com/MatthewKuKanich/CAN_Commander/blob/6079fe05d5a340b445317e89998d78b390e90a62/Legacy/README.md",
    "https://github.com/MatthewKuKanich/CAN_Commander/tree/6079fe05d5a340b445317e89998d78b390e90a62/Legacy/CAN_Resources/DBC_Files",
    "https://github.com/MatthewKuKanich/CAN_Commander/blob/6079fe05d5a340b445317e89998d78b390e90a62/Legacy/ArduinoEnvironment/libraries/mcp2515/LICENSE.md"
  ],
  "category": "protocol-analysis",
  "description_en": "A Flipper Zero app and earlier Arduino sketches for reverse engineering CAN bus traffic, chiefly in vehicles. The current app is a UART front end for a CAN Commander ESP32 board: it streams all or filtered frames, lists unique IDs, measures message rates, tracks per-bit and per-byte changes, and runs a two-phase Auto Reverse Engineer that first calibrates out background traffic and then shows which IDs change during an action. It also decodes live signals from DBC-based profiles and reads OBD-II PIDs, the VIN and trouble codes.",
  "description_zh": "用于逆向 CAN 总线流量（主要是车辆总线）的 Flipper Zero 应用及早期 Arduino 程序。当前应用通过 UART 为 CAN Commander ESP32 板提供操作界面：可显示全部或过滤后的帧、列出唯一 ID、测量报文速率、跟踪逐位和逐字节变化，并提供两阶段的自动逆向功能，先校准排除背景流量，再显示执行某个操作时哪些 ID 发生变化。它还能依据基于 DBC 的配置解码实时信号，并读取 OBD-II PID、VIN 和故障码。",
  "entry_url": "https://awesomerea.org/resources/can-commander/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/can-commander/",
  "evidence_url": "https://github.com/MatthewKuKanich/CAN_Commander/blob/6079fe05d5a340b445317e89998d78b390e90a62/README.md",
  "group": "tools",
  "id": "can-commander",
  "json_url": "https://awesomerea.org/resources/can-commander/record.json",
  "kind": "tool",
  "markdown_url": "https://awesomerea.org/resources/can-commander/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/can-commander/index.md",
  "name": "CAN Commander",
  "name_zh": "CAN Commander CAN 总线逆向工具",
  "record_type": "resource",
  "relationship": "foundation",
  "requirements": [
    "The reviewed main commit of 2026-04-25 sets app version v2.3.1 (fap_version 2.3), and there are no GitHub releases. The app needs a CAN Commander board connected to the Flipper's GPIO and running ESP32 firmware v2.2 or newer. That firmware, and the converter from .dbc files to the app's .dbcprof and .injprof profiles, are offered at cancommander.com rather than in this repository.",
    "The README lists limits such as 16 cached DBC signals, 10 tracked changed IDs on the reverse-engineering dashboard and 384 frames per replay recording, and warns that heavy traffic needs filtering and that streaming the Flipper screen during DBC decoding can exhaust RAM. A Wi-Fi TCP command line mirrors the USB command set; dedicated companion clients are described as planned.",
    "Legacy/ keeps the earlier Arduino sketches for Arduino, ESP8266, ESP32 or RP2040 boards with an MCP2515 controller, a bundled MCP2515 library copy with an MIT notice, a JavaScript BLE companion app, OBD-II PID tables and about 80 vehicle DBC files without a stated source or license. The repository has no tests or CI.",
    "The write, Smart Injection, Replay and Clear DTCs tools transmit on the bus and can change vehicle state; use them only on vehicles and networks you own or are authorized to test. There is no license file and GitHub detects none, so reuse terms for the project's own code are not stated."
  ],
  "requirements_zh": [
    "所审阅的 main 提交日期为 2026-04-25，将应用版本设为 v2.3.1（fap_version 2.3），GitHub 上没有发布版本。应用需要通过 Flipper 的 GPIO 连接一块 CAN Commander 板，且板上运行 v2.2 或更新的 ESP32 固件。该固件以及把 .dbc 文件转换为应用所用 .dbcprof 和 .injprof 配置的工具都在 cancommander.com 提供，而不在本仓库中。",
    "README 列出若干限制，例如最多缓存 16 个 DBC 信号、逆向面板最多跟踪 10 个变化的 ID、每次回放录制最多 384 帧，并提醒流量过大时需要过滤，在 DBC 解码时串流 Flipper 屏幕可能耗尽内存。Wi-Fi TCP 命令行与 USB 命令集相同；专用配套客户端仍处于计划阶段。",
    "Legacy/ 保留了早期的 Arduino 程序，适用于搭配 MCP2515 控制器的 Arduino、ESP8266、ESP32 或 RP2040 板，另有一份带 MIT 声明的 MCP2515 库副本、一个 JavaScript 编写的 BLE 配套应用、OBD-II PID 表，以及约 80 个未注明来源或许可证的车辆 DBC 文件。仓库没有测试或 CI。",
    "写帧、Smart Injection、回放和清除故障码等工具会向总线发送数据，可能改变车辆状态，只应在自有或获授权测试的车辆和网络上使用。仓库没有许可证文件，GitHub 也未识别出许可证，因此项目自身代码的复用条款未说明。"
  ],
  "targets": [
    "protocol"
  ],
  "url": "https://github.com/MatthewKuKanich/CAN_Commander",
  "verification": "source-reviewed",
  "verified_at": "2026-10-19"
}
