diff --git a/armsrc/Standalone/hf_iceclass.c b/armsrc/Standalone/hf_iceclass.c index 0c06bc90b..8490ea628 100644 --- a/armsrc/Standalone/hf_iceclass.c +++ b/armsrc/Standalone/hf_iceclass.c @@ -132,7 +132,7 @@ static void download_instructions(uint8_t t) { DbpString("The collected data was saved to SPIFFS. The file names below may differ"); DbpString("1. " _YELLOW_("mem spiffs tree")); DbpString("2. " _YELLOW_("mem spiffs dump o " HF_ICLASS_ATTACK_BIN " f " HF_ICLASS_ATTACK_BIN)); - DbpString("3. " _YELLOW_("hf iclass loclass f " HF_ICLASS_ATTACK_BIN)); + DbpString("3. " _YELLOW_("hf iclass loclass -f " HF_ICLASS_ATTACK_BIN)); break; } case ICE_STATE_READER: { diff --git a/client/src/cmdhficlass.c b/client/src/cmdhficlass.c index f0c4c0f43..d37baac48 100644 --- a/client/src/cmdhficlass.c +++ b/client/src/cmdhficlass.c @@ -699,7 +699,7 @@ static int CmdHFiClassSim(const char *Cmd) { saveFile("iclass_mac_attack", ".bin", dump, datalen); free(dump); - PrintAndLogEx(HINT, "Try `" _YELLOW_("hf iclass loclass h") "` to recover elite key"); + PrintAndLogEx(HINT, "Try `" _YELLOW_("hf iclass loclass -h") "` to recover elite key"); break; } case ICLASS_SIM_MODE_READER_ATTACK_KEYROLL: { @@ -765,7 +765,7 @@ static int CmdHFiClassSim(const char *Cmd) { saveFile("iclass_mac_attack_keyroll_B", ".bin", dump, datalen); free(dump); - PrintAndLogEx(HINT, "Try `" _YELLOW_("hf iclass loclass h") "` to recover elite key"); + PrintAndLogEx(HINT, "Try `" _YELLOW_("hf iclass loclass -h") "` to recover elite key"); break; } case ICLASS_SIM_MODE_CSN: diff --git a/doc/cheatsheet.md b/doc/cheatsheet.md index 234c39ffb..a3ea9c579 100644 --- a/doc/cheatsheet.md +++ b/doc/cheatsheet.md @@ -173,7 +173,7 @@ k : Access Key as 16 hex symbols or 1 hex to select key from memory e : If 'e' is specified, elite computations applied to key pm3 --> hf iclass sim 2 -pm3 --> hf iclass loclass f iclass_mac_attack.bin +pm3 --> hf iclass loclass -f iclass_mac_attack.bin pm3 --> hf iclass managekeys n 7 k pm3 --> hf iclass dump k 7 e ``` diff --git a/doc/loclass_notes.md b/doc/loclass_notes.md index 643e0d84e..f9280119b 100644 --- a/doc/loclass_notes.md +++ b/doc/loclass_notes.md @@ -8,15 +8,15 @@ LOCLASS, is a two part attack. First is the online part where you gather needed The second part is offline, where the information gathered from the first step is used in a series of DES operations to figure out the used masterkey. - run `hf iclass loclass f abc.bin` + run `hf iclass loclass -f abc.bin` If you don't have access to a iClass SE reader configured in Elite mode there is a test file which you can use. - `hf iclass loclass f iclass_dump.bin` + `hf iclass loclass -f iclass_dump.bin` # Unit testing In order to verify that loclass is actually working, there is a "unit" test mode. -run `hf iclass loclass t`. +run `hf iclass loclass --test`. This test mode uses two files. diff --git a/tools/pm3_tests.sh b/tools/pm3_tests.sh index 41ebe1951..d4aa7d89a 100755 --- a/tools/pm3_tests.sh +++ b/tools/pm3_tests.sh @@ -450,10 +450,10 @@ while true; do echo -e "\n${C_BLUE}Testing HF:${C_NC}" if ! CheckExecute "hf mf offline text" "$CLIENTBIN -c 'hf mf'" "at_enc"; then break; fi if ! CheckExecute slow retry ignore "hf mf hardnested long test" "$CLIENTBIN -c 'hf mf hardnested t 1 000000000000'" "found:"; then break; fi - if ! CheckExecute slow "hf iclass long test" "$CLIENTBIN -c 'hf iclass loclass t l'" "verified ok"; then break; fi + if ! CheckExecute slow "hf iclass long test" "$CLIENTBIN -c 'hf iclass loclass --long'" "verified ok"; then break; fi if ! CheckExecute slow "emv long test" "$CLIENTBIN -c 'emv test -l'" "Test(s) \[ ok"; then break; fi if ! $SLOWTESTS; then - if ! CheckExecute "hf iclass test" "$CLIENTBIN -c 'hf iclass loclass t'" "key diversification (ok)"; then break; fi + if ! CheckExecute "hf iclass test" "$CLIENTBIN -c 'hf iclass loclass --test'" "key diversification (ok)"; then break; fi if ! CheckExecute "emv test" "$CLIENTBIN -c 'emv test'" "Test(s) \[ ok"; then break; fi fi fi