mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-19 21:03:48 -07:00
Update cmdlfkeri.c
Code clean and tune
This commit is contained in:
parent
4175297f57
commit
dfe36a2d60
1 changed files with 14 additions and 27 deletions
|
@ -197,15 +197,6 @@ static int CmdKeriDemod(const char *Cmd) {
|
||||||
CmdKeriMSScramble (Descramble,&fc,&cardid,&raw2);
|
CmdKeriMSScramble (Descramble,&fc,&cardid,&raw2);
|
||||||
|
|
||||||
PrintAndLogEx (SUCCESS,"Descrambled MS : FC %d - Card ID %d\n",fc,cardid);
|
PrintAndLogEx (SUCCESS,"Descrambled MS : FC %d - Card ID %d\n",fc,cardid);
|
||||||
|
|
||||||
/*
|
|
||||||
Scamble: For dev testing only, will/should move to the create keri-ms code when added.
|
|
||||||
*/
|
|
||||||
// uint32_t testCard = 0;
|
|
||||||
// CmdKeriMSScramble (Scramble,&fc,&cardid,&testCard);
|
|
||||||
|
|
||||||
|
|
||||||
// End Descramble test
|
|
||||||
|
|
||||||
if (invert) {
|
if (invert) {
|
||||||
PrintAndLogEx(INFO, "Had to Invert - probably KERI");
|
PrintAndLogEx(INFO, "Had to Invert - probably KERI");
|
||||||
|
@ -224,11 +215,10 @@ static int CmdKeriRead(const char *Cmd) {
|
||||||
|
|
||||||
static int CmdKeriClone(const char *Cmd) {
|
static int CmdKeriClone(const char *Cmd) {
|
||||||
|
|
||||||
uint8_t cmdptr = 0;
|
uint8_t cmdidx = 0;
|
||||||
char format = 'i'; // default to raw
|
char keritype = 'i'; // default to internalid
|
||||||
uint32_t fc = 0;
|
uint32_t fc = 0;
|
||||||
uint32_t cid = 0;
|
uint32_t cid = 0;
|
||||||
uint32_t cardid = 0;
|
|
||||||
uint32_t internalid = 0;
|
uint32_t internalid = 0;
|
||||||
uint32_t blocks[3] = {
|
uint32_t blocks[3] = {
|
||||||
T55x7_TESTMODE_DISABLED |
|
T55x7_TESTMODE_DISABLED |
|
||||||
|
@ -250,22 +240,21 @@ static int CmdKeriClone(const char *Cmd) {
|
||||||
cid = param_get32ex(Cmd, 0, 0, 10);
|
cid = param_get32ex(Cmd, 0, 0, 10);
|
||||||
|
|
||||||
// find other options
|
// find other options
|
||||||
while (param_getchar(Cmd, cmdptr) != 0x00) { // && !errors) {
|
while (param_getchar(Cmd, cmdidx) != 0x00) { // && !errors) {
|
||||||
PrintAndLogEx (SUCCESS,"[%c]",param_getchar(Cmd, cmdptr));
|
switch (tolower(param_getchar(Cmd, cmdidx))) {
|
||||||
switch (tolower(param_getchar(Cmd, cmdptr))) {
|
|
||||||
case 'h': // help
|
case 'h': // help
|
||||||
return usage_lf_keri_clone();
|
return usage_lf_keri_clone();
|
||||||
case 't': // format type
|
case 't': // format type
|
||||||
format = tolower(param_getchar(Cmd,cmdptr+1));
|
keritype = tolower(param_getchar(Cmd,cmdidx+1));
|
||||||
cmdptr += 2;
|
cmdidx += 2;
|
||||||
break;
|
break;
|
||||||
case 'f': // fc
|
case 'f': // fc
|
||||||
fc = param_get32ex(Cmd,cmdptr+1,0,10);
|
fc = param_get32ex(Cmd,cmdidx+1,0,10);
|
||||||
cmdptr += 2;
|
cmdidx += 2;
|
||||||
break;
|
break;
|
||||||
case 'c': // cardid
|
case 'c': // cardid
|
||||||
cid = param_get32ex(Cmd,cmdptr+1,0,10);
|
cid = param_get32ex(Cmd,cmdidx+1,0,10);
|
||||||
cmdptr += 2;
|
cmdidx += 2;
|
||||||
break;
|
break;
|
||||||
case 'q': // q5
|
case 'q': // q5
|
||||||
blocks[0] =
|
blocks[0] =
|
||||||
|
@ -273,11 +262,11 @@ static int CmdKeriClone(const char *Cmd) {
|
||||||
T5555_SET_BITRATE(128) |
|
T5555_SET_BITRATE(128) |
|
||||||
T5555_PSK_RF_2 |
|
T5555_PSK_RF_2 |
|
||||||
2 << T5555_MAXBLOCK_SHIFT;
|
2 << T5555_MAXBLOCK_SHIFT;
|
||||||
cmdptr++;
|
cmdidx++;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
// Skip unknown
|
// Skip unknown
|
||||||
cmdptr++;
|
cmdidx++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -295,15 +284,13 @@ static int CmdKeriClone(const char *Cmd) {
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
// Setup card data/build internal id
|
// Setup card data/build internal id
|
||||||
switch (format) {
|
switch (keritype) {
|
||||||
case 'i' : // Internal ID
|
case 'i' : // Internal ID
|
||||||
// MSB is ONE
|
// MSB is ONE
|
||||||
internalid = cid | 0x80000000;
|
internalid = cid | 0x80000000;
|
||||||
break;
|
break;
|
||||||
case 'm' : // MS
|
case 'm' : // MS
|
||||||
cardid = 0;
|
CmdKeriMSScramble (Scramble,&fc,&cid,&internalid);
|
||||||
CmdKeriMSScramble (Scramble,&fc,&cid,&cardid);
|
|
||||||
internalid = 0xE000000000000000 + cardid;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue