# auCDtect 0.8.2 reverse notes Binary: - File: `auCDtect.exe` - SHA256: `efe47eec21c33431e7fceea4b171b8a15a729e3adcda967ee0fc165a6a41adba` - Format: PE32 console, i386 - Build timestamp: 2004-09-24 05:29:58 - Version string: `auCDtect: CD records authenticity detector, version 0.8.2` Useful functions found with radare2: - `0x4014a0`: prints verbose per-track metrics and final per-track conclusion. - `0x401650`: main CLI flow, option parsing, per-file processing. - `0x403ef0`: summary classifier for a set of tracks. - `0x402630`: large analysis function called during per-file processing. - `0x402050`: WAV loading / analysis setup area. Printed metrics in verbose mode: - `Detected average hi-boundary frequency` - `Detected average lo-boundary frequency` - `Detected average hi-cut frequency` - `Detected average lo-cut frequency` - `Maximum probablis boundary frequency` - `Coefficient of nonlinearity of a phase` - `First order smothness` - `Second order smothness` Result struct offsets used by `0x4014a0`: - `+0x00`: hi-boundary frequency, double - `+0x08`: lo-boundary frequency, double - `+0x18`: hi-cut frequency, double - `+0x20`: lo-cut frequency, double - `+0x30`: maximum probable boundary frequency, double - `+0x38`: coefficient of phase nonlinearity, double - `+0x40`: first-order smoothness denominator, double - `+0x48`: first-order smoothness numerator, double - `+0x50`: second-order smoothness denominator, double - `+0x58`: second-order smoothness numerator, double - `+0x88`: probability history / mode array, double[] - `+0xa8`: result code / MPEG probability presence - `+0xc0`: index into probability history Observed original outputs: ## CDDA sample Source: `samples/cdda/01 - In the Flesh.flac`, decoded to `cdda_in_the_flesh.wav` ```text Detected average hi-boundary frequency: 2.062375e+004 Hz Detected average lo-boundary frequency: 1.383399e+004 Hz Detected average hi-cut frequency: 2.184077e+004 Hz Detected average lo-cut frequency: 1.469628e+004 Hz Maximum probablis boundary frequency: 2.152500e+004 Hz Coefficient of nonlinearity of a phase: 1.496717e+000 First order smothness: 3.164557e-001 Second order smothness: 8.059072e-001 This track looks like CDDA with probability 100% ``` ## MP3 transcode sample Source: `samples/mp3_to_flac/01 - In the Flesh.flac`, decoded to `mp3_in_the_flesh.wav` ```text Detected average hi-boundary frequency: 1.883405e+004 Hz Detected average lo-boundary frequency: 1.721351e+004 Hz Detected average hi-cut frequency: 1.875735e+004 Hz Detected average lo-cut frequency: 1.760003e+004 Hz Maximum probablis boundary frequency: 1.669100e+004 Hz Coefficient of nonlinearity of a phase: 4.837348e-002 First order smothness: 8.607595e-001 Second order smothness: 7.594937e-001 This track looks like MPEG with probability 95% ``` Immediate implementation implications: - Original does not rely only on upper-band energy. It estimates boundary and cut frequencies. - The strongest contrast in the sample pair is phase nonlinearity: CDDA is high (`1.49`), MP3 transcode is low (`0.048`). - First-order smoothness also separates the sample pair: CDDA low (`0.316`), MP3 transcode high (`0.861`). - Our current detector should grow original-style fields before attempting stricter behavioral compatibility.