make style

This commit is contained in:
iceman1001 2022-10-16 17:56:12 +02:00
parent 2d25716704
commit 71f96ba1e7
12 changed files with 1184 additions and 841 deletions

View file

@ -2182,7 +2182,7 @@ static void PacketReceived(PacketCommandNG *packet) {
uint8_t *buff = BigBuf_malloc(size);
if (buff == NULL) {
if (g_dbglevel >= DBG_DEBUG) Dbprintf ("Could not allocate buffer");
if (g_dbglevel >= DBG_DEBUG) Dbprintf("Could not allocate buffer");
// Trigger a finish downloading signal with an PM3_EMALLOC
reply_ng(CMD_SPIFFS_DOWNLOAD, PM3_EMALLOC, NULL, 0);
} else {
@ -2199,7 +2199,7 @@ static void PacketReceived(PacketCommandNG *packet) {
}
// Trigger a finish downloading signal with an ACK frame
reply_ng(CMD_SPIFFS_DOWNLOAD, PM3_SUCCESS, NULL, 0);
BigBuf_free ();
BigBuf_free();
}
LED_B_OFF();
break;

View file

@ -452,7 +452,7 @@ bool Flash_WipeMemoryPage(uint8_t page) {
FlashStop();
// let spiffs check and update its info post flash erase
rdv40_spiffs_check ();
rdv40_spiffs_check();
return true;
}
// Wipes flash memory completely, fills with 0xFF

View file

@ -461,7 +461,7 @@ int rdv40_spiffs_append(const char *filename, uint8_t *src, uint32_t size, RDV40
RDV40_SPIFFS_SAFE_FUNCTION(
uint32_t idx;
// Append any SPIFFS_WRITE_CHUNK_SIZE byte chunks
for (idx = 0; idx < (size/SPIFFS_WRITE_CHUNK_SIZE); idx++) {
for (idx = 0; idx < (size / SPIFFS_WRITE_CHUNK_SIZE); idx++) {
append_to_spiffs(filename, &src[SPIFFS_WRITE_CHUNK_SIZE * idx], SPIFFS_WRITE_CHUNK_SIZE);
}
// Append remain bytes
@ -547,7 +547,7 @@ int rdv40_spiffs_read_as_symlink(char *filename, uint8_t *dst, uint32_t size, RD
read_from_spiffs((char *)linkdest, (uint8_t *)dst, size);
)
}
}
// BEWARE ! This function is DESTRUCTIVE as it will UPDATE an existing symlink
// Since it creates a .lnk extension file it may be minor to mistake the order of arguments

View file

@ -2770,7 +2770,7 @@ static int try_detect_modulation(void) {
#define LF_NUM_OF_TESTS 6
lf_modulation_t tests[LF_NUM_OF_TESTS];
for (int i=0; i< ARRAYLEN(tests); i++) {
for (int i = 0; i < ARRAYLEN(tests); i++) {
memset(&tests[i], 0, sizeof(lf_modulation_t));
}

View file

@ -789,8 +789,8 @@ static void print_ct_blocks(uint8_t *data, size_t len) {
static void print_sr_blocks(uint8_t *data, size_t len, const uint8_t *uid) {
size_t blocks = (len / ST25TB_SR_BLOCK_SIZE) -1 ;
uint8_t * systemblock = data + blocks * ST25TB_SR_BLOCK_SIZE ;
size_t blocks = (len / ST25TB_SR_BLOCK_SIZE) - 1 ;
uint8_t *systemblock = data + blocks * ST25TB_SR_BLOCK_SIZE ;
uint8_t chipid = get_st_chipid(uid);
PrintAndLogEx(SUCCESS, _GREEN_("%s") " tag", get_st_chip_model(chipid));
@ -1486,7 +1486,7 @@ static int CmdHF14BDump(const char *Cmd) {
// last read
if (blocknum == 0xFF) {
// we reserved space for this block after 0x0F and 0x7F, ie 0x10, 0x80
memcpy(data + ((lastblock+1) * ST25TB_SR_BLOCK_SIZE), recv, ST25TB_SR_BLOCK_SIZE);
memcpy(data + ((lastblock + 1) * ST25TB_SR_BLOCK_SIZE), recv, ST25TB_SR_BLOCK_SIZE);
break;
}
memcpy(data + (blocknum * ST25TB_SR_BLOCK_SIZE), recv, ST25TB_SR_BLOCK_SIZE);
@ -2106,19 +2106,20 @@ out:
/* extract uid from filename
* filename must match '^hf-14b-[0-9A-F]{16}'
*/
uint8_t * get_uid_from_filename(const char *filename) {
uint8_t *get_uid_from_filename(const char *filename) {
static uint8_t uid[8] ;
memset(uid, 0, 8) ;
char uidinhex[17] ;
if (strlen(filename)<23 || strncmp(filename, "hf-14b-", 7)) {
if (strlen(filename) < 23 || strncmp(filename, "hf-14b-", 7)) {
PrintAndLogEx(ERR, "can't get uid from filename '%s'. Expected format is hf-14b-<uid>...", filename);
return uid ;
}
// extract uid part from filename
strncpy(uidinhex, filename+7, 16) ; uidinhex[16]='\0' ;
int len=hex_to_bytes(uidinhex, uid, 8);
strncpy(uidinhex, filename + 7, 16) ;
uidinhex[16] = '\0' ;
int len = hex_to_bytes(uidinhex, uid, 8);
if (len == 8)
return SwapEndian64(uid , 8, 8);
return SwapEndian64(uid, 8, 8);
else {
PrintAndLogEx(ERR, "get_uid_from_filename failed: hex_to_bytes returned %d", len);
memset(uid, 0, 8);

View file

@ -25,7 +25,7 @@
int CmdHF14B(const char *Cmd);
int CmdHF14BNdefRead(const char *Cmd);
uint8_t * get_uid_from_filename(const char *filename);
uint8_t *get_uid_from_filename(const char *filename);
int exchange_14b_apdu(uint8_t *datain, int datainlen, bool activate_field, bool leave_signal_on, uint8_t *dataout, int maxdataoutlen, int *dataoutlen, int user_timeout);
int select_card_14443b_4(bool disconnect, iso14b_card_select_t *card);

View file

@ -1147,7 +1147,7 @@ static int CmdHF15ESave(const char *Cmd) {
static void print_hrule(int blocksize) {
char dashes[] = "------------------------------------------------------------";
PrintAndLogEx(INFO, "-----+%.*s-+-%.*s-", 3*blocksize, dashes, blocksize, dashes);
PrintAndLogEx(INFO, "-----+%.*s-+-%.*s-", 3 * blocksize, dashes, blocksize, dashes);
}
static void print_blocks_15693(uint8_t *data, uint16_t bytes, int blocksize) {
@ -1155,7 +1155,7 @@ static void print_blocks_15693(uint8_t *data, uint16_t bytes, int blocksize) {
PrintAndLogEx(NORMAL, "");
print_hrule(blocksize);
char spaces[] = " ";
PrintAndLogEx(INFO, " blk | data %.*s| ascii", MAX(0, 3*blocksize - 5), spaces);
PrintAndLogEx(INFO, " blk | data %.*s| ascii", MAX(0, 3 * blocksize - 5), spaces);
print_hrule(blocksize);
for (int i = 0; i < blocks; i++) {
PrintAndLogEx(INFO, "%4d | %s ", i, sprint_hex_ascii(data + (i * blocksize), blocksize));

View file

@ -5776,7 +5776,7 @@ int CmdHFMFNDEFFormat(const char *Cmd) {
uint8_t keyA[MIFARE_4K_MAXSECTOR][MFKEY_SIZE];
uint8_t keyB[MIFARE_4K_MAXSECTOR][MFKEY_SIZE];
for (uint8_t i = 0; i < MIFARE_4K_MAXSECTOR; i++ ) {
for (uint8_t i = 0; i < MIFARE_4K_MAXSECTOR; i++) {
memcpy(keyA[i], g_mifare_default_key, sizeof(g_mifare_default_key));
memcpy(keyB[i], g_mifare_default_key, sizeof(g_mifare_default_key));
}
@ -5785,12 +5785,12 @@ int CmdHFMFNDEFFormat(const char *Cmd) {
uint64_t key64 = 0;
// check if we can authenticate to sector
if (mfCheckKeys(0, MF_KEY_A, true, 1, (uint8_t*)g_mifare_mad_key, &key64) == PM3_SUCCESS) {
if (mfCheckKeys(0, MF_KEY_A, true, 1, (uint8_t *)g_mifare_mad_key, &key64) == PM3_SUCCESS) {
// if used, assume KEY A is MAD/NDEF set.
memcpy(keyA[0], g_mifare_mad_key, sizeof(g_mifare_mad_key));
memcpy(keyB[0], g_mifare_mad_key_b, sizeof(g_mifare_mad_key_b));
for (uint8_t i = 1; i < MIFARE_4K_MAXSECTOR; i++ ) {
for (uint8_t i = 1; i < MIFARE_4K_MAXSECTOR; i++) {
memcpy(keyA[i], g_mifare_ndef_key, sizeof(g_mifare_ndef_key));
}
}
@ -5860,7 +5860,7 @@ skipfile:
uint8_t b = (mfFirstBlockOfSector(i) + j);
uint8_t block[16] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
switch(b) {
switch (b) {
case 0:
continue;
case 1:
@ -5873,7 +5873,7 @@ skipfile:
memcpy(block, firstblocks[b], MFBLOCK_SIZE);
break;
default: {
if (mfIsSectorTrailer(j) ) {
if (mfIsSectorTrailer(j)) {
// ST NDEF
memcpy(block, firstblocks[7], MFBLOCK_SIZE);
}

View file

@ -171,6 +171,9 @@ const static vocabulory_t vocabulory[] = {
{ 0, "hf 15 reader" },
{ 0, "hf 15 restore" },
{ 0, "hf 15 samples" },
{ 0, "hf 15 eload" },
{ 0, "hf 15 esave" },
{ 0, "hf 15 eview" },
{ 0, "hf 15 sim" },
{ 0, "hf 15 slixdisable" },
{ 0, "hf 15 wrbl" },
@ -225,11 +228,18 @@ const static vocabulory_t vocabulory[] = {
{ 0, "hf fido auth" },
{ 0, "hf fido make" },
{ 0, "hf fido assert" },
{ 1, "hf fudan help" },
{ 0, "hf fudan reader" },
{ 0, "hf fudan dump" },
{ 0, "hf fudan rdbl" },
{ 1, "hf fudan view" },
{ 0, "hf fudan wrbl" },
{ 1, "hf gallagher help" },
{ 0, "hf gallagher reader" },
{ 0, "hf gallagher clone" },
{ 0, "hf gallagher delete" },
{ 1, "hf gallagher diversifykey" },
{ 1, "hf gallagher decode" },
{ 1, "hf ksx6924 help" },
{ 0, "hf ksx6924 balance" },
{ 0, "hf ksx6924 info" },
@ -282,11 +292,12 @@ const static vocabulory_t vocabulory[] = {
{ 1, "hf legic view" },
{ 1, "hf lto help" },
{ 0, "hf lto dump" },
{ 0, "hf lto restore" },
{ 0, "hf lto info" },
{ 0, "hf lto rdbl" },
{ 0, "hf lto wrbl" },
{ 1, "hf lto list" },
{ 0, "hf lto rdbl" },
{ 0, "hf lto reader" },
{ 0, "hf lto restore" },
{ 0, "hf lto wrbl" },
{ 1, "hf mf help" },
{ 1, "hf mf list" },
{ 0, "hf mf darkside" },
@ -302,8 +313,7 @@ const static vocabulory_t vocabulory[] = {
{ 0, "hf mf auth4" },
{ 1, "hf mf acl" },
{ 0, "hf mf dump" },
{ 0, "hf mf mad" },
{ 0, "hf mf ndefread" },
{ 1, "hf mf mad" },
{ 0, "hf mf personalize" },
{ 0, "hf mf rdbl" },
{ 0, "hf mf rdsc" },
@ -335,6 +345,8 @@ const static vocabulory_t vocabulory[] = {
{ 0, "hf mf gen3blk" },
{ 0, "hf mf gen3freeze" },
{ 0, "hf mf gview" },
{ 0, "hf mf ndefformat" },
{ 0, "hf mf ndefread" },
{ 1, "hf mfp help" },
{ 0, "hf mfp info" },
{ 0, "hf mfp wrp" },
@ -422,12 +434,16 @@ const static vocabulory_t vocabulory[] = {
{ 1, "hf thinfilm list" },
{ 0, "hf thinfilm sim" },
{ 1, "hf topaz help" },
{ 0, "hf topaz dump" },
{ 1, "hf topaz list" },
{ 0, "hf topaz info" },
{ 0, "hf topaz reader" },
{ 0, "hf topaz sim" },
{ 0, "hf topaz sniff" },
{ 0, "hf topaz raw" },
{ 0, "hf topaz rdbl" },
{ 1, "hf topaz view" },
{ 0, "hf topaz wrbl" },
{ 1, "hf texkom help" },
{ 0, "hf texkom reader" },
{ 0, "hf texkom sim" },
@ -702,6 +718,7 @@ const static vocabulory_t vocabulory[] = {
{ 0, "nfc type4b read" },
{ 1, "nfc type4b help" },
{ 0, "nfc mf cread" },
{ 0, "nfc mf cformat" },
{ 0, "nfc mf pread" },
{ 1, "nfc mf help" },
{ 0, "nfc barcode read" },

View file

@ -484,9 +484,11 @@
"offline": true,
"options": [
"-h, --help This help",
"-f, --file <fn> file to load"
"-f, --file <fn> file to load",
"-b, --bin binary file",
"-n, --no-fix Load data from file without any transformations"
],
"usage": "data load [-h] -f <fn>"
"usage": "data load [-hbn] -f <fn>"
},
"data ltrim": {
"command": "data ltrim",
@ -631,7 +633,7 @@
"options": [
"-h, --help This help",
"-n <dec> num of samples (512 - 40000)",
"-v, --verbose verbose"
"-v, --verbose verbose output"
],
"usage": "data samples [-hv] [-n <dec>]"
},
@ -1223,7 +1225,7 @@
"hf 14a sim -t 4 -> ISO/IEC 14443-4",
"hf 14a sim -t 5 -> MIFARE Tnp3xxx",
"hf 14a sim -t 6 -> MIFARE Mini",
"hf 14a sim -t 7 -> AMIIBO (NTAG 215), pack 0x8080",
"hf 14a sim -t 7 -> Amiibo (NTAG 215), pack 0x8080",
"hf 14a sim -t 8 -> MIFARE Classic 4k",
"hf 14a sim -t 9 -> FM11RF005SH Shanghai Metro",
"hf 14a sim -t 10 -> ST25TA IKEA Rothult"
@ -1232,7 +1234,7 @@
"options": [
"-h, --help This help",
"-t, --type <1-10> Simulation type to use",
"-u, --uid <hex> 4, 7 or 10 byte UID",
"-u, --uid <hex> <4|7|10> hex bytes UID",
"-n, --num <dec> Exit simulation after <numreads> blocks have been read by reader. 0 = infinite",
"-x Performs the 'reader attack', nr/ar attack against a reader",
"--sk Fill simulator keys from found keys",
@ -1311,7 +1313,7 @@
"options": [
"-h, --help This help",
"-s, --aidsearch checks if AIDs from aidlist.json is present on the card and prints information about found AIDs",
"-v, --verbose verbose"
"-v, --verbose verbose output"
],
"usage": "hf 14b info [-hsv]"
},
@ -1369,7 +1371,7 @@
"-c, --crc calculate and append CRC",
"-r do not read response from card",
"-t, --timeout <dec> timeout in ms",
"-v, --verbose verbose",
"-v, --verbose verbose output",
"-d, --data <hex> data, bytes to send"
],
"usage": "hf 14b raw [-hkscrv] [--sr] [--cts] [--xrx] [-t <dec>] [-d <hex>]"
@ -1391,15 +1393,16 @@
"command": "hf 14b reader",
"description": "Act as a 14443B reader to identify a tag",
"notes": [
"hf 14b reader"
"hf 14b reader",
"hf 14b reader -@ -> continuous reader mode"
],
"offline": false,
"options": [
"-h, --help This help",
"-s, --silent silent (no messages)",
"-v, --verbose verbose output",
"-@ optional - continuous reader mode"
],
"usage": "hf 14b reader [-hs@]"
"usage": "hf 14b reader [-hv@]"
},
"hf 14b sim": {
"command": "hf 14b sim",
@ -1505,6 +1508,49 @@
],
"usage": "hf 15 dump [-h*2o] [-u <hex>] [--ua] [-f <fn>]"
},
"hf 15 eload": {
"command": "hf 15 eload",
"description": "Load memory image from file to be used with 'hf 15 sim'",
"notes": [
"hf 15 eload -f hf-15-01020304.bin"
],
"offline": false,
"options": [
"-h, --help This help",
"-f, --file <fn> filename of image"
],
"usage": "hf 15 eload [-h] -f <fn>"
},
"hf 15 esave": {
"command": "hf 15 esave",
"description": "Save emulator memory into three files (BIN/EML/JSON)",
"notes": [
"hf 15 esave -f hf-15-01020304hf 15 esave -b 8 -c 42 -f hf-15-01020304"
],
"offline": false,
"options": [
"-h, --help This help",
"-f, --file <fn> filename of dump",
"-b, --blocksize <dec> block size, defaults to 4",
"-c, --count <dec> number of blocks to export, defaults to all"
],
"usage": "hf 15 esave [-h] -f <fn> [-b <dec>] [-c <dec>]"
},
"hf 15 eview": {
"command": "hf 15 eview",
"description": "It displays emulator memory",
"notes": [
"hf 15 eview",
"hf 15 eview -b 8 -c 60"
],
"offline": false,
"options": [
"-h, --help This help",
"-b, --blocksize <dec> block size, defaults to 4",
"-c, --count <dec> number of blocks to display, defaults to all"
],
"usage": "hf 15 eview [-h] [-b <dec>] [-c <dec>]"
},
"hf 15 findafi": {
"command": "hf 15 findafi",
"description": "This command attempts to brute force AFI of an ISO-15693 tag Estimated execution time is around 2 minutes",
@ -1680,9 +1726,10 @@
"offline": false,
"options": [
"-h, --help This help",
"-u, --uid <8b hex> UID eg E011223344556677"
"-u, --uid <8b hex> UID eg E011223344556677",
"-b, --blocksize <dec> block size, defaults to 4"
],
"usage": "hf 15 sim [-h] -u <8b hex>"
"usage": "hf 15 sim [-h] -u <8b hex> [-b <dec>]"
},
"hf 15 slixdisable": {
"command": "hf 15 slixdisable",
@ -2133,9 +2180,10 @@
"-d, --dateofbirth <YYMMDD> date of birth in YYMMDD format",
"-e, --expiry <YYMMDD> expiry in YYMMDD format",
"-m, --mrz <[0-9A-Z<]> 2nd line of MRZ, 44 chars (passports only)",
"--path <dirpath> display info from offline dump stored in dirpath"
"--path <dirpath> display info from offline dump stored in dirpath",
"-i, --images show images"
],
"usage": "hf emrtd info [-h] [-n <alphanum>] [-d <YYMMDD>] [-e <YYMMDD>] [-m <[0-9A-Z<]>] [--path <dirpath>]"
"usage": "hf emrtd info [-hi] [-n <alphanum>] [-d <YYMMDD>] [-e <YYMMDD>] [-m <[0-9A-Z<]>] [--path <dirpath>]"
},
"hf emrtd list": {
"command": "hf emrtd list",
@ -2215,7 +2263,7 @@
"--sn <hex> number of service, 1 byte",
"--scl <hex> service code list, 2 bytes",
"-k, --key <hex> 3des key, 16 bytes",
"-v, --verbose verbose helptext"
"-v, --verbose verbose output"
],
"usage": "hf felica auth1 [-hv] [--an <hex>] [--acl <hex>] [-i <hex>] [--sn <hex>] [--scl <hex>] [-k <hex>]"
},
@ -2232,7 +2280,7 @@
"-i <hex> set custom IDm",
"-c, --cc <hex> M3c card challenge, 8 bytes",
"-k, --key <hex> 3des M3c decryption key, 16 bytes",
"-v, --verbose verbose helptext"
"-v, --verbose verbose output"
],
"usage": "hf felica auth2 [-hv] [-i <hex>] [-c <hex>] [-k <hex>]"
},
@ -2357,7 +2405,7 @@
"-h, --help This help",
"-i <hex> set custom IDm",
"-r <hex> set custom reserve",
"-v, --verbose verbose helptext"
"-v, --verbose verbose output"
],
"usage": "hf felica resetmode [-hv] [-i <hex>] [-r <hex>]"
},
@ -2405,7 +2453,7 @@
"-h, --help This help",
"-i <hex> set custom IDm",
"-r <hex> set custom reserve",
"-v, --verbose verbose helptext"
"-v, --verbose verbose output"
],
"usage": "hf felica rqspecver [-hv] [-i <hex>] [-r <hex>]"
},
@ -2586,6 +2634,86 @@
],
"usage": "hf fido reg [-havt] [-f <fn>] [--cp <str>] [--ap <str>] [--cpx <hex>] [--apx <hex>]"
},
"hf fudan dump": {
"command": "hf fudan dump",
"description": "Dump FUDAN tag to binary file If no <name> given, UID will be used as filename",
"notes": [
"hf fudan dump -f mydump -> dump using filename"
],
"offline": false,
"options": [
"-h, --help This help",
"-f, --file <fn> filename of dump"
],
"usage": "hf fudan dump [-h] [-f <fn>]"
},
"hf fudan help": {
"command": "hf fudan help",
"description": "help This help view Display content from tag dump file",
"notes": [],
"offline": true,
"options": [],
"usage": ""
},
"hf fudan rdbl": {
"command": "hf fudan rdbl",
"description": "Read fudan block",
"notes": [
"hf fudan rdbl --blk 0 -k FFFFFFFFFFFF",
"hf fudan rdbl --blk 3 -v"
],
"offline": false,
"options": [
"-h, --help This help",
"--blk <dec> block number",
"-k, --key <hex> key, 6 hex bytes",
"-v, --verbose verbose output"
],
"usage": "hf fudan rdbl [-hv] --blk <dec> [-k <hex>]"
},
"hf fudan reader": {
"command": "hf fudan reader",
"description": "Read a fudan tag",
"notes": [
"hf fudan reader",
"hf fudan reader -@ -> continuous reader mode"
],
"offline": false,
"options": [
"-h, --help This help",
"-v, --verbose verbose output",
"-@ optional - continuous reader mode"
],
"usage": "hf fudan reader [-hv@]"
},
"hf fudan view": {
"command": "hf fudan view",
"description": "Print a FUDAN dump file (bin/eml/json)",
"notes": [
"hf fudan view -f hf-fudan-01020304-dump.bin"
],
"offline": true,
"options": [
"-h, --help This help",
"-f, --file <fn> filename of dump"
],
"usage": "hf fudan view [-h] -f <fn>"
},
"hf fudan wrbl": {
"command": "hf fudan wrbl",
"description": "Write fudan block with 4 hex bytes of data",
"notes": [
"hf mf wrbl --blk 1 -k FFFFFFFFFFFF -d 01020304"
],
"offline": false,
"options": [
"-h, --help This help",
"--blk <dec> block number",
"-k, --key <hex> key, 6 hex bytes",
"-d, --data <hex> bytes to write, 4 hex bytes"
],
"usage": "hf fudan wrbl [-h] --blk <dec> [-k <hex>] [-d <hex>]"
},
"hf gallagher clone": {
"command": "hf gallagher clone",
"description": "Clone Gallagher credentials to a writable DESFire card Specify site key is required if using non-default key Key, lengths for the different crypto: DES 8 bytes 2TDEA or AES 16 bytes 3TDEA 24 bytes AID, default finds lowest available in range 0x??81F4, where ?? >= 0x20.",
@ -2612,6 +2740,19 @@
],
"usage": "hf gallagher clone [-hv] [-n <dec>] [-t <DES|2TDEA|3TDEA|AES>] [-k <hex>] --rc <dec> --fc <dec> --cn <dec> --il <dec> [--aid <hex>] [--sitekey <hex>] [--cadkey <hex>] [--nocadupdate] [--noappcreate] [--apdu]"
},
"hf gallagher decode": {
"command": "hf gallagher decode",
"description": "Decode Gallagher credential block Credential block can be specified with or without the bitwise inverse.",
"notes": [
"hf gallagher decode --data A3B4B0C151B0A31B"
],
"offline": true,
"options": [
"-h, --help This help",
"--data <hex> Credential block (8 or 16 bytes)"
],
"usage": "hf gallagher decode [-h] --data <hex>"
},
"hf gallagher delete": {
"command": "hf gallagher delete",
"description": "Delete Gallagher application from a DESFire card Specify site key is required if using non-default key",
@ -2650,7 +2791,7 @@
},
"hf gallagher help": {
"command": "hf gallagher help",
"description": "help This help diversifykey Diversify Gallagher key",
"description": "help This help diversifykey Diversify Gallagher key decode Decode Gallagher credential block",
"notes": [],
"offline": true,
"options": [],
@ -2676,7 +2817,7 @@
},
"hf help": {
"command": "hf help",
"description": "-------- ----------------------- High Frequency ----------------------- 14a { ISO14443A RFIDs... } 14b { ISO14443B RFIDs... } 15 { ISO15693 RFIDs... } cipurse { Cipurse transport Cards... } epa { German Identification Card... } emrtd { Machine Readable Travel Document... } felica { ISO18092 / FeliCa RFIDs... } fido { FIDO and FIDO2 authenticators... } gallagher { Gallagher DESFire RFIDs... } ksx6924 { KS X 6924 (T-Money, Snapper+) RFIDs } jooki { Jooki RFIDs... } iclass { ICLASS RFIDs... } legic { LEGIC RFIDs... } lto { LTO Cartridge Memory RFIDs... } mf { MIFARE RFIDs... } mfp { MIFARE Plus RFIDs... } mfu { MIFARE Ultralight RFIDs... } mfdes { MIFARE Desfire RFIDs... } ntag424 { NXP NTAG 4242 DNA RFIDs... } seos { SEOS RFIDs... } st25ta { ST25TA RFIDs... } thinfilm { Thinfilm RFIDs... } topaz { TOPAZ (NFC Type 1) RFIDs... } texkom { Texkom RFIDs... } xerox { Fuji/Xerox cartridge RFIDs... } waveshare { Waveshare NFC ePaper... } ----------- --------------------- General --------------------- help This help list List protocol data in trace buffer search Search for known HF tags",
"description": "-------- ----------------------- High Frequency ----------------------- 14a { ISO14443A RFIDs... } 14b { ISO14443B RFIDs... } 15 { ISO15693 RFIDs... } cipurse { Cipurse transport Cards... } epa { German Identification Card... } emrtd { Machine Readable Travel Document... } felica { ISO18092 / FeliCa RFIDs... } fido { FIDO and FIDO2 authenticators... } fudan { Fudan RFIDs... } gallagher { Gallagher DESFire RFIDs... } ksx6924 { KS X 6924 (T-Money, Snapper+) RFIDs } jooki { Jooki RFIDs... } iclass { ICLASS RFIDs... } legic { LEGIC RFIDs... } lto { LTO Cartridge Memory RFIDs... } mf { MIFARE RFIDs... } mfp { MIFARE Plus RFIDs... } mfu { MIFARE Ultralight RFIDs... } mfdes { MIFARE Desfire RFIDs... } ntag424 { NXP NTAG 4242 DNA RFIDs... } seos { SEOS RFIDs... } st25ta { ST25TA RFIDs... } thinfilm { Thinfilm RFIDs... } topaz { TOPAZ (NFC Type 1) RFIDs... } texkom { Texkom RFIDs... } xerox { Fuji/Xerox cartridge RFIDs... } waveshare { Waveshare NFC ePaper... } ----------- --------------------- General --------------------- help This help list List protocol data in trace buffer search Search for known HF tags",
"notes": [],
"offline": true,
"options": [],
@ -2768,9 +2909,10 @@
"--ci <dec> credit key index to select key from memory 'hf iclass managekeys'",
"--elite elite computations applied to key",
"--raw raw, the key is interpreted as raw block 3/4",
"--nr replay of NR/MAC"
"--nr replay of NR/MAC",
"-z, --dense dense dump output style"
],
"usage": "hf iclass dump [-h] [-f <fn>] [-k <hex>] [--ki <dec>] [--credit <hex>] [--ci <dec>] [--elite] [--raw] [--nr]"
"usage": "hf iclass dump [-hz] [-f <fn>] [-k <hex>] [--ki <dec>] [--credit <hex>] [--ci <dec>] [--elite] [--raw] [--nr]"
},
"hf iclass eload": {
"command": "hf iclass eload",
@ -2853,9 +2995,10 @@
"options": [
"-h, --help This help",
"-s, --size <256|2048> number of bytes to save (default 256)",
"-v, --verbose verbose output"
"-v, --verbose verbose output",
"-z, --dense dense dump output style"
],
"usage": "hf iclass eview [-hv] [-s <256|2048>]"
"usage": "hf iclass eview [-hvz] [-s <256|2048>]"
},
"hf iclass help": {
"command": "hf iclass help",
@ -3072,9 +3215,10 @@
"-f, --file <fn> filename of dump (bin/eml/json)",
"--first <dec> Begin printing from this block (default block 6)",
"--last <dec> End printing at this block (default 0, ALL)",
"-v, --verbose verbose output"
"-v, --verbose verbose output",
"-z, --dense dense dump output style"
],
"usage": "hf iclass view [-hv] -f <fn> [--first <dec>] [--last <dec>]"
"usage": "hf iclass view [-hvz] -f <fn> [--first <dec>] [--last <dec>]"
},
"hf iclass wrbl": {
"command": "hf iclass wrbl",
@ -3091,13 +3235,14 @@
"--ki <dec> Key index to select key from memory 'hf iclass managekeys'",
"-b, --block <dec> The block number to read",
"-d, --data <hex> data to write as 8 hex bytes",
"-m, --mac <hex> replay mac data (4 hex bytes)",
"--credit key is assumed to be the credit key",
"--elite elite computations applied to key",
"--raw no computations applied to key",
"--nr replay of NR/MAC",
"-v, --verbose verbose output"
],
"usage": "hf iclass wrbl [-hv] [-k <hex>] [--ki <dec>] -b <dec> -d <hex> [--credit] [--elite] [--raw] [--nr]"
"usage": "hf iclass wrbl [-hv] [-k <hex>] [--ki <dec>] -b <dec> -d <hex> [-m <hex>] [--credit] [--elite] [--raw] [--nr]"
},
"hf jooki clone": {
"command": "hf jooki clone",
@ -3575,6 +3720,19 @@
],
"usage": "hf lto rdbl [-h] [--first <dec>] [--last <dec>]"
},
"hf lto reader": {
"command": "hf lto reader",
"description": "Act as a LTO-CM reader. Look for LTO-CM tags until Enter or the pm3 button is pressed",
"notes": [
"hf lto reader -@ -> continuous reader mode"
],
"offline": false,
"options": [
"-h, --help This help",
"-@ optional - continuous reader mode"
],
"usage": "hf lto reader [-h@]"
},
"hf lto restore": {
"command": "hf lto restore",
"description": "Restore data from dumpfile to LTO tag",
@ -3646,7 +3804,7 @@
"-a Input key A (def)",
"-b Input key B",
"-f, --file <fn> filename of dictionary",
"-s, --slow Slower acquisition (required by some non standard cards)",
"--slow Slower acquisition (required by some non standard cards)",
"-l, --legacy legacy mode (use the slow `hf mf chk`)",
"-v, --verbose verbose output (statistics)",
"--mini MIFARE Classic Mini / S20",
@ -3660,7 +3818,7 @@
"--i2 AVX2",
"--i5 AVX512"
],
"usage": "hf mf autopwn [-habslv] [-k <hex>] [-s <dec>] [-f <fn>] [--mini] [--1k] [--2k] [--4k] [--in] [--im] [--is] [--ia] [--i2] [--i5]"
"usage": "hf mf autopwn [-hablv] [-k <hex>] [-s <dec>] [-f <fn>] [--slow] [--mini] [--1k] [--2k] [--4k] [--in] [--im] [--is] [--ia] [--i2] [--i5]"
},
"hf mf cgetblk": {
"command": "hf mf cgetblk",
@ -4143,7 +4301,7 @@
},
"hf mf help": {
"command": "hf mf help",
"description": "help This help list List MIFARE history hardnested Nested attack for hardened MIFARE Classic cards decrypt [nt] [ar_enc] [at_enc] [data] - to decrypt sniff or trace acl Decode and print MIFARE Classic access rights bytes value Value blocks view Display content from tag dump file",
"description": "help This help list List MIFARE history hardnested Nested attack for hardened MIFARE Classic cards decrypt [nt] [ar_enc] [at_enc] [data] - to decrypt sniff or trace acl Decode and print MIFARE Classic access rights bytes mad Checks and prints MAD value Value blocks view Display content from tag dump file",
"notes": [],
"offline": true,
"options": [],
@ -4178,7 +4336,7 @@
"hf mf mad --aid e103 -k ffffffffffff -b -> shows NDEF data if exists. read card with custom key and key B",
"hf mf mad --dch -k ffffffffffff -> decode CardHolder information"
],
"offline": false,
"offline": true,
"options": [
"-h, --help This help",
"-v, --verbose show technical data",
@ -4204,6 +4362,27 @@
],
"usage": "hf mf nack [-hv]"
},
"hf mf ndefformat": {
"command": "hf mf ndefformat",
"description": "format MIFARE Classic Tag as a NFC tag with Data Exchange Format (NDEF) If no <name> given, UID will be used as filename",
"notes": [
"hf mf ndefformat --mini -> MIFARE Mini",
"hf mf ndefformat --1k -> MIFARE Classic 1k",
"hf mf ndefformat --2k -> MIFARE 2k",
"hf mf ndefformat --4k -> MIFARE 4k",
"hf mf ndefformat --keys hf-mf-066C8B78-key.bin -> MIFARE 1k with keys from specified file"
],
"offline": false,
"options": [
"-h, --help This help",
"-k, --keys <fn> filename of keys",
"--mini MIFARE Classic Mini / S20",
"--1k MIFARE Classic 1k / S50 (def)",
"--2k MIFARE Classic/Plus 2k",
"--4k MIFARE Classic 4k / S70"
],
"usage": "hf mf ndefformat [-h] [-k <fn>] [--mini] [--1k] [--2k] [--4k]"
},
"hf mf ndefread": {
"command": "hf mf ndefread",
"description": "Prints NFC Data Exchange Format (NDEF)",
@ -4337,7 +4516,7 @@
},
"hf mf sim": {
"command": "hf mf sim",
"description": "Simulate MIFARE Classic card",
"description": "Simulate MIFARE Classic family type based upon ISO/IEC 14443 type A tag with 4,7 or 10 byte UID from emulator memory. See `hf mf eload` first. The UID from emulator memory will be used if not specified.",
"notes": [
"hf mf sim --mini -> MIFARE Mini",
"hf mf sim --1k -> MIFARE Classic 1k (default)",
@ -4350,7 +4529,7 @@
"offline": false,
"options": [
"-h, --help This help",
"-u, --uid <hex> UID 4,7 or 10bytes. If not specified, the UID 4b/7b from emulator memory will be used",
"-u, --uid <hex> <4|7|10> hex bytes UID",
"--mini MIFARE Classic Mini / S20",
"--1k MIFARE Classic 1k / S50",
"--2k MIFARE Classic/Plus 2k",
@ -5347,9 +5526,10 @@
},
"hf mfdes lsfiles": {
"command": "hf mfdes lsfiles",
"description": "Show file list. Master key needs to be provided or flag --no-auth set (depend on cards settings).",
"description": "This commands List files inside application AID / ISOID. Master key needs to be provided or flag --no-auth set (depend on cards settings).",
"notes": [
"hf mfdes lsfiles --aid 123456 -> show file list for: app=123456 with defaults from `default` commandhf mfdes lsfiles --isoid df01 --no-auth -> show files from desfire light"
"hf mfdes lsfiles --aid 123456 -> AID 123456, list files using `default` command creds",
"hf mfdes lsfiles --isoid df01 --no-auth -> list files for DESFire light"
],
"offline": false,
"options": [
@ -5567,7 +5747,7 @@
"notes": [
"In the mode with CommitReaderID to decode previous reader id command needs to read transaction counter via dump/read command and specify --trkey",
"",
"hf mfdes write --aid 123456 --fid 01 -d 01020304 -> write file: app=123456, file=01, offset=0, get file type from card. use default channel settings from `default` command",
"hf mfdes write --aid 123456 --fid 01 -d 01020304 -> AID 123456, file=01, offset=0, get file type from card. use default channel settings from `default` command",
"hf mfdes write --aid 123456 --fid 01 --type data -d 01020304 --0ffset 000100 -> write data to std file with offset 0x100",
"hf mfdes write --aid 123456 --fid 01 --type data -d 01020304 --commit -> write data to backup file with commit",
"hf mfdes write --aid 123456 --fid 01 --type value -d 00000001 -> increment value file",
@ -5805,7 +5985,7 @@
"offline": false,
"options": [
"-h, --help This help",
"-v, --verbose Verbose mode",
"-v, --verbose Verbose output",
"--ki <hex> Key number, 2 hex bytes",
"--key <hex> Key, 16 hex bytes"
],
@ -6037,10 +6217,11 @@
},
"hf mfu sim": {
"command": "hf mfu sim",
"description": "Simulate MIFARE Ultralight family type based upon ISO/IEC 14443 type A tag with 4,7 or 10 byte UID from emulator memory. See `hf mfu eload` first. See `hf 14a sim -h` to see available types. You want 2 or 7 usually.",
"description": "Simulate MIFARE Ultralight family type based upon ISO/IEC 14443 type A tag with 4,7 or 10 byte UID from emulator memory. See `hf mfu eload` first. The UID from emulator memory will be used if not specified. See `hf 14a sim -h` to see available types. You want 2 or 7 usually.",
"notes": [
"hf mfu sim -t 2 --uid 11223344556677 -> MIFARE Ultralight",
"hf mfu sim -t 7 --uid 11223344556677 -n 5 -> AMIIBO (NTAG 215), pack 0x8080"
"hf mfu sim -t 7 --uid 11223344556677 -n 5 -> Amiibo (NTAG 215), pack 0x8080",
"hf mfu sim -t 7 -> Amiibo (NTAG 215), pack 0x8080"
],
"offline": false,
"options": [
@ -6209,9 +6390,11 @@
"options": [
"-h, --help This help",
"--sp <dec> skip sample pairs",
"--st <dec> skip number of triggers"
"--st <dec> skip number of triggers",
"--smode [none|drop|min|max|avg] Skip mode. It switches on the function that applies to several samples before they saved to memory",
"--sratio <dec, ms> Skip ratio. It applied the function above to (ratio * 2) samples. For ratio = 1 it 2 samples."
],
"usage": "hf sniff [-h] [--sp <dec>] [--st <dec>]"
"usage": "hf sniff [-h] [--sp <dec>] [--st <dec>] [--smode [none|drop|min|max|avg]] [--sratio <dec, ms>]"
},
"hf st25ta help": {
"command": "hf st25ta help",
@ -6335,17 +6518,17 @@
"offline": false,
"options": [
"-h, --help This help",
"-1 Use data from Graphbuffer",
"-v, --verbose Verbose scan and output",
"-@ optional - continuous reader mode"
],
"usage": "hf texkom reader [-hv@]"
"usage": "hf texkom reader [-h1v@]"
},
"hf texkom sim": {
"command": "hf texkom sim",
"description": "Simulate a texkom tag",
"notes": [
"hf texkom sim",
"",
"hf texkom sim --raw FFFF638C7DC45553 -> simulate TK13 tag with id 8C7DC455",
"hf texkom sim --tk17 --raw FFFFCA17F31EC512 -> simulate TK17 tag with id 17F31EC5",
"hf texkom sim --id 8C7DC455 -> simulate TK13 tag with id 8C7DC455",
@ -6417,9 +6600,22 @@
],
"usage": "hf thinfilm sim [-h] -d <hex> [--raw]"
},
"hf topaz dump": {
"command": "hf topaz dump",
"description": "Dump TOPAZ tag to binary file If no <name> given, UID will be used as filename",
"notes": [
"hf topaz dump"
],
"offline": false,
"options": [
"-h, --help This help",
"-f, --file <fn> filename of dump"
],
"usage": "hf topaz dump [-h] [-f <fn>]"
},
"hf topaz help": {
"command": "hf topaz help",
"description": "help This help list List Topaz history",
"description": "help This help list List Topaz history view Display content from tag dump file",
"notes": [],
"offline": true,
"options": [],
@ -6465,7 +6661,7 @@
"command": "hf topaz raw",
"description": "Send raw hex data to Topaz tags",
"notes": [
"hf topaz raw -> Not yet implemented"
"hf topaz raw"
],
"offline": false,
"options": [
@ -6473,18 +6669,33 @@
],
"usage": "hf topaz raw [-h]"
},
"hf topaz reader": {
"command": "hf topaz reader",
"description": "Read UID from Topaz tags",
"hf topaz rdbl": {
"command": "hf topaz rdbl",
"description": "Read a block",
"notes": [
"hf topaz reader"
"hf topaz rdbl -b 7"
],
"offline": false,
"options": [
"-h, --help This help",
"-v, --verbose verbose output"
"-b, --block <dec> Block number to write"
],
"usage": "hf topaz reader [-hv]"
"usage": "hf topaz rdbl [-h] -b <dec>"
},
"hf topaz reader": {
"command": "hf topaz reader",
"description": "Read UID from Topaz tags",
"notes": [
"hf topaz reader",
"hf topaz reader -@ -> Continuous mode"
],
"offline": false,
"options": [
"-h, --help This help",
"-v, --verbose verbose output",
"-@ optional - continuous reader mode"
],
"usage": "hf topaz reader [-hv@]"
},
"hf topaz sim": {
"command": "hf topaz sim",
@ -6510,6 +6721,33 @@
],
"usage": "hf topaz sniff [-h]"
},
"hf topaz view": {
"command": "hf topaz view",
"description": "Print a Topaz tag dump file (bin/eml/json)",
"notes": [
"hf topaz view -f hf-topaz-04010203-dump.bin"
],
"offline": true,
"options": [
"-h, --help This help",
"-f, --file <fn> filename of dump (bin/eml/json)"
],
"usage": "hf topaz view [-h] -f <fn>"
},
"hf topaz wrbl": {
"command": "hf topaz wrbl",
"description": "Write a block",
"notes": [
"hf topaz wrbl -b 7 -d 1122334455667788"
],
"offline": false,
"options": [
"-h, --help This help",
"-b, --block <dec> Block number to write",
"-d, --data <hex> Block data (8 hex bytes)"
],
"usage": "hf topaz wrbl [-h] -b <dec> -d <hex>"
},
"hf tune": {
"command": "hf tune",
"description": "Continuously measure HF antenna tuning. Press button or <Enter> to interrupt.",
@ -6581,7 +6819,7 @@
},
"hf xerox info": {
"command": "hf xerox info",
"description": "Act as a reader.",
"description": "Tag information for ISO/IEC 14443 type B / XEROX based tags",
"notes": [
"hf xerox info"
],
@ -6592,6 +6830,21 @@
],
"usage": "hf xerox info [-hv]"
},
"hf xerox reader": {
"command": "hf xerox reader",
"description": "Act as a 14443B reader to identify a tag",
"notes": [
"hf xerox reader",
"hf xerox reader -@"
],
"offline": false,
"options": [
"-h, --help This help",
"-v, --verbose verbose output",
"-@ optional - continuous reader mode"
],
"usage": "hf xerox reader [-hv@]"
},
"hints": {
"command": "hints",
"description": "Turn on/off hints",
@ -6623,8 +6876,8 @@
"command": "hw connect",
"description": "Connects to a Proxmark3 device via specified serial port. Baudrate here is only for physical UART or UART-BT, NOT for USB-CDC or blue shark add-on",
"notes": [
"hw connect -p /dev/ttyacm0",
"hw connect -p /dev/ttyacm0 -b 115200"
"hw connect -p /dev/ttyACM0",
"hw connect -p /dev/ttyACM0 -b 115200"
],
"offline": true,
"options": [
@ -6875,7 +7128,7 @@
"--fc <dec> 8|16bit value facility code",
"--cn <dec> optional - card number to start with, max 65535",
"--delay <dec> optional - delay betweens attempts in ms. Default 1000ms",
"-v, --verbose verbose logging, show all tries"
"-v, --verbose verbose output"
],
"usage": "lf awid brute [-hv] --fmt <dec> --fc <dec> [--cn <dec>] [--delay <dec>]"
},
@ -7495,7 +7748,7 @@
"options": [
"-h, --help This help",
"-p, --pwd <hex> password, 4 hex bytes, lsb",
"-v, --verbose additional output of data section"
"-v, --verbose verbose output"
],
"usage": "lf em 4x50 info [-hv] [-p <hex>]"
},
@ -7954,7 +8207,7 @@
"offline": false,
"options": [
"-h, --help This help",
"-v, --verbose verbose logging, show all tries",
"-v, --verbose verbose output",
"-w, --wiegand <format> see `wiegand list` for available formats",
"--fc <dec> facility code",
"--cn <dec> card number to start with",
@ -10274,6 +10527,27 @@
"options": [],
"usage": ""
},
"nfc mf cformat": {
"command": "nfc mf cformat",
"description": "format MIFARE Classic Tag as a NFC tag with Data Exchange Format (NDEF) If no <name> given, UID will be used as filename",
"notes": [
"hf mf ndefformat --mini -> MIFARE Mini",
"hf mf ndefformat --1k -> MIFARE Classic 1k",
"hf mf ndefformat --2k -> MIFARE 2k",
"hf mf ndefformat --4k -> MIFARE 4k",
"hf mf ndefformat --keys hf-mf-066C8B78-key.bin -> MIFARE 1k with keys from specified file"
],
"offline": false,
"options": [
"-h, --help This help",
"-k, --keys <fn> filename of keys",
"--mini MIFARE Classic Mini / S20",
"--1k MIFARE Classic 1k / S50 (def)",
"--2k MIFARE Classic/Plus 2k",
"--4k MIFARE Classic 4k / S70"
],
"usage": "hf mf ndefformat [-h] [-k <fn>] [--mini] [--1k] [--2k] [--4k]"
},
"nfc mf cread": {
"command": "nfc mf cread",
"description": "Prints NFC Data Exchange Format (NDEF)",
@ -10500,6 +10774,18 @@
],
"usage": "prefs get hints [-h]"
},
"prefs get output": {
"command": "prefs get output",
"description": "Get preference of dump output style",
"notes": [
"prefs get output"
],
"offline": true,
"options": [
"-h, --help This help"
],
"usage": "prefs get output [-h]"
},
"prefs get plotsliders": {
"command": "prefs get plotsliders",
"description": "Get preference of showing the plotslider control in the client",
@ -10608,7 +10894,7 @@
},
"prefs set help": {
"command": "prefs set help",
"description": "help This help barmode Set bar mode clientdebug Set client debug level clientdelay Set client execution delay color Set color support emoji Set emoji display hints Set hint display savepaths ... to be adjusted next ... plotsliders Set plot slider display",
"description": "help This help barmode Set bar mode clientdebug Set client debug level clientdelay Set client execution delay color Set color support emoji Set emoji display hints Set hint display savepaths ... to be adjusted next ... output Set dump output style plotsliders Set plot slider display",
"notes": [],
"offline": true,
"options": [],
@ -10628,6 +10914,21 @@
],
"usage": "prefs set hints [-h] [--off] [--on]"
},
"prefs set output": {
"command": "prefs set output",
"description": "Set dump output style to condense consecutive repeated data",
"notes": [
"prefs set output --normal -> sets the output style to normal",
"prefs set output --dense -> sets the output style to dense"
],
"offline": true,
"options": [
"-h, --help This help",
"--normal normal output",
"--dense dense output"
],
"usage": "prefs set output [-h] [--normal] [--dense]"
},
"prefs set plotsliders": {
"command": "prefs set plotsliders",
"description": "Set persistent preference of showing the plotslider control in the client",
@ -10748,7 +11049,7 @@
"offline": false,
"options": [
"-h, --help This help",
"-v, --verbose verbose"
"-v, --verbose verbose output"
],
"usage": "smart info [-hv]"
},
@ -10803,7 +11104,7 @@
"offline": false,
"options": [
"-h, --help This help",
"-v, --verbose verbose"
"-v, --verbose verbose output"
],
"usage": "smart reader [-hv]"
},
@ -11093,8 +11394,8 @@
}
},
"metadata": {
"commands_extracted": 700,
"commands_extracted": 720,
"extracted_by": "PM3Help2JSON v1.00",
"extracted_on": "2022-07-07T21:17:54"
"extracted_on": "2022-10-16T15:53:13"
}
}

View file

@ -230,6 +230,9 @@ Check column "offline" for their availability.
|`hf 15 reader `|N |`Act like an ISO-15693 reader`
|`hf 15 restore `|N |`Restore from file to all memory pages of an ISO-15693 tag`
|`hf 15 samples `|N |`Acquire samples as reader (enables carrier, sends inquiry)`
|`hf 15 eload `|N |`Load image file into emulator to be used by 'sim' command`
|`hf 15 esave `|N |`Save emulator memory into image file`
|`hf 15 eview `|N |`View emulator memory`
|`hf 15 sim `|N |`Fake an ISO-15693 tag`
|`hf 15 slixdisable `|N |`Disable privacy mode on SLIX ISO-15693 tag`
|`hf 15 wrbl `|N |`Write a block`
@ -326,6 +329,20 @@ Check column "offline" for their availability.
|`hf fido assert `|N |`FIDO2 GetAssertion command.`
### hf fudan
{ Fudan RFIDs... }
|command |offline |description
|------- |------- |-----------
|`hf fudan help `|Y |`This help`
|`hf fudan reader `|N |`Act like a fudan reader`
|`hf fudan dump `|N |`Dump FUDAN tag to binary file`
|`hf fudan rdbl `|N |`Read a fudan tag`
|`hf fudan view `|Y |`Display content from tag dump file`
|`hf fudan wrbl `|N |`Write a fudan tag`
### hf gallagher
{ Gallagher DESFire RFIDs... }
@ -430,11 +447,12 @@ Check column "offline" for their availability.
|------- |------- |-----------
|`hf lto help `|Y |`This help`
|`hf lto dump `|N |`Dump LTO-CM tag to file`
|`hf lto restore `|N |`Restore dump file to LTO-CM tag`
|`hf lto info `|N |`Tag information`
|`hf lto rdbl `|N |`Read block`
|`hf lto wrbl `|N |`Write block`
|`hf lto list `|Y |`List LTO-CM history`
|`hf lto rdbl `|N |`Read block`
|`hf lto reader `|N |`Act like a LTO-CM reader`
|`hf lto restore `|N |`Restore dump file to LTO-CM tag`
|`hf lto wrbl `|N |`Write block`
### hf mf
@ -458,12 +476,11 @@ Check column "offline" for their availability.
|`hf mf auth4 `|N |`ISO14443-4 AES authentication`
|`hf mf acl `|Y |`Decode and print MIFARE Classic access rights bytes`
|`hf mf dump `|N |`Dump MIFARE Classic tag to binary file`
|`hf mf mad `|N |`Checks and prints MAD`
|`hf mf ndefread `|N |`Prints NDEF records from card`
|`hf mf mad `|Y |`Checks and prints MAD`
|`hf mf personalize `|N |`Personalize UID (MIFARE Classic EV1 only)`
|`hf mf rdbl `|N |`Read MIFARE Classic block`
|`hf mf rdsc `|N |`Read MIFARE Classic sector`
|`hf mf restore `|N |`Restore MIFARE Classic binary file to BLANK tag`
|`hf mf restore `|N |`Restore MIFARE Classic binary file to tag`
|`hf mf setmod `|N |`Set MIFARE Classic EV1 load modulation strength`
|`hf mf value `|Y |`Value blocks`
|`hf mf view `|Y |`Display content from tag dump file`
@ -491,6 +508,8 @@ Check column "offline" for their availability.
|`hf mf gen3blk `|N |`Overwrite manufacturer block`
|`hf mf gen3freeze `|N |`Perma lock UID changes. irreversible`
|`hf mf gview `|N |`View card`
|`hf mf ndefformat `|N |`Format MIFARE Classic Tag as NFC Tag`
|`hf mf ndefread `|N |`Prints NDEF records from card`
### hf mfp
@ -642,12 +661,16 @@ Check column "offline" for their availability.
|command |offline |description
|------- |------- |-----------
|`hf topaz help `|Y |`This help`
|`hf topaz dump `|N |`Dump TOPAZ family tag to file`
|`hf topaz list `|Y |`List Topaz history`
|`hf topaz info `|N |`Tag information`
|`hf topaz reader `|N |`Act like a Topaz reader`
|`hf topaz sim `|N |`<UID> -- Simulate Topaz tag`
|`hf topaz sim `|N |`Simulate Topaz tag`
|`hf topaz sniff `|N |`Sniff Topaz reader-tag communication`
|`hf topaz raw `|N |`Send raw hex data to tag`
|`hf topaz rdbl `|N |`Read block`
|`hf topaz view `|Y |`Display content from tag dump file`
|`hf topaz wrbl `|N |`Write block`
### hf texkom
@ -1282,6 +1305,7 @@ Check column "offline" for their availability.
|command |offline |description
|------- |------- |-----------
|`nfc mf cread `|N |`read NFC Type MIFARE Classic Tag`
|`nfc mf cformat `|N |`format MIFARE Classic Tag as NFC Tag`
|`nfc mf pread `|N |`read NFC Type MIFARE Plus Tag`
|`nfc mf help `|Y |`This help`