mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-21 13:53:55 -07:00
refactor: Merge enum hitag_function. read/write has already been differentiated by command
This commit is contained in:
parent
495759d6bd
commit
8b7f34b4d9
7 changed files with 61 additions and 67 deletions
|
@ -1666,14 +1666,14 @@ void ReaderHitag(const lf_hitag_data_t *payload, bool ledcontrol) {
|
|||
|
||||
// Check configuration
|
||||
switch (payload->cmd) {
|
||||
case RHT1F_PLAIN: {
|
||||
case HT1F_PLAIN: {
|
||||
DBG Dbprintf("Read public blocks in plain mode");
|
||||
// this part will be unreadable
|
||||
memset(tag.sectors + 2, 0x0, 30);
|
||||
blocknr = 0;
|
||||
break;
|
||||
}
|
||||
case RHT1F_AUTHENTICATE: {
|
||||
case HT1F_AUTHENTICATE: {
|
||||
DBG Dbprintf("Read all blocks in authed mode");
|
||||
|
||||
memcpy(nonce, payload->nonce, 4);
|
||||
|
@ -1699,7 +1699,7 @@ void ReaderHitag(const lf_hitag_data_t *payload, bool ledcontrol) {
|
|||
blocknr = 0;
|
||||
break;
|
||||
}
|
||||
case RHT2F_PASSWORD: {
|
||||
case HT2F_PASSWORD: {
|
||||
DBG Dbprintf("List identifier in password mode");
|
||||
if (memcmp(payload->pwd, "\x00\x00\x00\x00", 4) == 0) {
|
||||
memcpy(password, tag.sectors[1], sizeof(password));
|
||||
|
@ -1711,7 +1711,7 @@ void ReaderHitag(const lf_hitag_data_t *payload, bool ledcontrol) {
|
|||
bAuthenticating = false;
|
||||
break;
|
||||
}
|
||||
case RHT2F_AUTHENTICATE: {
|
||||
case HT2F_AUTHENTICATE: {
|
||||
DBG DbpString("Authenticating using NrAr pair:");
|
||||
memcpy(NrAr, payload->NrAr, 8);
|
||||
DBG Dbhexdump(8, NrAr, false);
|
||||
|
@ -1722,7 +1722,7 @@ void ReaderHitag(const lf_hitag_data_t *payload, bool ledcontrol) {
|
|||
bAuthenticating = false;
|
||||
break;
|
||||
}
|
||||
case RHT2F_CRYPTO: {
|
||||
case HT2F_CRYPTO: {
|
||||
DBG DbpString("Authenticating using key:");
|
||||
memcpy(key, payload->key, 6); //HACK; 4 or 6?? I read both in the code.
|
||||
DBG Dbhexdump(6, key, false);
|
||||
|
@ -1734,7 +1734,7 @@ void ReaderHitag(const lf_hitag_data_t *payload, bool ledcontrol) {
|
|||
bAuthenticating = false;
|
||||
break;
|
||||
}
|
||||
case RHT2F_TEST_AUTH_ATTEMPTS: {
|
||||
case HT2F_TEST_AUTH_ATTEMPTS: {
|
||||
DBG Dbprintf("Testing " _YELLOW_("%d") " authentication attempts", (auth_table_len / 8));
|
||||
auth_table_pos = 0;
|
||||
memcpy(NrAr, auth_table, 8);
|
||||
|
@ -1812,27 +1812,27 @@ void ReaderHitag(const lf_hitag_data_t *payload, bool ledcontrol) {
|
|||
// By default reset the transmission buffer
|
||||
tx = txbuf;
|
||||
switch (payload->cmd) {
|
||||
case RHT1F_PLAIN: {
|
||||
case HT1F_PLAIN: {
|
||||
bStop = !hitag1_plain(rx, rxlen, tx, &txlen, false);
|
||||
break;
|
||||
}
|
||||
case RHT1F_AUTHENTICATE: {
|
||||
case HT1F_AUTHENTICATE: {
|
||||
bStop = !hitag1_authenticate(rx, rxlen, tx, &txlen);
|
||||
break;
|
||||
}
|
||||
case RHT2F_PASSWORD: {
|
||||
case HT2F_PASSWORD: {
|
||||
bStop = !hitag2_password(rx, rxlen, tx, &txlen, false);
|
||||
break;
|
||||
}
|
||||
case RHT2F_AUTHENTICATE: {
|
||||
case HT2F_AUTHENTICATE: {
|
||||
bStop = !hitag2_authenticate(rx, rxlen, tx, &txlen, false);
|
||||
break;
|
||||
}
|
||||
case RHT2F_CRYPTO: {
|
||||
case HT2F_CRYPTO: {
|
||||
bStop = !hitag2_crypto(rx, rxlen, tx, &txlen, false);
|
||||
break;
|
||||
}
|
||||
case RHT2F_TEST_AUTH_ATTEMPTS: {
|
||||
case HT2F_TEST_AUTH_ATTEMPTS: {
|
||||
bStop = !hitag2_test_auth_attempts(rx, rxlen, tx, &txlen);
|
||||
break;
|
||||
}
|
||||
|
@ -2083,7 +2083,7 @@ void WriterHitag(const lf_hitag_data_t *payload, bool ledcontrol) {
|
|||
|
||||
// Check configuration
|
||||
switch (payload->cmd) {
|
||||
case WHT2F_CRYPTO: {
|
||||
case HT2F_CRYPTO: {
|
||||
DBG DbpString("Authenticating using key:");
|
||||
memcpy(key, payload->key, 6); //HACK; 4 or 6?? I read both in the code.
|
||||
memcpy(writedata, payload->data, 4);
|
||||
|
@ -2093,7 +2093,7 @@ void WriterHitag(const lf_hitag_data_t *payload, bool ledcontrol) {
|
|||
bAuthenticating = false;
|
||||
}
|
||||
break;
|
||||
case WHT2F_PASSWORD: {
|
||||
case HT2F_PASSWORD: {
|
||||
DBG DbpString("Authenticating using password:");
|
||||
if (memcmp(payload->pwd, "\x00\x00\x00\x00", 4) == 0) {
|
||||
memcpy(password, tag.sectors[1], sizeof(password));
|
||||
|
@ -2180,11 +2180,11 @@ void WriterHitag(const lf_hitag_data_t *payload, bool ledcontrol) {
|
|||
tx = txbuf;
|
||||
|
||||
switch (payload->cmd) {
|
||||
case WHT2F_CRYPTO: {
|
||||
case HT2F_CRYPTO: {
|
||||
bStop = !hitag2_crypto(rx, rxlen, tx, &txlen, true);
|
||||
break;
|
||||
}
|
||||
case WHT2F_PASSWORD: {
|
||||
case HT2F_PASSWORD: {
|
||||
bStop = !hitag2_password(rx, rxlen, tx, &txlen, true);
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue