mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2026-10-22 13:12:21 +00:00
2.0 KiB
2.0 KiB
HF_MSDSAL — Visa MSD Card Reader/Emulator
Author: Salvador Mendoza Frequency: HF (13.56 MHz) Hardware: Generic Proxmark3
Back to Standalone Modes Index | Source Code | Development Guide
What
Reads Visa MSD (Magnetic Stripe Data) cards and emulates the captured Track 2 equivalent data. MSD is an older EMV contactless mode that mirrors magnetic stripe data over NFC.
Why
Visa MSD mode transmits Track 2 data in a format similar to magnetic stripe cards. This mode demonstrates the risk of MSD mode by capturing and replaying the transaction data. MSD has largely been superseded by EMV contactless (qVSDC), but some terminals still support it as a fallback.
⚠ Note: MSD mode is deprecated in many markets. Modern terminals may reject MSD transactions.
How
- READ: Selects PPSE → Visa AID → reads PDOL/SFI → extracts 19-byte Track 2 data
- EMULATE: Presents the captured Track 2 data when queried by a terminal
LED Indicators
| LED | Meaning |
|---|---|
| A (solid) | Reading mode |
| B (solid) | Activity indicator |
| C (solid) | Emulation mode (Track 2 loaded) |
Button Controls
| Action | Effect |
|---|---|
| Single click | Toggle between READ and EMULATE |
| Long hold | Exit standalone mode |
State Machine
stateDiagram-v2
[*] --> READ : Startup
READ --> EMULATE : Track2 captured\n+ button click
EMULATE --> READ : Button click
READ --> READ : Waiting for Visa MSD card
EMULATE --> EMULATE : Emulating Track2
READ --> [*] : Long hold / USB data
EMULATE --> [*] : Long hold / USB data
Compilation
make clean
make STANDALONE=HF_MSDSAL -j
./pm3-flash-fullimage
Related
- EMV Visa Reader/Emulator — Modern EMV Visa reader/emulator
- EMV Notes — EMV protocol documentation