Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Vehicle Security and Car Hacking
  3. vircar

vircar

Cv1.0.0-m.patch

A CAN-based virtual car simulator written in C for testing vehicle system cyber-attacks without hardware.

GitHubGitHub
157 stars41 forks0 contributors

What is vircar?

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.

Target Audience

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.

Value Proposition

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.

Overview

A virtual car. Because you wouldn't download a car, would you?

Use Cases

Best For

  • Simulating CAN bus networks for automotive security research
  • Testing vehicle cyber-attack techniques without physical hardware
  • Developing and validating CAN node controllers in a virtual environment
  • Educational demonstrations of automotive network vulnerabilities
  • Experimenting with SocketCAN-based vehicle communication protocols
  • Prototyping embedded systems for automotive applications

Not Ideal For

  • Teams needing cross-platform support without Linux dependencies
  • Projects requiring a full vehicle simulation with all CAN nodes implemented out-of-the-box
  • Users looking for a stable, graphical interface without managing private submodules
  • Applications dependent on real-time hardware-in-the-loop testing with physical CAN devices

Pros & Cons

Pros

Native C Implementation

Uses pure native C code for performance and low-level control, aligning with the project's philosophy of clean, open-source collaboration.

SocketCAN Integration

Built on Linux SocketCAN, providing direct access to CAN bus protocols, which is essential for realistic automotive network testing and security experimentation.

Modular Node Architecture

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.

Open-Source Collaboration

Licensed under GNU GPL v3 and encourages contributions, fostering community development for expanding node capabilities, as stated in the project description.

Cons

Incomplete Node Implementation

Only two nodes (door and EHPS) are fully implemented, with several others listed as TODO in nodes.h, limiting functionality for comprehensive vehicle simulations.

Linux-Only Dependence

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.

Underdeveloped Web Interface

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.

Frequently Asked Questions

Quick Stats

Stars157
Forks41
Contributors0
Open Issues2
Last commit5 years ago
CreatedSince 2016

Tags

#car#embedded-systems#can-bus#automotive#linux-kernel#ecu#vehicle-simulation#linux#c-programming#canbus#car-hacking#cyber-security#socketcan

Built With

G
GCC
L
Linux
S
SocketCAN
C
C++

Included in

Vehicle Security and Car Hacking4.2k
Auto-fetched 1 day ago

Related Projects

SocketCAN UtilsSocketCAN Utils

Linux-CAN / SocketCAN user space applications

Stars2,861
Forks785
Last commit19 days ago
CANdevStudioCANdevStudio

Development tool for CAN bus simulation

Stars1,127
Forks281
Last commit10 months ago
dbccdbcc

CAN DBC to C (and CSV, JSON and XML) compiler using the mpc parser combinator library

Stars446
Forks151
Last commit7 months ago
UnlockECUUnlockECU

Free, open-source ECU seed-key unlocking tool.

Stars410
Forks91
Last commit1 month ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub