This commit is contained in:
iceman1001 2025-03-19 12:53:24 +01:00
commit 87c2e82e2f
6 changed files with 138 additions and 9 deletions

View file

@ -672,7 +672,7 @@ int htu_read_uid(uint64_t *uid, bool ledcontrol, bool send_answer) {
DBG Dbprintf("HitagU UID: %02X%02X%02X%02X%02X%02X", tag.uid[0], tag.uid[1], tag.uid[2], tag.uid[3], tag.uid[4], tag.uid[5]);
if (uid) {
*uid = BSWAP_48(*(uint64_t*)&tag.uid);
*uid = BSWAP_48(*(uint64_t *)&tag.uid);
}
exit:

View file

@ -798,7 +798,7 @@ static int CmdEM410xClone(const char *Cmd) {
config.datarate = 0x02;
break;
}
packet.data[0] = reflect8(*(uint8_t*)&config);
packet.data[0] = reflect8(*(uint8_t *)&config);
packet.page = HITAGU_CONFIG_PADR; // Config block
break;
}

View file

@ -691,6 +691,13 @@ const static vocabulary_t vocabulary[] = {
{ 0, "lf hitag hts restore" },
{ 0, "lf hitag hts wrbl" },
{ 0, "lf hitag hts sim" },
{ 1, "lf hitag htu help" },
{ 1, "lf hitag htu list" },
{ 0, "lf hitag htu reader" },
{ 0, "lf hitag htu rdbl" },
{ 0, "lf hitag htu dump" },
{ 0, "lf hitag htu wrbl" },
{ 0, "lf hitag htu sim" },
{ 1, "lf idteck help" },
{ 1, "lf idteck demod" },
{ 0, "lf idteck reader" },

View file

@ -8841,12 +8841,13 @@
},
"lf em 410x clone": {
"command": "lf em 410x clone",
"description": "clone a EM410x ID to a T55x7, Q5/T5555, EM4305/4469 or Hitag S/8211/8268/8310 tag.",
"description": "clone a EM410x ID to a T55x7, Q5/T5555, EM4305/4469, Hitag S/8211/8268/8310 or Hitag \u00b5/8265 tag.",
"notes": [
"lf em 410x clone --id 0F0368568B -> encode for T55x7 tag",
"lf em 410x clone --id 0F0368568B --q5 -> encode for Q5/T5555 tag",
"lf em 410x clone --id 0F0368568B --em -> encode for EM4305/4469",
"lf em 410x clone --id 0F0368568B --hts -> encode for Hitag S/8211/8268/8310"
"lf em 410x clone --id 0F0368568B --hts -> encode for Hitag S/8211/8268/8310",
"lf em 410x clone --id 0F0368568B --htu -> encode for Hitag \u00b5/8265 tag"
],
"offline": false,
"options": [
@ -8856,9 +8857,10 @@
"--q5 optional - specify writing to Q5/T5555 tag",
"--em optional - specify writing to EM4305/4469 tag",
"--hts optional - specify writing to Hitag S/8211/8268/8310 tag",
"--htu optional - specify writing to Hitag \u00b5/8265 tag",
"--electra optional - add Electra blocks to tag"
],
"usage": "lf em 410x clone [-h] [--clk <dec>] --id <hex> [--q5] [--em] [--hts] [--electra]"
"usage": "lf em 410x clone [-h] [--clk <dec>] --id <hex> [--q5] [--em] [--hts] [--htu] [--electra]"
},
"lf em 410x reader": {
"command": "lf em 410x reader",
@ -9975,7 +9977,7 @@
},
"lf hitag help": {
"command": "lf hitag help",
"description": "help This help list List Hitag trace history hts { Hitag S/8211 operations } test Perform self tests view Display content from tag dump file lookup Uses authentication trace to check for key in dictionary file --------------------------------------------------------------------------------------- lf hitag list available offline: yes Alias of `trace list -t hitag2` with selected protocol data to annotate trace buffer You can load a trace from file (see `trace load -h`) or it be downloaded from device by default It accepts all other arguments of `trace list`. Note that some might not be relevant for this specific protocol",
"description": "help This help list List Hitag trace history hts { Hitag S/8211 operations } htu { Hitag \u00b5/8265 operations } test Perform self tests view Display content from tag dump file lookup Uses authentication trace to check for key in dictionary file --------------------------------------------------------------------------------------- lf hitag list available offline: yes Alias of `trace list -t hitag2` with selected protocol data to annotate trace buffer You can load a trace from file (see `trace load -h`) or it be downloaded from device by default It accepts all other arguments of `trace list`. Note that some might not be relevant for this specific protocol",
"notes": [
"lf hitag list --frame -> show frame delay times",
"lf hitag list -1 -> use trace buffer"
@ -10137,6 +10139,110 @@
],
"usage": "lf hitag hts wrbl [-h8] [--nrar <hex>] [--crypto] [-k <hex>] [-m <dec>] -p <dec> -d <hex>"
},
"lf hitag htu dump": {
"command": "lf hitag htu dump",
"description": "Read all Hitag \u00b5 memory and save to file 82xx password mode: - default password 00000000",
"notes": [
"lf hitag htu dump --82xx -> use def pwd",
"lf hitag htu dump --82xx -k 9AC4999C -> pwd mode"
],
"offline": false,
"options": [
"-h, --help This help",
"-8, --82xx 82xx mode",
"-k, --key <hex> pwd, 4 hex bytes",
"-f, --file <fn> specify file name",
"--ns no save to file"
],
"usage": "lf hitag htu dump [-h8] [-k <hex>] [-f <fn>] [--ns]"
},
"lf hitag htu help": {
"command": "lf hitag htu help",
"description": "help This help list List Hitag \u00b5 trace history --------------------------------------------------------------------------------------- lf hitag htu list available offline: yes Alias of `trace list -t hitagu` with selected protocol data to annotate trace buffer You can load a trace from file (see `trace load -h`) or it be downloaded from device by default It accepts all other arguments of `trace list`. Note that some might not be relevant for this specific protocol",
"notes": [
"lf hitag htu list --frame -> show frame delay times",
"lf hitag htu list -1 -> use trace buffer"
],
"offline": true,
"options": [
"-h, --help This help",
"-1, --buffer use data from trace buffer",
"--frame show frame delay times",
"-c mark CRC bytes",
"-r show relative times (gap and duration)",
"-u display times in microseconds instead of clock cycles",
"-x show hexdump to convert to pcap(ng)",
"or to import into Wireshark using encapsulation type \"ISO 14443\"",
"-f, --file <fn> filename of dictionary"
],
"usage": "lf hitag htu list [-h1crux] [--frame] [-f <fn>]"
},
"lf hitag htu rdbl": {
"command": "lf hitag htu rdbl",
"description": "Read Hitag \u00b5 memory. 82xx password mode: - default password 00000000",
"notes": [
"lf hitag htu rdbl -p 1 -> Hitag \u00b5, plain mode",
"lf hitag htu rdbl -p 1 --82xx -> 82xx, password mode, def pass",
"lf hitag htu rdbl -p 1 --82xx -k 9AC4999C -> 82xx, password mode"
],
"offline": false,
"options": [
"-h, --help This help",
"-8, --82xx 82xx mode",
"-k, --key <hex> pwd, 4 hex bytes",
"-p, --page <dec> block address to read from (def: 0)",
"-c, --count <dec> how many blocks to read. '0' reads all blocks (def: 1)"
],
"usage": "lf hitag htu rdbl [-h8] [-k <hex>] [-p <dec>] [-c <dec>]"
},
"lf hitag htu reader": {
"command": "lf hitag htu reader",
"description": "Act as a Hitag \u00b5 reader. Look for Hitag \u00b5 tags until Enter or the pm3 button is pressed",
"notes": [
"lf hitag htu reader",
"lf hitag htu reader -@ -> Continuous mode"
],
"offline": false,
"options": [
"-h, --help This help",
"-@ continuous reader mode"
],
"usage": "lf hitag htu reader [-h@]"
},
"lf hitag htu sim": {
"command": "lf hitag htu sim",
"description": "Simulate Hitag \u00b5 transponder You need to `lf hitag htu eload` first",
"notes": [
"lf hitag htu sim",
"lf hitag htu sim --82xx",
"lf hitag htu sim -t 30 -> set threshold to 30"
],
"offline": false,
"options": [
"-h, --help This help",
"-8, --82xx simulate 82xx",
"-t, --threshold <dec> set edge detect threshold (def: 127)"
],
"usage": "lf hitag htu sim [-h8] [-t <dec>]"
},
"lf hitag htu wrbl": {
"command": "lf hitag htu wrbl",
"description": "Write a block in Hitag \u00b5 memory. 82xx password mode: - default password 00000000",
"notes": [
"lf hitag htu wrbl -p 6 -d 01020304 -> Hitag \u00b5, plain mode",
"lf hitag htu wrbl -p 6 -d 01020304 --82xx -> use def pwd",
"lf hitag htu wrbl -p 6 -d 01020304 --82xx -k 9AC4999C -> 82xx, password mode"
],
"offline": false,
"options": [
"-h, --help This help",
"-8, --82xx 82xx mode",
"-k, --key <hex> pwd, 4 hex bytes",
"-p, --page <dec> block address to write to",
"-d, --data <hex> data, 4 hex bytes"
],
"usage": "lf hitag htu wrbl [-h8] [-k <hex>] -p <dec> -d <hex>"
},
"lf hitag info": {
"command": "lf hitag info",
"description": "Hitag 2 tag information",
@ -13033,6 +13139,7 @@
"trace list -t hitag1 -> interpret as Hitag 1",
"trace list -t hitag2 -> interpret as Hitag 2",
"trace list -t hitags -> interpret as Hitag S",
"trace list -t hitagu -> interpret as Hitag \u00b5",
"trace list -t iclass -> interpret as iCLASS",
"trace list -t legic -> interpret as LEGIC",
"trace list -t lto -> interpret as LTO-CM",
@ -13248,8 +13355,8 @@
}
},
"metadata": {
"commands_extracted": 761,
"commands_extracted": 767,
"extracted_by": "PM3Help2JSON v1.00",
"extracted_on": "2025-03-19T10:24:44"
"extracted_on": "2025-03-19T11:50:24"
}
}

View file

@ -1097,6 +1097,21 @@ Check column "offline" for their availability.
|`lf hitag hts sim `|N |`Simulate Hitag S transponder`
### lf hitag htu
{ Hitag µ/8265 operations }
|command |offline |description
|------- |------- |-----------
|`lf hitag htu help `|Y |`This help`
|`lf hitag htu list `|Y |`List Hitag µ trace history`
|`lf hitag htu reader `|N |`Act like a Hitag µ reader`
|`lf hitag htu rdbl `|N |`Read Hitag µ block`
|`lf hitag htu dump `|N |`Dump Hitag µ blocks to a file`
|`lf hitag htu wrbl `|N |`Write Hitag µ block`
|`lf hitag htu sim `|N |`Simulate Hitag µ transponder`
### lf idteck
{ Idteck RFIDs... }

View file

@ -282,7 +282,7 @@ typedef struct {
typedef struct {
// 64KB SRAM -> 524288 bits(max sample num) < 2^30
uint32_t samples :
uint32_t samples :
LF_SAMPLES_BITS;
bool realtime : 1;
bool verbose : 1;