To the layperson, a car is a primarily mechanical system—an internal combustion engine linked to four wheels. Yet modern vehicles are highly computerized, with dozens of sensors and MCUs (collectively known as electronic control units, or ECUs) controlling every aspect of the car from engine timing to infotainment systems. These ECUs pass vast amounts of unsecured information over a mandated intra-vehicle network: the CAN bus. Accessing the network via the standardized OBD-II port, we were able to gain control over numerous safety-critical systems, including the dashboard display and door locks. We present our open-source software package, part of the GoodFET framework, as well as a methodology for reverse-engineering proprietary automotive CAN implementations.