A CAN-based virtual car simulator written in C for testing vehicle system cyber-attacks without hardware.
virtualcar is a CAN-based virtual car simulator written in C that mimics vehicle systems by processing CAN bus signals. It allows developers and security researchers to test automotive cyber-attacks and experiment with vehicle network protocols without needing physical hardware. The tool parses, analyzes, and transmits signals between virtual nodes like doors and EHPS controllers.
Automotive security researchers, embedded systems developers, and car hacking enthusiasts who need a software-based environment to test CAN bus vulnerabilities and vehicle network interactions.
It provides a pure native C implementation with modular node architecture, enabling realistic vehicle simulation for security testing without expensive hardware. Its integration with SocketCAN and extensible design make it a practical tool for experimenting with automotive cyber-attacks in a controlled environment.
A virtual car. Because you wouldn't download a car, would you?
Uses pure native C code for performance and low-level control, aligning with the project's philosophy of clean, open-source collaboration.
Built on Linux SocketCAN, providing direct access to CAN bus protocols, which is essential for realistic automotive network testing and security experimentation.
Designed with extensible nodes for specific vehicle functions, allowing easy addition of new controllers following RTR or Accept/Destruct operations, as mentioned in the README.
Licensed under GNU GPL v3 and encourages contributions, fostering community development for expanding node capabilities, as stated in the project description.
Only two nodes (door and EHPS) are fully implemented, with several others listed as TODO in nodes.h, limiting functionality for comprehensive vehicle simulations.
Requires a Linux-based system with specific kernel modules and can-utils, and the MacOS port is still in progress, restricting accessibility for users on other operating systems.
The virtualcar-web component is in a private repository and under development, lacking a reliable GUI for managing the daemon without additional setup and submodule management.
Linux-CAN / SocketCAN user space applications
Development tool for CAN bus simulation
CAN DBC to C (and CSV, JSON and XML) compiler using the mpc parser combinator library
Free, open-source ECU seed-key unlocking tool.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.