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?
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.