4 |Generic|Low Frequency 125 kHz|High Frequency 13.56 MHz|
6 |[Generic](#Generic)|[T55XX](#T55XX)|[MIFARE](#MIFARE)|
7 |[Data](#Data)|[HID Prox](#HID-Prox)|[iCLASS](#iCLASS)|
8 |[Memory](#Memory)|[Indala](#Indala)||
9 |[Sim Module](#Sim-Module)|[Hitag](#Hitag)||
10 |[Lua Scripts](#Lua-Scripts)|||
11 |[Smart Card](#Smart-Card)|||
12 |[Wiegand convertion](#Wiegand-manipulation)|||
17 Identify High Frequency cards
22 Identify Low Frequency cards
27 Measure antenna characteristics, LF/HF voltage should be around 20-45+ V
45 Reverse permute iCLASS master key
49 -r --reverse : reverse permuted key
50 --key <bytes> : input key
52 pm3 --> hf iclass permute --reverse --key 3F90EBF0910F7B6F
58 pm3 --> hf iclass reader
61 Dump iCLASS card contents
65 -f, --file <filename> filename to save dump to
66 -k, --key <hex> debit key as 16 hex symbols OR NR/MAC for replay
67 --ki <dec> debit key index to select key from memory 'hf iclass managekeys'
68 --credit <hex> credit key as 16 hex symbols
69 --ci <dec> credit key index to select key from memory 'hf iclass managekeys'
70 --elite elite computations applied to key
71 --raw raw, the key is interpreted as raw block 3/4
74 pm3 --> hf iclass dump --ki 0
81 -k, --key <hex> Access key as 16 hex symbols
82 --blk <dec> The block number to read as an integer
83 --ki <dec> Key index to select key from memory 'hf iclass managekeys'
84 --credit key is assumed to be the credit key
85 --elite elite computations applied to key
86 --raw no computations applied to key (raw)
89 pm3 --> hf iclass rdbl -b 7 --ki 0
96 -k, --key <hex> Access key as 16 hex symbols
97 --blk <dec> The block number to read as an integer
98 -d, --data <hex> data to write as 16 hex symbols
99 --ki <dec> Key index to select key from memory 'hf iclass managekeys'
100 --credit key is assumed to be the credit key
101 --elite elite computations applied to key
102 --raw no computations applied to key (raw)
103 --nr replay of NR/MAC
105 pm3 --> hf iclass wrbl -b 7 -d 6ce099fe7e614fd0 --ki 0
112 -p, --print Print keys loaded into memory
115 pm3 --> hf iclass managekeys -p
118 Add key to keystore [0-7]
122 -f, --file <filename> Specify a filename to use with load or save operations
123 --ki <dec> Specify key index to set key in memory
125 pm3 --> hf iclass managekeys --ki 3 -k AFA785A7DAB33378
132 -d, --data <hex> data to encrypt
133 -k, --key <hex> 3DES transport key
134 -v, --verbose verbose output
136 pm3 --> hf iclass encrypt -d 0000000f2aa3dba8
139 Decrypt iCLASS Block / file
143 -f, --file <filename> Specify a filename for dump file
144 -d, --data <hex> 3DES encrypted data
145 -k, --key <hex> 3DES transport key
146 -v, --verbose verbose output
148 pm3 --> hf iclass decrypt -d 2AD4C8211F996871
149 pm3 --> hf iclass decrypt -f hf-iclass-db883702f8ff12e0.bin
152 Load iCLASS dump into memory for simulation
156 -f, --file <filename> Specify a filename for dump file
157 --json load JSON type dump
158 --eml load EML type dump
160 pm3 --> hf iclass eload -f hf-iclass-db883702f8ff12e0.bin
163 Clone iCLASS Legacy Sequence
165 pm3 --> hf iclass rdbl -b 7 --ki 0
166 pm3 --> hf iclass wrbl -b 7 -d 6ce099fe7e614fd0 --ki 0
173 -t, --type <int> Simulation type to use
174 --csn <hex> Specify CSN as 8 bytes (16 hex symbols) to use with sim type 0
176 0 simulate the given CSN
177 1 simulate default CSN
178 2 runs online part of LOCLASS attack
179 3 full simulation using emulator memory (see 'hf iclass eload')
180 4 runs online part of LOCLASS attack against reader in keyroll mode
182 pm3 --> hf iclass sim -t 3
185 Simulate iCLASS Sequence
187 pm3 --> hf iclass dump --ki 0
188 pm3 --> hf iclass eload -f hf-iclass-db883702f8ff12e0.bin
189 pm3 --> hf iclass sim -t 3
192 Extract custom iCLASS key (loclass attack)
196 -f <filename> specify a filename to clone from
197 -k <key> Access Key as 16 hex symbols or 1 hex to select key from memory
198 --elite Elite computations applied to key
200 pm3 --> hf iclass sim -t 2
201 pm3 --> hf iclass loclass -f iclass_mac_attack.bin
202 pm3 --> hf iclass managekeys --ki 7 -k <Kcus>
203 pm3 --> hf iclass dump --ki 7 --elite
206 Verify custom iCLASS key
210 -f, --file <filename> Dictionary file with default iclass keys
211 --csn <hex> Specify CSN as 8 bytes (16 hex symbols)
212 --epurse <hex> Specify ePurse as 8 bytes (16 hex symbols)
214 --raw no computations applied to key (raw)
215 --elite Elite computations applied to key
217 pm3 --> hf iclass lookup --csn 010a0ffff7ff12e0 --epurse feffffffffffffff --macs 66348979153c41b9 -f iclass_default_keys --elite
223 Check for default keys
227 -k, --key <hex> Key specified as 12 hex symbols
228 --blk <dec> Input block number
229 -a Target Key A, if found also check Key B for duplicate
231 -*, --all Target both key A & B (default)
232 --mini MIFARE Classic Mini / S20
233 --1k MIFARE Classic 1k / S50 (default)
234 --2k MIFARE Classic/Plus 2k
235 --4k MIFARE Classic 4k / S70
236 --emu Fill simulator keys from found keys
237 --dump Dump found keys to binary file
238 -f, --file <filename> filename of dictionary
240 pm3 --> hf mf chk --1k -f mfc_default_keys
243 Check for default keys from local memory
247 -k, --key <hex> Key specified as 12 hex symbols
248 --mini MIFARE Classic Mini / S20
249 --1k MIFARE Classic 1k / S50 (default)
250 --2k MIFARE Classic/Plus 2k
251 --4k MIFARE Classic 4k / S70
252 --emu Fill simulator keys from found keys
253 --dump Dump found keys to binary file
254 --mem Use dictionary from flashmemory
255 -f, --file <filename> filename of dictionary
257 pm3 --> hf mf fchk --1k --mem
260 Dump MIFARE Classic card contents
264 -f, --file <filename> Specify a filename for dump file
265 -k, --keys <filename> Specify a filename for keys file
266 --mini MIFARE Classic Mini / S20
267 --1k MIFARE Classic 1k / S50 (default)
268 --2k MIFARE Classic/Plus 2k
269 --4k MIFARE Classic 4k / S70
272 pm3 --> hf mf dump --1k -k hf-mf-A29558E4-key.bin -f hf-mf-A29558E4-dump.bin
275 Write to MIFARE Classic block
279 --blk <dec> block number
280 -a input key type is key A (def)
281 -b input key type is key B
282 -k, --key <hex> key, 6 hex bytes
283 -d, --data <hex> bytes to write, 16 hex bytes
285 pm3 --> hf mf wrbl --blk 0 -k FFFFFFFFFFFF -d d3a2859f6b880400c801002000000016
288 Run autopwn, to extract all keys and backup a MIFARE Classic tag
292 -k, --key <hex> Known key, 12 hex bytes
293 -s, --sector <dec> Input sector number
296 -f, --file <fn> filename of dictionary
297 -s, --slow Slower acquisition (required by some non standard cards)
298 -l, --legacy legacy mode (use the slow `hf mf chk`)
299 -v, --verbose verbose output (statistics)
300 --mini MIFARE Classic Mini / S20
301 --1k MIFARE Classic 1k / S50 (default)
302 --2k MIFARE Classic/Plus 2k
303 --4k MIFARE Classic 4k / S70
305 pm3 --> hf mf autopwn
307 // target MFC 1K card, Sector 0 with known key A 'FFFFFFFFFFFF'
308 pm3 --> hf mf autopwn -s 0 -a -k FFFFFFFFFFFF
310 // target MFC 1K card, default dictionary
311 pm3 --> hf mf autopwn --1k -f mfc_default_keys
314 Run hardnested attack
318 -k, --key <hex> Key, 12 hex bytes
319 --blk <dec> Input block number
322 --tblk <dec> Target block number
325 --tk <hex> Target key, 12 hex bytes
326 -f, --file <fn> R/W <name> instead of default name
327 -s, --slow Slower acquisition (required by some non standard cards)
328 -w, --wr Acquire nonces and UID, and write them to file `hf-mf-<UID>-nonces.bin`
330 pm3 --> hf mf hardnested --blk 0 -a -k 8829da9daf76 --tblk 4 --ta -w
333 Load MIFARE Classic dump file into emulator memory for simulation
334 Accepts (BIN/EML/JSON)
338 -f, --file <fn> Specify a filename for dump file
339 --mini MIFARE Classic Mini / S20
340 --1k MIFARE Classic 1k / S50 (def)
341 --2k MIFARE Classic/Plus 2k
342 --4k MIFARE Classic 4k / S70
343 --ul MIFARE Ultralight family
344 -q, --qty <dec> manually set number of blocks (overrides)
346 pm3 --> hf mf eload -f hf-mf-353C2AA6-dump.bin
347 pm3 --> hf mf eload --1k -f hf-mf-353C2AA6-dump.bin
352 u : (Optional) UID 4,7 or 10 bytes. If not specified, the UID 4B from emulator memory will be used
354 pm3 --> hf mf sim -u 353c2aa6
357 Simulate MIFARE Sequence
359 pm3 --> hf mf fchk --1k -f mfc_default_keys.dic
361 pm3 --> hf mf eload -f hf-mf-<UID>-dump.bin
362 pm3 --> hf mf sim -u 353c2aa6
365 Clone MIFARE 1K Sequence
367 pm3 --> hf mf fchk --1k -f mfc_default_keys.dic
369 pm3 --> hf mf restore --1k --uid 4A6CE843 -k hf-mf-A29558E4-key.bin -f hf-mf-A29558E4-dump.bin
372 Read MIFARE Ultralight EV1
377 Clone MIFARE Ultralight EV1 Sequence
379 pm3 --> hf mfu dump -k FFFFFFFF
380 pm3 --> hf mfu eload -f hf-mfu-XXXX-dump.bin
381 pm3 --> hf mfu sim -t 7
384 Bruteforce MIFARE Classic card numbers from 11223344 to 11223346
386 pm3 --> script run hf_mf_uidbruteforce -s 0x11223344 -e 0x11223346 -t 1000 -x mfc
389 Bruteforce MIFARE Ultralight EV1 card numbers from 11223344556677 to 11223344556679
391 pm3 --> script run hf_mf_uidbruteforce -s 0x11223344556677 -e 0x11223344556679 -t 1000 -x mfu
394 ## Wiegand manipulation
397 List all available wiegand formats in client
402 Convert Site & Facility code to Wiegand raw hex
406 --fc <dec> facility number
407 --cn <dec> card number
408 --issue <dec> issue level
410 -w, --wiegand <format> see `wiegand list` for available formats
411 --pre add HID ProxII preamble to wiegand output
413 pm3 --> wiegand encode -w H10301 --oem 0 --fc 101 --cn 1337
414 pm3 --> wiegand encode --fc 101 --cn 1337
417 Convert Site & Facility code from Wiegand raw hex to numbers
421 -p, --parity ignore invalid parity
422 -r, --raw <hex> raw hex to be decoded
423 -b, --bin <bin> binary string to be decoded
425 pm3 --> wiegand decode --raw 2006f623ae
436 Demodulate HID Prox card
444 pm3 --> lf hid sim -r 200670012d
445 pm3 --> lf hid sim -w H10301 --fc 10 --cn 1337
448 Clone Prox to T5577 card
450 pm3 --> lf hid clone -r 200670012d
451 pm3 --> lf hid clone -w H10301 --fc 10 --cn 1337
454 Brute force HID reader
458 -v, --verbose verbose logging, show all tries
459 -w, --wiegand format see `wiegand list` for available formats
460 -f, --fn dec facility code
461 -c, --cn dec card number to start with
463 -o, --oem dec OEM code
464 -d, --delay dec delay betweens attempts in ms. Default 1000ms
465 --up direction to increment card number. (default is both directions)
466 --down direction to decrement card number. (default is both directions)
468 pm3 --> lf hid brute -w H10301 -f 224
469 pm3 --> lf hid brute -v -w H10301 -f 21 -c 200 -d 2000
477 pm3 --> lf indala read
480 Demodulate Indala card
482 pm3 --> lf indala demod
489 -r, --raw <hex> raw bytes
490 --heden <decimal> Cardnumber for Heden 2L format
492 pm3 --> lf indala sim -r a0000000c2c436c1
499 -r, --raw <hex> raw bytes
500 --heden <decimal> Cardnumber for Heden 2L format
501 --fc <decimal> Facility Code (26 bit H10301 format)
502 --cn <decimal> Cardnumber (26 bit H10301 format)
503 --q5 specify writing to Q5/T5555 tag
504 --em specify writing to EM4305/4469 tag
506 pm3 --> lf indala clone -r a0000000c2c436c1
512 Read Hitag information
514 pm3 --> lf hitag info
518 Crypto mode key format: ISK high + ISK low
526 --nrar <hex> nonce / answer writer, 8 hex bytes
528 -k, --key <hex> key, 4 or 6 hex bytes
530 pm3 --> lf hitag read --ht2
531 pm3 --> lf hitag read --ht2 -k 4D494B52
532 pm3 --> lf hitag read --ht2 -k 4F4E4D494B52
537 pm3 --> lf hitag sniff
538 pm3 --> lf hitag list
543 pm3 --> lf hitag sim -2
546 Write a page in Hitag memory
547 Crypto mode key format: ISK high + ISK low
555 --nrar <hex> nonce / answer writer, 8 hex bytes
557 -k, --key <hex> key, 4 or 6 hex bytes
558 -p, --page <dec> page address to write to
559 -d, --data <hex> data, 4 hex bytes
561 pm3 --> lf hitag wrbl --ht2 -k 499602D2 -p 1 -d 00000000
564 Simulate Hitag2 sequence
566 pm3 --> lf hitag read --ht2 -k 56713368
567 pm3 --> lf hitag sim -2
575 pm3 --> lf t55xx detect
582 --FSK set demodulation FSK
583 --FSK1 set demodulation FSK 1
584 --FSK1A set demodulation FSK 1a (inv)
585 --FSK2 set demodulation FSK 2
586 --FSK2A set demodulation FSK 2a (inv)
587 --ASK set demodulation ASK
588 --PSK1 set demodulation PSK 1
589 --PSK2 set demodulation PSK 2
590 --PSK3 set demodulation PSK 3
591 --NRZ set demodulation NRZ
592 --BI set demodulation Biphase
593 --BIA set demodulation Diphase (inverted biphase)
599 pm3 --> lf t55xx config --FSK
602 Set timings to default
607 -p, --persist persist to flash memory (RDV4)
608 -z Set default t55x7 timings (use `-p` to save if required)
609 pm3 --> lf t55xx deviceconfig -zp
614 -b, --blk <0-7> block number to write
615 -d, --data <hex> data to write (4 hex bytes)
616 -p, --pwd <hex> password (4 hex bytes)
618 pm3 --> lf t55xx write -b 0 -d 00081040
621 Wipe a T55xx tag and set defaults
623 pm3 --> lf t55xx wipe
629 Get raw samples [512-40000]
631 pm3 --> data samples -n <size>
636 pm3 --> data save -f <filename>
639 Load samples from file
641 pm3 --> data load -f <filename>
656 pm3 --> script run <nameofscript> -h
664 -i <file> Specifies the dump-file (input). If omitted, 'dumpdata.bin' is used
665 -o <filename> Specifies the output file. If omitted, <uid>.eml is used
667 pm3 --> script run data_mf_bin2eml -i xxxxxxxxxxxxxx.bin
674 -i <filename> Specifies the dump-file (input). If omitted, 'dumpdata.eml' is used
675 -o <filename> Specifies the output file. If omitted, <currdate>.bin is used
677 pm3 --> script run data_mf_eml2bin -i myfile.eml -o myfile.bin
684 -k <key> The current six byte key with write access
685 -n <key> The new key that will be written to the card
686 -a <access> The new access bytes that will be written to the card
687 -x Execute the commands as well
689 pm3 --> script run hf_mf_format -k FFFFFFFFFFFF -n FFFFFFFFFFFF -x
695 Load default keys into flash memory (RDV4 only)
699 -o <offset> offset in memory
700 -f <filename> file name
701 --mfc upload 6 bytes keys (mifare key dictionary)
702 --iclass upload 8 bytes keys (iClass key dictionary)
703 --t55xx upload 4 bytes keys (pwd dictionary)
705 pm3 --> mem load -f mfc_default_keys --mfc
706 pm3 --> mem load -f t55xx_default_pwds --t5xx
707 pm3 --> mem load -f iclass_default_keys --iclass
713 Upgrade Sim Module firmware
715 pm3 --> smart upgrade -f sim014.bin
721 Get Smart Card Information
726 Act like an IS07816 reader
731 Set clock speed for smart card interface
735 --16mhz 16 MHz clock speed
736 --8mhz 8 MHz clock speed
737 --4mhz 4 MHz clock speed
740 pm3 --> smart setclock --8mhz
747 -r do not read response
748 -a active smartcard without select (reset sc module)
749 -s active smartcard with select (get ATR)
750 -t, --tlv executes TLV decoder if it possible
752 -d, --data <hex> bytes to send
754 pm3 --> smart raw -s -0 -d 00a404000e315041592e5359532e4444463031
755 pm3 --> smart raw -0 -d 00a404000e325041592e5359532e4444463031
756 pm3 --> smart raw -0 -t -d 00a4040007a0000000041010
757 pm3 --> smart raw -0 -t -d 00a4040007a0000000031010
764 -t, --tlv executes TLV decoder if it possible
767 pm3 --> smart brute --tlv