Flashhack

Introduction

Flashhack is a free tool for reflashing older GM ECMs through the diagnostic port, allowing you to tune your engine quickly and safely with a minimum chance of failure.

It is also intended to become a bit of a swiss army knife for lots of other useful things we can do with bin files and the bus.

This is intended to replace and surpass EEHack’s built-in flash tool and then expand to other vehicles.  It’s open source and will run on Windows 7, Windows 10, and Linux.

Supported ECMs/Vehicles

LT1 1994-1995

16188051, 16181333.  Well supported and tested on all vehicles including corvettes.  Can handle nearly all possible failure scenarios without bricking.   Also includes bin format converter tool.

V6 P66 1993-1995

3100 and 3.4L engines.  16172693, 16184164, 16184737, 16196397.  Has a warning that it is for bench test only, but people have tested it in-vehicle and so far no problems have come up.  It is very similar to the LT1 ECM so I would expect no problems.  Does not include hardware recovery logic but should recover from failure as long as you keep the ECM powered up.

Features

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 with no failures:

  • 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.

I’ve designed flashhack in a way that allow you to use your computer for other things while the reflash is happening, you should be able to go ahead and browse the web until it’s complete.

For certain ECMs we have more advanced recovery features, for example the LT1 has a special “recovery rom” that’s written early on in the flash procedure, that will allow the ECM to boot seamlessly even after an ECM power failure during a reflash.  There is only an approx. 7 second window during which this recovery rom is not yet functional, making bricking this ecm incredibly unlikely.

Speed is a fairly large issue with these older busses.  The diagnostic port has fairly slow communication speed, and flashing can take quite a long time, especially with a poor interface.  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, it is set to FF, so areas intended to be FF are already in the correct state after an erase.  If we go a step further and fill completely unused regions of the bin with FF, we can skip even larger segments.  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.

Downloads

This download doesn’t have an installer.  Windows users can just run flashhack.exe

If you are updating, you should delete the old folder and completely replace it with the new version to be safe.

Download “flashhack beta” flashhack_b0.6.3.zip – Downloaded 462 times – 12 MB

The full source code is included.  If you want to compile it yourself it should run on any platform that supports QT QSerialPort, such as Linux, FreeBSD, or MacOS X.

FAQ

Q: Who do I complain at if this cooks my ECM because of a glitch in the recovery?

A: You can let me know.  These cars and their circuitry are really old, so anything can happen.  I will not compensate you as this isn’t a commercial outfit and there’s no warranty, however I’d like to know what went wrong.