mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-21 22:03:42 -07:00
updated helptexts
This commit is contained in:
parent
0f662846f4
commit
731e711e34
1 changed files with 107 additions and 93 deletions
|
@ -51,26 +51,30 @@ static int usage_hf_iclass_sim(void) {
|
|||
PrintAndLogEx(NORMAL, "Simulate a iclass legacy/standard tag\n");
|
||||
PrintAndLogEx(NORMAL, "Usage: hf iclass sim [h] <option> [CSN]\n");
|
||||
PrintAndLogEx(NORMAL, "Options");
|
||||
PrintAndLogEx(NORMAL, " 0 <CSN> simulate the given CSN");
|
||||
PrintAndLogEx(NORMAL, " 1 simulate default CSN");
|
||||
PrintAndLogEx(NORMAL, " 2 Reader-attack, gather reader responses to extract elite key");
|
||||
PrintAndLogEx(NORMAL, " 3 Full simulation using emulator memory (see 'hf iclass eload')");
|
||||
PrintAndLogEx(NORMAL, " 4 Reader-attack, adapted for KeyRoll mode, gather reader responses to extract elite key");
|
||||
PrintAndLogEx(NORMAL, " h : Show this help");
|
||||
PrintAndLogEx(NORMAL, " 0 <CSN> : simulate the given CSN");
|
||||
PrintAndLogEx(NORMAL, " 1 : simulate default CSN");
|
||||
PrintAndLogEx(NORMAL, " 2 : Reader-attack, gather reader responses to extract elite key");
|
||||
PrintAndLogEx(NORMAL, " 3 : Full simulation using emulator memory (see 'hf iclass eload')");
|
||||
PrintAndLogEx(NORMAL, " 4 : Reader-attack, adapted for KeyRoll mode, gather reader responses to extract elite key");
|
||||
PrintAndLogEx(NORMAL, "Examples:");
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf iclass sim 0 031FEC8AF7FF12E0"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass sim 0 031FEC8AF7FF12E0"));
|
||||
PrintAndLogEx(NORMAL, " -- execute loclass attack online part");
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf iclass sim 2"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass sim 2"));
|
||||
PrintAndLogEx(NORMAL, " -- simulate full iClass 2k tag");
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf iclass eload f hf-iclass-AA162D30F8FF12F1-dump.bin"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf iclass sim 3"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass eload f hf-iclass-AA162D30F8FF12F1-dump.bin"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass sim 3"));
|
||||
PrintAndLogEx(NORMAL, "");
|
||||
return PM3_SUCCESS;
|
||||
}
|
||||
static int usage_hf_iclass_eload(void) {
|
||||
PrintAndLogEx(NORMAL, "Loads iclass tag-dump into emulator memory on device\n");
|
||||
PrintAndLogEx(NORMAL, "Usage: hf iclass eload [h] f <filename>\n");
|
||||
PrintAndLogEx(NORMAL, "Options");
|
||||
PrintAndLogEx(NORMAL, " h : Show this help");
|
||||
PrintAndLogEx(NORMAL, " f <filename> : filename of dump");
|
||||
PrintAndLogEx(NORMAL, "Examples:");
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf iclass eload f hf-iclass-AA162D30F8FF12F1-dump.bin"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass eload f hf-iclass-AA162D30F8FF12F1-dump.bin"));
|
||||
PrintAndLogEx(NORMAL, "");
|
||||
return PM3_SUCCESS;
|
||||
}
|
||||
|
@ -83,14 +87,15 @@ static int usage_hf_iclass_decrypt(void) {
|
|||
PrintAndLogEx(NORMAL, "in the resources directory. The file should be 16 bytes binary data\n");
|
||||
PrintAndLogEx(NORMAL, "Usage: hf iclass decrypt d <enc data> f <tagdump> k <transport key>\n");
|
||||
PrintAndLogEx(NORMAL, "Options");
|
||||
PrintAndLogEx(NORMAL, " d <encrypted block> 16 bytes hex");
|
||||
PrintAndLogEx(NORMAL, " f <filename> filename of dump");
|
||||
PrintAndLogEx(NORMAL, " k <transport key> 16 bytes hex");
|
||||
PrintAndLogEx(NORMAL, " h : Show this help");
|
||||
PrintAndLogEx(NORMAL, " d <encrypted blk> : 16 bytes hex");
|
||||
PrintAndLogEx(NORMAL, " f <filename> : filename of dump");
|
||||
PrintAndLogEx(NORMAL, " k <transport key> : 16 bytes hex");
|
||||
PrintAndLogEx(NORMAL, "");
|
||||
PrintAndLogEx(NORMAL, "Examples:");
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf iclass decrypt f hf-iclass-AA162D30F8FF12F1-dump.bin"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf iclass decrypt f hf-iclass-AA162D30F8FF12F1-dump.bin k 000102030405060708090a0b0c0d0e0f"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf iclass decrypt d 1122334455667788 k 000102030405060708090a0b0c0d0e0f"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass decrypt f hf-iclass-AA162D30F8FF12F1-dump.bin"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass decrypt f hf-iclass-AA162D30F8FF12F1-dump.bin k 000102030405060708090a0b0c0d0e0f"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass decrypt d 1122334455667788 k 000102030405060708090a0b0c0d0e0f"));
|
||||
PrintAndLogEx(NORMAL, "");
|
||||
return PM3_SUCCESS;
|
||||
}
|
||||
|
@ -100,12 +105,13 @@ static int usage_hf_iclass_encrypt(void) {
|
|||
PrintAndLogEx(NORMAL, "in the resources directory. The file should be 16 bytes binary data\n");
|
||||
PrintAndLogEx(NORMAL, "Usage: hf iclass encrypt d <blockdata> k <transport key>\n");
|
||||
PrintAndLogEx(NORMAL, "Options");
|
||||
PrintAndLogEx(NORMAL, " d <block data> 16 bytes hex");
|
||||
PrintAndLogEx(NORMAL, " k <transport key> 16 bytes hex");
|
||||
PrintAndLogEx(NORMAL, " h : Show this help");
|
||||
PrintAndLogEx(NORMAL, " d <block data> : 16 bytes hex");
|
||||
PrintAndLogEx(NORMAL, " k <transport key> : 16 bytes hex");
|
||||
PrintAndLogEx(NORMAL, "");
|
||||
PrintAndLogEx(NORMAL, "Examples:");
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf iclass encrypt d 0102030405060708"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf iclass encrypt d 0102030405060708 k 00112233445566778899AABBCCDDEEFF"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass encrypt d 0102030405060708"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass encrypt d 0102030405060708 k 00112233445566778899AABBCCDDEEFF"));
|
||||
PrintAndLogEx(NORMAL, "");
|
||||
return PM3_SUCCESS;
|
||||
}
|
||||
|
@ -113,6 +119,7 @@ static int usage_hf_iclass_dump(void) {
|
|||
PrintAndLogEx(NORMAL, "Dump all memory from a iClass tag\n");
|
||||
PrintAndLogEx(NORMAL, "Usage: hf iclass dump f <fileName> k <key> c <creditkey> [e|r|v]\n");
|
||||
PrintAndLogEx(NORMAL, "Options:");
|
||||
PrintAndLogEx(NORMAL, " h : Show this help");
|
||||
PrintAndLogEx(NORMAL, " f <filename> : specify a filename to save dump to");
|
||||
PrintAndLogEx(NORMAL, " k <key> : <required> access Key as 16 hex symbols or 1 hex to select key from memory");
|
||||
PrintAndLogEx(NORMAL, " c <creditkey>: credit key as 16 hex symbols or 1 hex to select key from memory");
|
||||
|
@ -121,10 +128,10 @@ static int usage_hf_iclass_dump(void) {
|
|||
PrintAndLogEx(NORMAL, " v : verbose output");
|
||||
PrintAndLogEx(NORMAL, "");
|
||||
PrintAndLogEx(NORMAL, "Examples:");
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf iclass dump k 001122334455667B"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf iclass dump k AAAAAAAAAAAAAAAA c 001122334455667B"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf iclass dump k AAAAAAAAAAAAAAAA e"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf iclass dump k 0"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass dump k 001122334455667B"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass dump k AAAAAAAAAAAAAAAA c 001122334455667B"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass dump k AAAAAAAAAAAAAAAA e"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass dump k 0"));
|
||||
PrintAndLogEx(NORMAL, "");
|
||||
return PM3_SUCCESS;
|
||||
}
|
||||
|
@ -132,6 +139,7 @@ static int usage_hf_iclass_clone(void) {
|
|||
PrintAndLogEx(NORMAL, "Restore data from dumpfile onto a iClass tag\n");
|
||||
PrintAndLogEx(NORMAL, "Usage: hf iclass clone f <tagfile.bin> b <first block> l <last block> k <KEY> c e|r\n");
|
||||
PrintAndLogEx(NORMAL, "Options:");
|
||||
PrintAndLogEx(NORMAL, " h : Show this help");
|
||||
PrintAndLogEx(NORMAL, " f <filename> : specify a filename to clone from");
|
||||
PrintAndLogEx(NORMAL, " b <block> : The first block to clone as 2 hex symbols");
|
||||
PrintAndLogEx(NORMAL, " l <last blk> : Set the data to write as 16 hex symbols");
|
||||
|
@ -140,9 +148,9 @@ static int usage_hf_iclass_clone(void) {
|
|||
PrintAndLogEx(NORMAL, " e : If 'e' is specified, elite computations applied to key");
|
||||
PrintAndLogEx(NORMAL, " r : If 'r' is specified, no computations applied to key (raw)");
|
||||
PrintAndLogEx(NORMAL, "Examples:");
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf iclass clone f hf-iclass-AA162D30F8FF12F1-dump.bin b 06 l 1A k 1122334455667788 e"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf iclass clone f hf-iclass-AA162D30F8FF12F1-dump b 05 l 19 k 0"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf iclass clone f hf-iclass-AA162D30F8FF12F1-dump b 06 l 19 k 0 e"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass clone f hf-iclass-AA162D30F8FF12F1-dump.bin b 06 l 1A k 1122334455667788 e"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass clone f hf-iclass-AA162D30F8FF12F1-dump b 05 l 19 k 0"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass clone f hf-iclass-AA162D30F8FF12F1-dump b 06 l 19 k 0 e"));
|
||||
PrintAndLogEx(NORMAL, "");
|
||||
return PM3_SUCCESS;
|
||||
}
|
||||
|
@ -150,6 +158,7 @@ static int usage_hf_iclass_writeblock(void) {
|
|||
PrintAndLogEx(NORMAL, "Write data to a iClass tag\n");
|
||||
PrintAndLogEx(NORMAL, "Usage: hf iclass wrbl b <block> d <data> k <key> [c|e|r|v]\n");
|
||||
PrintAndLogEx(NORMAL, "Options:");
|
||||
PrintAndLogEx(NORMAL, " h : Show this help");
|
||||
PrintAndLogEx(NORMAL, " b <block> : The block number as 2 hex symbols");
|
||||
PrintAndLogEx(NORMAL, " d <data> : set the Data to write as 16 hex symbols");
|
||||
PrintAndLogEx(NORMAL, " k <key> : access Key as 16 hex symbols or 1 hex to select key from memory");
|
||||
|
@ -158,9 +167,9 @@ static int usage_hf_iclass_writeblock(void) {
|
|||
PrintAndLogEx(NORMAL, " r : raw, no computations applied to key (raw)");
|
||||
PrintAndLogEx(NORMAL, " v : verbose output");
|
||||
PrintAndLogEx(NORMAL, "Examples:");
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf iclass wrbl b 0A d AAAAAAAAAAAAAAAA k 001122334455667B"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf iclass wrbl b 1B d AAAAAAAAAAAAAAAA k 001122334455667B c"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf iclass wrbl b 1B d AAAAAAAAAAAAAAAA k 0"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass wrbl b 0A d AAAAAAAAAAAAAAAA k 001122334455667B"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass wrbl b 1B d AAAAAAAAAAAAAAAA k 001122334455667B c"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass wrbl b 1B d AAAAAAAAAAAAAAAA k 0"));
|
||||
PrintAndLogEx(NORMAL, "");
|
||||
return PM3_SUCCESS;
|
||||
}
|
||||
|
@ -168,6 +177,7 @@ static int usage_hf_iclass_readblock(void) {
|
|||
PrintAndLogEx(NORMAL, "Read a iClass block from tag\n");
|
||||
PrintAndLogEx(NORMAL, "Usage: hf iclass rdbl b <block> k <key> [c|e|r|v]\n");
|
||||
PrintAndLogEx(NORMAL, "Options:");
|
||||
PrintAndLogEx(NORMAL, " h : Show this help");
|
||||
PrintAndLogEx(NORMAL, " b <block> : The block number as 2 hex symbols");
|
||||
PrintAndLogEx(NORMAL, " k <key> : Access Key as 16 hex symbols or 1 hex to select key from memory");
|
||||
PrintAndLogEx(NORMAL, " c : credit key assumed\n");
|
||||
|
@ -175,9 +185,9 @@ static int usage_hf_iclass_readblock(void) {
|
|||
PrintAndLogEx(NORMAL, " r : raw, no computations applied to key");
|
||||
PrintAndLogEx(NORMAL, " v : verbose output");
|
||||
PrintAndLogEx(NORMAL, "Examples:");
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf iclass rdbl b 06 k 0011223344556677"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf iclass rdbl b 1B k 0011223344556677 c"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf iclass rdbl b 0A k 0"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass rdbl b 06 k 0011223344556677"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass rdbl b 1B k 0011223344556677 c"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass rdbl b 0A k 0"));
|
||||
PrintAndLogEx(NORMAL, "");
|
||||
return PM3_SUCCESS;
|
||||
}
|
||||
|
@ -185,33 +195,34 @@ static int usage_hf_iclass_readtagfile() {
|
|||
PrintAndLogEx(NORMAL, "Print a iClass tag-dump file\n");
|
||||
PrintAndLogEx(NORMAL, "Usage: hf iClass readtagfile [f <filename>] [s <startblock>] [e <endblock>] [v]\n");
|
||||
PrintAndLogEx(NORMAL, "Options:");
|
||||
PrintAndLogEx(NORMAL, " h this help");
|
||||
PrintAndLogEx(NORMAL, " h Show this help");
|
||||
PrintAndLogEx(NORMAL, " f <filename> filename of dump");
|
||||
PrintAndLogEx(NORMAL, " s <startblock> print from this block (default block6)");
|
||||
PrintAndLogEx(NORMAL, " e <endblock> end printing at this block (default 0, ALL)");
|
||||
PrintAndLogEx(NORMAL, " v verbose output");
|
||||
PrintAndLogEx(NORMAL, "Examples:");
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf iclass readtagfile f hf-iclass-AA162D30F8FF12F1-dump.bin"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf iclass readtagfile s 1 f hf-iclass-AA162D30F8FF12F1-dump.bin"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass readtagfile f hf-iclass-AA162D30F8FF12F1-dump.bin"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass readtagfile s 1 f hf-iclass-AA162D30F8FF12F1-dump.bin"));
|
||||
PrintAndLogEx(NORMAL, "");
|
||||
return PM3_SUCCESS;
|
||||
}
|
||||
static int usage_hf_iclass_calc_newkey(void) {
|
||||
PrintAndLogEx(NORMAL, "Calculate new key for updating\n");
|
||||
PrintAndLogEx(NORMAL, "Usage: hf iclass calc_newkey o <Old key> n <New key> s [csn] e\n");
|
||||
PrintAndLogEx(NORMAL, "Usage: hf iclass calc_newkey o <old key> n <new key> s [csn] e\n");
|
||||
PrintAndLogEx(NORMAL, "Options:");
|
||||
PrintAndLogEx(NORMAL, " o <oldkey> : *specify a key as 16 hex symbols or a key number as 1 symbol");
|
||||
PrintAndLogEx(NORMAL, " n <newkey> : *specify a key as 16 hex symbols or a key number as 1 symbol");
|
||||
PrintAndLogEx(NORMAL, " h : Show this help");
|
||||
PrintAndLogEx(NORMAL, " o <old key> : *specify a key as 16 hex symbols or a key number as 1 symbol");
|
||||
PrintAndLogEx(NORMAL, " n <new key> : *specify a key as 16 hex symbols or a key number as 1 symbol");
|
||||
PrintAndLogEx(NORMAL, " s <csn> : specify a card Serial number to diversify the key (if omitted will attempt to read a csn)");
|
||||
PrintAndLogEx(NORMAL, " e : specify new key as elite calc");
|
||||
PrintAndLogEx(NORMAL, " ee : specify old and new key as elite calc");
|
||||
PrintAndLogEx(NORMAL, "Examples:");
|
||||
PrintAndLogEx(NORMAL, " -- e key to e key given csn");
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("hf iclass calcnewkey o 1122334455667788 n 2233445566778899 s deadbeafdeadbeaf ee"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass calcnewkey o 1122334455667788 n 2233445566778899 s deadbeafdeadbeaf ee"));
|
||||
PrintAndLogEx(NORMAL, " -- std key to e key read csn");
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("hf iclass calcnewkey o 1122334455667788 n 2233445566778899 e"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass calcnewkey o 1122334455667788 n 2233445566778899 e"));
|
||||
PrintAndLogEx(NORMAL, " -- std to std read csn");
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("hf iclass calcnewkey o 1122334455667788 n 2233445566778899"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass calcnewkey o 1122334455667788 n 2233445566778899"));
|
||||
PrintAndLogEx(NORMAL, "\nNOTE: * = required");
|
||||
PrintAndLogEx(NORMAL, "");
|
||||
return PM3_SUCCESS;;
|
||||
|
@ -220,6 +231,7 @@ static int usage_hf_iclass_managekeys(void) {
|
|||
PrintAndLogEx(NORMAL, "Manage iClass Keys in client memory:\n");
|
||||
PrintAndLogEx(NORMAL, "Usage: hf iclass managekeys n [keynbr] k [key] f [filename] s l p\n");
|
||||
PrintAndLogEx(NORMAL, "Options:");
|
||||
PrintAndLogEx(NORMAL, " h : Show this help");
|
||||
PrintAndLogEx(NORMAL, " n <keynbr> : specify the keyNbr to set in memory");
|
||||
PrintAndLogEx(NORMAL, " k <key> : set a key in memory");
|
||||
PrintAndLogEx(NORMAL, " f <filename> : specify a filename to use with load or save operations");
|
||||
|
@ -228,13 +240,13 @@ static int usage_hf_iclass_managekeys(void) {
|
|||
PrintAndLogEx(NORMAL, " p : print keys loaded into memory\n");
|
||||
PrintAndLogEx(NORMAL, "Examples:");
|
||||
PrintAndLogEx(NORMAL, " -- set key");
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("hf iclass managekeys n 0 k 1122334455667788"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass managekeys n 0 k 1122334455667788"));
|
||||
PrintAndLogEx(NORMAL, " -- save key file");
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("hf iclass managekeys f mykeys.bin s"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass managekeys f mykeys.bin s"));
|
||||
PrintAndLogEx(NORMAL, " -- load key file");
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("hf iclass managekeys f mykeys.bin l"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass managekeys f mykeys.bin l"));
|
||||
PrintAndLogEx(NORMAL, " -- print keys");
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("hf iclass managekeys p"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass managekeys p"));
|
||||
PrintAndLogEx(NORMAL, "");
|
||||
return PM3_SUCCESS;
|
||||
}
|
||||
|
@ -242,10 +254,10 @@ static int usage_hf_iclass_reader(void) {
|
|||
PrintAndLogEx(NORMAL, "Act as a Iclass reader. Look for iClass tags until Enter or the pm3 button is pressed\n");
|
||||
PrintAndLogEx(NORMAL, "Usage: hf iclass reader [h] [1]\n");
|
||||
PrintAndLogEx(NORMAL, "Options:");
|
||||
PrintAndLogEx(NORMAL, " h This help text");
|
||||
PrintAndLogEx(NORMAL, " h Show this help");
|
||||
PrintAndLogEx(NORMAL, " 1 read only 1 tag");
|
||||
PrintAndLogEx(NORMAL, "Examples:");
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf iclass reader 1"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass reader 1"));
|
||||
PrintAndLogEx(NORMAL, "");
|
||||
return PM3_SUCCESS;
|
||||
}
|
||||
|
@ -253,18 +265,20 @@ static int usage_hf_iclass_replay(void) {
|
|||
PrintAndLogEx(NORMAL, "Replay a collected mac message\n");
|
||||
PrintAndLogEx(NORMAL, "Usage: hf iclass replay [h] <mac>\n");
|
||||
PrintAndLogEx(NORMAL, "Options:");
|
||||
PrintAndLogEx(NORMAL, " h This help text");
|
||||
PrintAndLogEx(NORMAL, " h Show this help");
|
||||
PrintAndLogEx(NORMAL, " <mac> Mac bytes to replay (8 hexsymbols)");
|
||||
PrintAndLogEx(NORMAL, "Examples:");
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf iclass replay 00112233"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass replay 00112233"));
|
||||
PrintAndLogEx(NORMAL, "");
|
||||
return PM3_SUCCESS;
|
||||
}
|
||||
static int usage_hf_iclass_sniff(void) {
|
||||
PrintAndLogEx(NORMAL, "Sniff the communication between reader and tag\n");
|
||||
PrintAndLogEx(NORMAL, "Usage: hf iclass sniff [h]\n");
|
||||
PrintAndLogEx(NORMAL, "Options:");
|
||||
PrintAndLogEx(NORMAL, " h Show this help");
|
||||
PrintAndLogEx(NORMAL, "Examples:");
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf iclass sniff"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass sniff"));
|
||||
return PM3_SUCCESS;
|
||||
}
|
||||
static int usage_hf_iclass_loclass(void) {
|
||||
|
@ -283,8 +297,8 @@ static int usage_hf_iclass_loclass(void) {
|
|||
PrintAndLogEx(NORMAL, " t l Perform self-test, including long ones");
|
||||
PrintAndLogEx(NORMAL, " f <filename> Bruteforce iclass dumpfile");
|
||||
PrintAndLogEx(NORMAL, "Examples:");
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf iclass loclass f iclass-dump.bin"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf iclass loclass t"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass loclass f iclass-dump.bin"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass loclass t"));
|
||||
PrintAndLogEx(NORMAL, "");
|
||||
return PM3_SUCCESS;
|
||||
}
|
||||
|
@ -298,8 +312,8 @@ static int usage_hf_iclass_chk(void) {
|
|||
PrintAndLogEx(NORMAL, " e elite");
|
||||
PrintAndLogEx(NORMAL, " c credit key (if not use, default is debit)");
|
||||
PrintAndLogEx(NORMAL, "Examples:");
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf iclass chk f dictionaries/iclass_default_keys.dic"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf iclass chk f dictionaries/iclass_default_keys.dic e"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass chk f dictionaries/iclass_default_keys.dic"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass chk f dictionaries/iclass_default_keys.dic e"));
|
||||
PrintAndLogEx(NORMAL, "");
|
||||
return PM3_SUCCESS;;
|
||||
}
|
||||
|
@ -315,8 +329,8 @@ static int usage_hf_iclass_lookup(void) {
|
|||
PrintAndLogEx(NORMAL, " r raw");
|
||||
PrintAndLogEx(NORMAL, " e elite");
|
||||
PrintAndLogEx(NORMAL, "Examples:");
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf iclass lookup u 9655a400f8ff12e0 p f0ffffffffffffff m 0000000089cb984b f dictionaries/iclass_default_keys.dic"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf iclass lookup u 9655a400f8ff12e0 p f0ffffffffffffff m 0000000089cb984b f dictionaries/iclass_default_keys.dic e"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass lookup u 9655a400f8ff12e0 p f0ffffffffffffff m 0000000089cb984b f dictionaries/iclass_default_keys.dic"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass lookup u 9655a400f8ff12e0 p f0ffffffffffffff m 0000000089cb984b f dictionaries/iclass_default_keys.dic e"));
|
||||
PrintAndLogEx(NORMAL, "");
|
||||
return PM3_SUCCESS;
|
||||
}
|
||||
|
@ -324,13 +338,13 @@ static int usage_hf_iclass_permutekey(void) {
|
|||
PrintAndLogEx(NORMAL, "Permute function from 'heart of darkness' paper.\n");
|
||||
PrintAndLogEx(NORMAL, "Usage: hf iclass permute [h] <r|f> <bytes>\n");
|
||||
PrintAndLogEx(NORMAL, "Options:");
|
||||
PrintAndLogEx(NORMAL, " h This help");
|
||||
PrintAndLogEx(NORMAL, " h Show this help");
|
||||
PrintAndLogEx(NORMAL, " r reverse permuted key");
|
||||
PrintAndLogEx(NORMAL, " f permute key");
|
||||
PrintAndLogEx(NORMAL, " <bytes> input bytes");
|
||||
PrintAndLogEx(NORMAL, "");
|
||||
PrintAndLogEx(NORMAL, "Examples:");
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf iclass permute r 0123456789abcdef"));
|
||||
PrintAndLogEx(NORMAL, _YELLOW_("\thf iclass permute r 0123456789abcdef"));
|
||||
PrintAndLogEx(NORMAL, "");
|
||||
return PM3_SUCCESS;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue