It is possible for almost anyone with a computer and the correct interface hardware to reprogram the engine control unit of many cars using computer software packages. However, reprogramming a car's engine control unit in a way that improves performance without damaging the vehicle may require specialized knowledge.
Almost all cars built since the 1990s incorporate an on-board diagnostics port in the engine that allows diagnostic equipment to interface with the car's ECU. Reprogramming or "flashing" the ECU is performed by connecting a computer to the OBD port with a specialized interface cable. Software such as OpenECU allows users to modify the settings of the ECU and alter the performance of the engine control system.