GLITCH Application

The GLITCH (0x71) application uses the DAC0 output of some GoodFET models to bypass access controls of target devices. It is of no use alone, but rather creates a glitching environment suitable for extracting data from target chips.

The target device should in most cases be connected to the GoodFET as closely as possible, with no decoupling capacitors. The 14-pin connector will be the same as before, except that Pin 10 is used as the supply voltage rather than Pin 2.

Status

The glitching effect is working in the lab, but it is not yet ready for daily use. The glitch module is not compatible with the GoodFET30.

Verbs

Hex#defineDescription
0x10SETUPConfigure I/O pins.
0x20STARTTake the device under control.
0x21STOPRelease the device.
0x80GLITCHAPPGlitch by application ID.
0x81GLITCHVERBGlitch for a verb, then stop.
0x82GLITCHVERBTime a verb.
0x90GLITCHVOLTAGESSet glitching voltages.
0x91GLITCHRATESet glitching cycle count.

START (0x20)

Begin glitching, or resume if paused.

STOP (0x21)

Pause glitching, keeping voltage steady at its present value. Pass an optional 16-bit value as the parameter to stabilize at that value, rather than the present one.

GLITCHAPP (0x80)

Takes a single byte, the application ID to be entered. For supported applications, this will glitch until the target application has been successfully entered and stabilized.

GLITCHVERB (0x81)

Takes an application and verb as bytes, then sends all remaining bytes as parameters to a that app and verb while glitching. Glitching will automatically cease once the execution has completed.

GLITCHVOLTAGES (0x90)

Takes two u16 values as parameters. Glitching will then bounce between the two values. To reduce the target voltage without further jumps, set these to be identical. Executing with no parameters causes the present values to be returned.

GLITCHRATE (0x91)

Takes a u16 value as a parameter, the number of ticks that will occur between glitches.