Package gauge models the global affine gauge ambiguity that shows up when
a byte-oriented obfuscator's state is recovered from output only: the
recovered high byte and multiplier are pinned just up to an affine change
of coordinates (Mg·x + Cg with Mg odd, hence invertible mod 256). The
gauge group is small — 128 odd multipliers × 256 offsets = 32,768
elements — so it can be brute-forced in full, which is what the alias
"gauge" recovery mode does to look for a coordinate frame in which a
clean closed form appears.
type Gauge struct {
Mg uint8// must be odd (invertible mod 256) Cg uint8}
Gauge is the affine change of coordinates (Mg odd, Cg). It acts on the
high byte as Hi → Mg·Hi + Cg and on the multiplier as Mul → Mg·Mul, both
mod 256.