Chameleon Ultra · Volume 6

Chameleon Ultra — Read, Sniff, and Clone Workflow

Capturing a card, recovering MIFARE Classic keys via sniffing and MFKey32, loading a dump into an emulation slot

Stub — section skeleton authored 2026-06-27; prose to follow.

6.1 The three capture modes — read, sniff, and clone

Orients the reader to the three fundamental interaction modes: (1) direct read — the Chameleon Ultra actively interrogates a card using its MFRC522; (2) sniff — the Chameleon passively observes a legitimate reader–card exchange; (3) clone (via slot load) — loads a captured dump into a slot for subsequent emulation. Explains why all three modes exist and which to reach for first depending on access conditions.

6.1.1 When to read vs sniff

Decision guidance: read directly when you have physical access to the card for ~5 seconds; sniff when you can position the Chameleon between the reader and the card during a legitimate transaction (or when the card owner cannot be separated from the card).

6.1.2 Clone vs emulate

Clarifies the Chameleon Ultra’s posture: it does not write to blank card stock (“clone” in the iCopy-X sense); it loads the dump into an emulation slot. Points to iCopy-X Vol 7 and Vol 9 for the physical-blank workflow when a tangible credential is required.

6.2 HF card read workflow — MFRC522, ChameleonUltraGUI, slot load

Step-by-step HF read workflow: present target card to the Chameleon Ultra’s HF coil face, initiate read via ChameleonUltraGUI, observe UID + ATQA + SAK, run key recovery if the card is MIFARE Classic, capture full memory dump once all sector keys are known, and confirm slot load.

6.2.1 Physical card placement

Explains coil face orientation, optimal placement distance, and position sensitivity for HF reads.

6.2.2 Initiating a read in ChameleonUltraGUI

Step-by-step: open app, navigate to read screen, tap Read, observe detected card type. [VERIFY: current GUI flow against latest ChameleonUltraGUI release]

6.2.3 UID-only vs full-dump reads

Explains the difference between capturing only the UID (sufficient for UID-gated readers) and capturing a full sector dump (required for MIFARE Classic crypto-authenticated access control).

6.2.4 Automated key recovery during read

Describes how ChameleonUltraGUI integrates the Crypto1 attack suite (default key probe → DarkSide → Nested) into the read workflow as a single user-initiated sequence. [VERIFY: current automated attack sequence in GUI]

6.2.5 Confirming a complete dump

Explains how to verify that all sectors are readable (no “unknown key” residuals) before loading the dump into a slot.

6.3 LF card read workflow

Step-by-step LF read workflow: present target LF card to the LF coil, initiate read via ChameleonUltraGUI, observe protocol type + credential value, load into LF slot.

6.3.1 Physical card placement for LF

Notes LF coil position and orientation on the Chameleon Ultra; explains that LF read range is shorter than many users expect from the nRF52840-based LF path.

6.3.2 Protocol auto-detection

Explains that ChameleonUltraGUI attempts to auto-detect the LF protocol; notes cases where manual protocol selection is needed. [VERIFY: auto-detection coverage in current firmware]

6.3.3 Loading an LF credential into a slot

Step-by-step: configure the LF slot with the detected protocol and value. [VERIFY: current GUI flow]

6.4 Sniffing — passive observation of a reader–card exchange

Describes sniff mode: the Chameleon Ultra places itself between a legitimate reader and a card during a normal authentication event, capturing the nonces exchanged without disrupting the transaction. Explains physical positioning, sniff mode activation, and what data is captured.

6.4.1 Physical positioning for sniff

Explains the sniff geometry: Chameleon Ultra must be close enough to the card or reader to pick up the RF exchange; optimal position varies by reader power level and Chameleon antenna coupling. [VERIFY: practical sniff-distance guidance from community field reports]

6.4.2 Activating sniff mode

Step-by-step via ChameleonUltraGUI: enter sniff mode, wait for exchange, observe capture result. [VERIFY: current GUI flow]

6.4.3 What a sniff capture contains

Describes the nonce pairs captured during a MIFARE Classic authentication exchange and why they are sufficient input for MFKEY32 v2 key recovery.

6.5 MFKey32 v2 key recovery from sniffed nonces

Step-by-step MFKEY32 v2 workflow: sniff a reader–card exchange, extract nonce pairs from the capture, run MFKEY32 v2 in ChameleonUltraGUI to derive sector keys, then run Nested to propagate to a full key map. [VERIFY against current firmware docs — confirm MFKey32 v2 is run on-device vs requiring a host-side tool]

6.5.1 Nonce pair extraction

Explains how the raw sniff capture is parsed to extract the (nT, nR, aR) tuples required by MFKEY32 v2.

6.5.2 Running MFKEY32 v2

Step-by-step key recovery from the extracted nonces, either on-device or via host-side tool. [VERIFY: on-device vs host-side processing for the Chameleon Ultra implementation]

6.5.3 From partial keys to full map — Nested propagation

Explains that MFKEY32 v2 typically recovers keys for the sniffed sectors; Nested attack then propagates to remaining sectors. Ties back to Vol 4 §5.

6.6 Exporting a dump — file formats, storage on host

Describes how to export a captured card dump from the Chameleon Ultra: dump file formats (MIFARE Classic .mfd, generic binary, any ChameleonUltraGUI-specific format), export via BLE to the GUI app, and storage on the host for archival or cross-tool use.

6.6.1 Dump file formats

Lists the file formats the Chameleon Ultra and ChameleonUltraGUI use for card dumps; notes compatibility with Proxmark3 RDV4’s dump format (.bin / .mfd) for cross-tool workflows. [VERIFY: format compatibility with pm3 dump files]

6.6.2 Exporting via BLE/GUI

Step-by-step: export dump from ChameleonUltraGUI to phone storage or desktop. [VERIFY: current export flow]

6.6.3 Cross-tool interoperability

Notes how dump files can be imported into Proxmark3 client or iCopy-X; points to Vol 8 for the full cross-tool integration workflow.

6.7 Loading a dump into a slot — the full round-trip

Completes the read→emulate round-trip: importing a dump (captured live or imported from a file) into a named HF or LF slot, confirming the slot is active, and presenting the emulated card to a reader for validation.

6.7.1 Importing a dump into a slot

Step-by-step via ChameleonUltraGUI: select target slot, choose card type, import dump or paste UID + key map. [VERIFY: current GUI flow]

6.7.2 Validating emulation success

Explains how to confirm the emulated card is accepted by the target reader: test on a known-good reader first, check for ATQA/SAK recognition, verify that crypto-authenticated reads succeed.

6.7.3 The full round-trip summary

One-paragraph summary of the complete workflow — read or sniff → key recovery → dump → slot load → emulate — as a field-ready reference.

6.8 Common failure modes and troubleshooting

Catalogs the most common failure scenarios in the read→emulate workflow with root causes and fixes.

6.8.1 Card not detected during read

Covers: wrong coil face, card too far, card on non-ISO-14443A protocol (try LF slot), firmware-version protocol gap. [VERIFY: current firmware protocol gap list]

6.8.2 Key recovery fails (DarkSide/Nested)

Covers: reader-hardened PRNG (try HardNested), card sectors locked (try MFKEY32 via sniff), card is not MIFARE Classic (check ATQA/SAK).

6.8.3 Reader rejects emulated card

Covers: SAK/ATQA mismatch, UID length mismatch (4B vs 7B), reader requires rolling UID (anti-clone measure), reader performs a challenge-response the dump doesn’t support.

6.8.4 Sniff capture is empty or incomplete

Covers: positioning too far from reader or card, sniff mode not active before the transaction, card completed auth before Chameleon was positioned.