mirror of
https://github.com/Proxmark/proxmark3.git
synced 2025-07-30 03:28:32 -07:00
Merge 956a725adb
into 6116334485
This commit is contained in:
commit
b04cfa0088
1 changed files with 40 additions and 9 deletions
|
@ -124,6 +124,8 @@ int usage_t55xx_dump(){
|
||||||
PrintAndLog("Options:");
|
PrintAndLog("Options:");
|
||||||
PrintAndLog(" <password> - OPTIONAL password 4bytes (8 hex symbols)");
|
PrintAndLog(" <password> - OPTIONAL password 4bytes (8 hex symbols)");
|
||||||
PrintAndLog(" o - OPTIONAL override, force pwd read despite danger to card");
|
PrintAndLog(" o - OPTIONAL override, force pwd read despite danger to card");
|
||||||
|
PrintAndLog(" r <mode> - OPTIONAL downlink encoding '0' fixed bit length (default), '1' long leading reference");
|
||||||
|
PrintAndLog(" '2' leading zero, '3' 1 of 4 coding reference");
|
||||||
PrintAndLog("");
|
PrintAndLog("");
|
||||||
PrintAndLog("Examples:");
|
PrintAndLog("Examples:");
|
||||||
PrintAndLog(" lf t55xx dump");
|
PrintAndLog(" lf t55xx dump");
|
||||||
|
@ -1256,24 +1258,53 @@ int CmdT55xxInfo(const char *Cmd){
|
||||||
int CmdT55xxDump(const char *Cmd){
|
int CmdT55xxDump(const char *Cmd){
|
||||||
|
|
||||||
uint32_t password = 0;
|
uint32_t password = 0;
|
||||||
char cmdp = param_getchar(Cmd, 0);
|
uint8_t cmdp = 0;
|
||||||
|
uint8_t downlink_mode = 0;
|
||||||
|
char param_first[10];
|
||||||
|
int param_first_len;
|
||||||
bool override = false;
|
bool override = false;
|
||||||
if ( cmdp == 'h' || cmdp == 'H') return usage_t55xx_dump();
|
bool usepwd = false;
|
||||||
|
|
||||||
|
param_getstr(Cmd, 0, param_first, 10);
|
||||||
|
param_first_len = strlen(param_first);
|
||||||
|
usepwd = (param_first_len > 1);
|
||||||
|
|
||||||
bool usepwd = ( strlen(Cmd) > 0);
|
|
||||||
if(usepwd) {
|
if(usepwd) {
|
||||||
password = param_get32ex(Cmd, 0, 0, 16);
|
password = param_get32ex(Cmd, cmdp, 0, 16);
|
||||||
if (param_getchar(Cmd, 1) =='o' )
|
cmdp++;
|
||||||
override = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
while(param_getchar(Cmd, cmdp) != 0x00 && !errors) {
|
||||||
|
switch(param_getchar(Cmd, cmdp)) {
|
||||||
|
case 'h':
|
||||||
|
case 'H':
|
||||||
|
return usage_t55xx_dump();
|
||||||
|
case 'o':
|
||||||
|
case 'O':
|
||||||
|
override = true;
|
||||||
|
cmdp++;
|
||||||
|
break;
|
||||||
|
case 'r':
|
||||||
|
case 'R':
|
||||||
|
downlink_mode = param_getchar(Cmd, cmdp+1) - '0';
|
||||||
|
if (downlink_mode > 3) downlink_mode = 0;
|
||||||
|
cmdp +=2;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
PrintAndLog("Unknown parameter '%c'", param_getchar(Cmd, cmdp));
|
||||||
|
errors = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (errors) return usage_t55xx_dump();
|
||||||
|
|
||||||
printT5xxHeader(0);
|
printT5xxHeader(0);
|
||||||
for ( uint8_t i = 0; i <8; ++i)
|
for ( uint8_t i = 0; i <8; ++i)
|
||||||
T55xxReadBlock(i, 0, usepwd, override, password,0);
|
T55xxReadBlock(i, 0, usepwd, override, password, downlink_mode);
|
||||||
|
|
||||||
printT5xxHeader(1);
|
printT5xxHeader(1);
|
||||||
for ( uint8_t i = 0; i<4; i++)
|
for ( uint8_t i = 0; i<4; i++)
|
||||||
T55xxReadBlock(i, 1, usepwd, override, password,0);
|
T55xxReadBlock(i, 1, usepwd, override, password, downlink_mode);
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue