Assuming you have an me7 ecu:
1. Buy a kkl interface (galletto, older ross tech cable, newer ross tech cable-if you choose this, open vcds, go to options, and un-mark the box that says "boot in intelligent mode"
2. Download nefmoto flasher/logger, install
3. Install cable drivers, and ensure nefmoto detects your cable.
4. Connect, select the appropriate memory layout, and select "Read full flash". When prompted, select the directory and name to save the flash as. (have an external power supply connected to your car, the software likes steady voltage. A trickle charger works well)
5. Open the .bin file (once saved) with tunerpro, or winols. Find a suitable definition file (just what it sounds like, tells you where all the important maps and bits are located) and make the desired changes.
6!!!! Before you upload the changed file to the ecu, make sure to update the checksums. I'm not going to go into detail on these (search) but if you upload a file with uncorrected checksums the car may start initially, but once you shut it off you're done for. Again, use a battery charger.
Before attempting to flash anything, backup your eeprom if your car has an immobilizer. Get a galletto cable so you
have a way to recover a bricked/failed flash ecu. No matter how careful you are, this will eventually happen.
Read this!
http://s4wiki.com/wiki/Tuning