[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-92723":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":15,"stars30d":16,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":17,"rankGlobal":9,"rankLanguage":9,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":21,"hasPages":19,"topics":22,"createdAt":9,"pushedAt":9,"updatedAt":23,"readmeContent":24,"aiSummary":25,"trendingCount":15,"starSnapshotCount":15,"syncStatus":26,"lastSyncTime":27,"discoverSource":28},92723,"can-bus-reverse-engineering-skills","CSS-Electronics\u002Fcan-bus-reverse-engineering-skills","CSS-Electronics","Claude Code skills for reverse-engineering CAN bus signals into DBC files using the CANsub CAN bus interface",null,"Python",85,26,3,1,0,27,46.99,"MIT License",false,"master",true,[],"2026-07-22 04:02:06","# CAN bus reverse engineering skills\n\nThis repo contains [Claude Code](https:\u002F\u002Fwww.claude.com\u002Fclaude-code) skills that help you reverse engineer raw CAN bus data into decoding rules stored as DBC files. \n\nSpecifically, the skills help you leverage AI\u002FLLM tools like Claude Code and [python-can](https:\u002F\u002Fwww.csselectronics.com\u002Fpages\u002Fpython-can-usb-serial-api-stream) scripts to identify which CAN ID and data bits encode a\nreal-world value (speed, RPM, state of charge, ...), work out its start bit,\nlength, endianness, scale and offset, and verify the result. \n\nThe skills assume that you are using a [CANsub](https:\u002F\u002Fwww.csselectronics.com\u002Fproducts\u002Fcan-fd-usb-interface-ethernet-cansub-2) CAN bus interface from [CSS Electronics](https:\u002F\u002Fwww.csselectronics.com) to either record CSV log files via e.g. the [webCAN](https:\u002F\u002Fwww.csselectronics.com\u002Fpages\u002Fwebcan-can-bus-streaming-software-browser) tool, or stream data in real-time via USB\u002FEthernet.\n\nThe repo bundles three skills (auto-discovered when you open the folder in Claude\nCode):\n\n- **cansub-reverse-engineering** - the workflow\n- **combine-dbc** - merge per-signal DBCs into one\n- **cansub-knowledge** - CANsub specs \u002F API reference\n\n\u003Cbr>\n\n**Note:** This is not a 'polished tool', but an illustration of how you can use the CANsub + Python + AI for CAN sniffing\n\n**Note:** We strongly recommend reading our related article [CAN bus reverse engineering with AI](https:\u002F\u002Fwww.csselectronics.com\u002Fpages\u002Fcan-bus-reverse-engineering-ai-llm-claude).\n\n[![Watch the CAN bus reverse engineering demo](docs\u002Fvision-reference-demo.png)](https:\u002F\u002Fcdn.shopify.com\u002Fvideos\u002Fc\u002Fo\u002Fv\u002Fe384c5a75b7943e681dcbad2d10e230a.mp4)\n\n\n## Recommended hardware\n\n- A [CANsub.2](https:\u002F\u002Fwww.csselectronics.com\u002Fproducts\u002Fcan-fd-usb-interface-ethernet-cansub-2) CAN FD interface with USB\u002FEthernet\n- An [OBD2-DB9 adapter cable](https:\u002F\u002Fwww.csselectronics.com\u002Fproducts\u002Fobd2-db9-adapter-cable) (and optionally a [contactless adapter](https:\u002F\u002Fwww.csselectronics.com\u002Fproducts\u002Fcontactless-can-bus-reader-adapter))\n\n\u003Cimg src=\"https:\u002F\u002Fwww.csselectronics.com\u002Fcdn\u002Fshop\u002Ffiles\u002FCANsub-can-bus-interface-stream-real-time-webcan.png\" alt=\"CANsub CAN bus interface streaming real-time in webCAN\" width=\"25%\"> \u003Cimg src=\"https:\u002F\u002Fwww.csselectronics.com\u002Fcdn\u002Fshop\u002Fproducts\u002FOBD2-DB9-Adapter-Cable-CAN-Bus.jpg?v=1625644186\" alt=\"OBD2-DB9 adapter cable\" width=\"20%\">\n\n## 1. Get the code and install dependencies\n\n1. **Clone the repo** (or download the ZIP from GitHub and extract it)\n2. **Install Python** - [Python 3.10+](https:\u002F\u002Fwww.python.org\u002Fdownloads\u002F); on Windows, tick **\"Add python.exe to PATH\"**. Verify: `python --version`\n3. **Install the dependencies** into a local virtual environment (`.venv`) so your system Python stays untouched:\n   - **Windows:** double-click **`install.bat`** (or run `install.bat` in a terminal)\n   - **macOS \u002F Linux:** `python3 -m venv .venv && .venv\u002Fbin\u002Fpip install -r requirements.txt`\n\n## 2. Set up Claude Code\n\nThe below is our recommended setup for new Claude Code users:\n\n1. **Get a [Claude subscription](https:\u002F\u002Fclaude.ai)** - Claude Code is included with [Claude Pro \u002F Max](https:\u002F\u002Fwww.claude.com\u002Fclaude-code) (or API billing)\n2. **Install [Visual Studio Code](https:\u002F\u002Fcode.visualstudio.com)**\n3. **Install the Claude Code extension** - Extensions panel (`Ctrl+Shift+X`), search **\"Claude Code\"**, install, sign in\n4. **Open this folder** - *File → Open Folder…* → the cloned repo; skills in `.claude\u002Fskills\u002F` load automatically\n\n## 3. Connect the hardware\n\nPlug the CANsub into your computer (USB) and into the vehicle's OBD2 port using the\nOBD2-DB9 adapter cable. Start the engine (or set the ignition on) so there's live\nCAN traffic to capture. We recommend verifying via [webCAN](https:\u002F\u002Fwww.csselectronics.com\u002Fpages\u002Fwebcan-can-bus-streaming-software-browser) that you can stream raw proprietary CAN bus data before proceeding. If not, consider our [contactless CAN reader](https:\u002F\u002Fwww.csselectronics.com\u002Fproducts\u002Fcontactless-can-bus-reader-adapter). \n\n## Try it\n\nOpen the Claude Code panel in VS Code and ask, for example:\n\n> I've connected my CANsub to my car via the OBD2-DB9 cable. Help me check if there is live proprietary CAN data available - and then help me reverse engineer my door locks\n\n> Reverse engineer Speed and RPM from the proprietary CAN data found in Mercedes-E350-2010-obd2-can.csv (contains OBD2 reference data).\n\n> I have a CANedge log with proprietary vehicle CAN data plus the CANedge's internal GPS\u002FIMU on CAN9 (or a CANmod.gps GPS-to-CAN module). Use the GPS speed as the reference to reverse engineer the proprietary vehicle speed\n\n> Help me reverse engineer Speed from my Opel Astra. I have put the raw CAN data in opel\u002F along with a video of the speed from my car's dashboard.\n\n> I have a gauge-to-CAN module with 8 gauges connected to my CANsub - help me reverse engineer the 1st gauge position signal.\n\n\n**Note:** You can use our [CANsub CAN+OBD2 sample data](https:\u002F\u002Fwww.csselectronics.com\u002Fpages\u002Fai-can-bus-sniffer-data-pack) to test the skill\n\n\n## Output structure and combining DBCs\n\nEach confirmed signal is saved under `decoding-output\u002F`, grouped by application\n(the system under test) and signal:\n\n```\ndecoding-output\u002F\n  \u003Capplication>\u002F                         e.g. mercedes-e350\u002F\n    \u003Csignal>\u002F\u003Csignal>.dbc                e.g. engine-rpm\u002Fengine-rpm.dbc   (one DBC per signal)\n    \u003Csignal>\u002F\u003Csignal>.png                the verify plot (decoded vs reference)\n    \u003Csignal>\u002Fanalysis-plots\u002F             survey \u002F correlate \u002F bit-search \u002F fit plots\n    \u003Capplication>.dbc                     the combined DBC across all signals\n```\n\nIf you've decoded several signals, ask Claude to merge them into one\napplication DBC (using the **combine-dbc** skill):\n\n> Combine the decoded DBCs for mercedes-e350 into a single DBC.\n\nThis produces `decoding-output\u002F\u003Capplication>\u002F\u003Capplication>.dbc`. You can load\nthis combined DBC in [webCAN](https:\u002F\u002Fwww.csselectronics.com\u002Fpages\u002Fwebcan-can-bus-streaming-software-browser)\nand stream live from your CANsub to see your reverse-engineered signals decoded in\nreal time - a final, live confirmation of the results.\n\n## License and attribution\n\nThese skills are fully open source under the [MIT License](LICENSE) - you are free to use, modify and distribute them in your own projects.\n\nIf you use them in your projects, videos or blog posts, we'd appreciate a reference to our article: [CAN bus reverse engineering with AI](https:\u002F\u002Fwww.csselectronics.com\u002Fpages\u002Fcan-bus-reverse-engineering-ai-llm-claude).\n","这是一个面向CAN总线逆向工程的AI辅助工作流项目，利用Claude Code等LLM工具，结合CANsub硬件接口和Python脚本，将原始CAN报文自动解析为标准DBC文件。核心功能包括信号识别（ID\u002F位域\u002F起始位\u002F长度\u002F字节序）、物理值映射（缩放因子、偏移量）及结果验证；技术特点为轻量级技能集成、依赖python-can库、适配CANsub硬件的日志采集与实时流式数据。适用于汽车电子调试、ECU通信协议分析、车载诊断（OBD-II）逆向等嵌入式系统开发场景。",2,"2026-07-10 02:30:17","CREATED_QUERY"]