1

Undocumented in the Proxmark3's Wiki as well as in its command-line documentation, the proxmark3 Linux client provides the hf 14a apdu command (though there is no hf 14b apdu command).

The way I view things is that APDU build on top of ISO14443. ISO14443's anti-collision and selection protocol can be implemented using hf 14a raw or hf 14b raw command.

After selecting my chip using the raw command, can I simply send and receive APDU messages using the same command?

Michael Roland
  • 39,663
  • 10
  • 99
  • 206
Mat
  • 833
  • 1
  • 5
  • 20

1 Answers1

2

No, you won't be able to use hf 14a apdu after you selected a card with hf 14b raw. The problem is that the command hf 14a apdu will use ISO/IEC 14443 Type A coding and framing (including CRC). Since Type B uses a different coding, framing and CRC, the Type B card would not be able to understand what you sent. However, you can easily wrap your APDU commands into raw Type B frames by prepending the PCB (which in most cases is just alternating between 0x02 and 0x03). Waiting time extension and other elements of the ISO-DEP protocol may be a bit more tricky though.

Michael Roland
  • 39,663
  • 10
  • 99
  • 206
  • Thank you. Do you happen to know how the chip can be selected using `hf 14b raw`? – Mat Jan 24 '19 at 12:54
  • @Louis-MarieMatthews Doesn't that work with the -s option (just as for `hf 14a raw`)? At least that's what the usage docs suggest. – Michael Roland Jan 24 '19 at 15:06
  • Sounds like it does, thanks! I didn't understand that's what the doc meant. – Mat Jan 24 '19 at 15:39