mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-21 05:43:48 -07:00
Merge pull request #2867 from Antiklesys/master
Updated hf iclass info for silicon check
This commit is contained in:
commit
ce0431601a
4 changed files with 8 additions and 12 deletions
|
@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file.
|
||||||
This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log...
|
This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log...
|
||||||
|
|
||||||
## [unreleased][unreleased]
|
## [unreleased][unreleased]
|
||||||
|
- Changed `hf iclass info` - now uses CSN values based checks (@antiklesys)
|
||||||
- Changed `hf iclass dump` - now uses default AA1 key when called without a key or key index (@iceman1001)
|
- Changed `hf iclass dump` - now uses default AA1 key when called without a key or key index (@iceman1001)
|
||||||
- Renamed `hf iclass trbl` to `hf iclass tear` (@iceman1001)
|
- Renamed `hf iclass trbl` to `hf iclass tear` (@iceman1001)
|
||||||
- Changed `hw tearoff` - the device side message is now debug log controlled (@iceman1001)
|
- Changed `hw tearoff` - the device side message is now debug log controlled (@iceman1001)
|
||||||
|
|
|
@ -1411,7 +1411,7 @@ static bool HF14B_ask_ct_reader(bool verbose) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool HF14B_picopass_reader(bool verbose, bool info) {
|
static bool HF14B_picopass_reader(bool verbose) {
|
||||||
|
|
||||||
iso14b_raw_cmd_t packet = {
|
iso14b_raw_cmd_t packet = {
|
||||||
.flags = (ISO14B_CONNECT | ISO14B_SELECT_PICOPASS | ISO14B_DISCONNECT),
|
.flags = (ISO14B_CONNECT | ISO14B_SELECT_PICOPASS | ISO14B_DISCONNECT),
|
||||||
|
@ -1437,10 +1437,8 @@ bool HF14B_picopass_reader(bool verbose, bool info) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
memcpy(card, resp.data.asBytes, sizeof(picopass_hdr_t));
|
memcpy(card, resp.data.asBytes, sizeof(picopass_hdr_t));
|
||||||
if (info) {
|
PrintAndLogEx(NORMAL, "");
|
||||||
PrintAndLogEx(NORMAL, "");
|
PrintAndLogEx(SUCCESS, "iCLASS / Picopass CSN: " _GREEN_("%s"), sprint_hex(card->csn, sizeof(card->csn)));
|
||||||
PrintAndLogEx(SUCCESS, "iCLASS / Picopass CSN: " _GREEN_("%s"), sprint_hex(card->csn, sizeof(card->csn)));
|
|
||||||
}
|
|
||||||
free(card);
|
free(card);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -3038,7 +3036,6 @@ int infoHF14B(bool verbose, bool do_aid_search) {
|
||||||
// get and print general info about all known 14b chips
|
// get and print general info about all known 14b chips
|
||||||
int readHF14B(bool loop, bool verbose, bool read_plot) {
|
int readHF14B(bool loop, bool verbose, bool read_plot) {
|
||||||
bool found = false;
|
bool found = false;
|
||||||
bool info = true;
|
|
||||||
int res = PM3_SUCCESS;
|
int res = PM3_SUCCESS;
|
||||||
do {
|
do {
|
||||||
found = false;
|
found = false;
|
||||||
|
@ -3054,7 +3051,7 @@ int readHF14B(bool loop, bool verbose, bool read_plot) {
|
||||||
goto plot;
|
goto plot;
|
||||||
|
|
||||||
// Picopass
|
// Picopass
|
||||||
found |= HF14B_picopass_reader(verbose, info);
|
found |= HF14B_picopass_reader(verbose);
|
||||||
if (found)
|
if (found)
|
||||||
goto plot;
|
goto plot;
|
||||||
|
|
||||||
|
|
|
@ -31,6 +31,5 @@ int select_card_14443b_4(bool disconnect, iso14b_card_select_t *card);
|
||||||
|
|
||||||
int infoHF14B(bool verbose, bool do_aid_search);
|
int infoHF14B(bool verbose, bool do_aid_search);
|
||||||
int readHF14B(bool loop, bool verbose, bool read_plot);
|
int readHF14B(bool loop, bool verbose, bool read_plot);
|
||||||
bool HF14B_picopass_reader(bool verbose, bool info);
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -40,7 +40,6 @@
|
||||||
#include "crypto/asn1utils.h" // ASN1 decoder
|
#include "crypto/asn1utils.h" // ASN1 decoder
|
||||||
#include "preferences.h"
|
#include "preferences.h"
|
||||||
#include "generator.h"
|
#include "generator.h"
|
||||||
#include "cmdhf14b.h"
|
|
||||||
#include "cmdhw.h"
|
#include "cmdhw.h"
|
||||||
#include "hidsio.h"
|
#include "hidsio.h"
|
||||||
|
|
||||||
|
@ -5985,10 +5984,10 @@ int info_iclass(bool shallow_mod) {
|
||||||
uint8_t cardtype = get_mem_config(hdr);
|
uint8_t cardtype = get_mem_config(hdr);
|
||||||
PrintAndLogEx(SUCCESS, " Card type.... " _GREEN_("%s"), card_types[cardtype]);
|
PrintAndLogEx(SUCCESS, " Card type.... " _GREEN_("%s"), card_types[cardtype]);
|
||||||
|
|
||||||
if (HF14B_picopass_reader(false, false)) {
|
if (memcmp(hdr->csn + 4, "\xFE\xFF\x12\xE0", 4) == 0) {
|
||||||
PrintAndLogEx(SUCCESS, " Card chip.... "_YELLOW_("Old Silicon (14b support)"));
|
|
||||||
} else {
|
|
||||||
PrintAndLogEx(SUCCESS, " Card chip.... "_YELLOW_("NEW Silicon (No 14b support)"));
|
PrintAndLogEx(SUCCESS, " Card chip.... "_YELLOW_("NEW Silicon (No 14b support)"));
|
||||||
|
} else {
|
||||||
|
PrintAndLogEx(SUCCESS, " Card chip.... "_YELLOW_("Old Silicon (14b support)"));
|
||||||
}
|
}
|
||||||
if (legacy) {
|
if (legacy) {
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue