Flashhack is a free tool for reprogramming certain GM ECMs through the diagnostic port.  It will allow you to tune your engine quickly and safely with a minimum chance of failure.

This tool replaces EEHack’s built in flash tool for LT1 engines and is intended to support many other ECMs in the future.

Supported ECMs/Vehicles

LT1 (EE) 1994-1995

LT1 and L99 engines.  16188051, 16181333.  Well supported and tested on all vehicles including corvettes.  Can handle nearly all possible failure scenarios without bricking, usually handles ECM power failure as well.   Also includes bin format converter tool.

V6 P66 1993-1995

3100 and 3.4L engines.  Should work with 16172693, 16184164, 16184737, 16196397. Should recover from failure as long as you keep the ECM powered up, will not tolerate ECM power failure.

Corvette CCM 1994-1995

In testing but working well.  Reprograms the configuration EEPROM on Corvette CCMs.  Requires physically unlocking the ECM, instructions included.


The current version should run well on Windows 7, Windows 10, or Linux.

This program doesn’t have an installer.  Windows users should just extract the zip file somewhere and run flashhack.exe

If you are updating the program, you should probably delete the old folder and completely replace it with the new version to be safe.  Please check back for updates frequently.  The full source code is included.

This is the current “Stable” version which includes 32 bit windows binaries and libraries.  It’s a bit out of date but works well.

Download “flashhack (for Windows, including source code)”

flashhack_1.2.zip – Downloaded 38836 times – 12.64 MB

This is the current “Beta” version which includes 64 bit windows binaries and libraries, and new functionality that can write arbitrary data to the free space on the onboard processor EEPROM, as well as other small improvements.  It should be safe to use, but obviously at your own risk.

Download “Flashhack Beta 64 Bit”

flashhack_1.6_beta.zip – Downloaded 8440 times – 11.17 MB


Flashhack’s main goal is maximum stability and speed, and seamless error recovery, making it very unlikely that you could permanently brick an (old and rare) ECM due to a malfunction.

I’ve tested the following failure scenarios many times with an LT1 and recovered the ECM with no issues:

  • Cut power to the programmer (laptop) at any point in a flash
  • Unplug the USB cable from the programmer at any point in the flash
  • Unplug the ALDL cable from the vehicle at any point in the flash

The worst case if something goes wrong should be restarting the program and writing again.  The program is designed so there are no special procedures for recovering from a problem, you can simply click the flash write button as normal and it should recover.

Flashhack is designed for modern computers.  Unlike other programs that make you afraid to touch anything while reprogramming, you can go ahead and browse the web or play a game while your tune is uploading.

Certain platforms have more safety features in place, for example the LT1 has a special “recovery rom” that is installed to allow the ECM to boot seamlessly even after a total power failure or major malfunction.  There is only an approx. 7 second window during which this recovery rom is not yet functional, making bricking an LT1 incredibly unlikely.

Programming speed is the biggest issue in most reflash programs, as tuning often requires many attempts to test changes and make the best decisions.  These old diagnostic ports have fairly slow communication speed, and flashing can take quite a long time, especially with a poor interface.  Luckily we have several hacks and procedures to us to speed up the reflash operation.  The largest speed increases involve avoiding writing in regions that do not have to be written.  When a flash chip is erased, every byte is set to FF, so areas intended to be FF are already in the correct state after an erase.  Flashhack abuses this whenever possible, even going as far as detecting when certain tables are used and skipping them when they are not.

In the case of multi-chip ECMs, we use methods to determine which chips need to be changed by remembering the data from your last successful flash, which can provide a massive overall speed (and safety) increase.


What do I do if the flash procedure fails?

What does it mean when it says the recovery rom can’t be installed?  What do I do?