mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-20 21:33:47 -07:00
Merge pull request #640 from ikarus23/legic_dump
fix: legic deobfuscate length.
This commit is contained in:
commit
7b54cbacb9
1 changed files with 14 additions and 12 deletions
|
@ -108,7 +108,7 @@ static int usage_legic_dump(void) {
|
|||
PrintAndLogEx(NORMAL, "Options:");
|
||||
PrintAndLogEx(NORMAL, " h : this help");
|
||||
PrintAndLogEx(NORMAL, " f <filename> : filename w/o '.bin' to dump bytes");
|
||||
PrintAndLogEx(NORMAL, " x : deobfuscate dump data");
|
||||
PrintAndLogEx(NORMAL, " x : deobfuscate dump data (xor with MCC)");
|
||||
PrintAndLogEx(NORMAL, "");
|
||||
PrintAndLogEx(NORMAL, "Examples:");
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf legic dump -- uses UID as filename"));
|
||||
|
@ -123,7 +123,7 @@ static int usage_legic_restore(void) {
|
|||
PrintAndLogEx(NORMAL, "Options:");
|
||||
PrintAndLogEx(NORMAL, " h : this help");
|
||||
PrintAndLogEx(NORMAL, " f <filename> : filename w/o '.bin' to restore bytes on to card from");
|
||||
PrintAndLogEx(NORMAL, " x : obfuscate dump data");
|
||||
PrintAndLogEx(NORMAL, " x : obfuscate dump data (xor with MCC)");
|
||||
PrintAndLogEx(NORMAL, "");
|
||||
PrintAndLogEx(NORMAL, "Examples:");
|
||||
PrintAndLogEx(NORMAL, _YELLOW_(" hf legic restore f myfile"));
|
||||
|
@ -185,10 +185,10 @@ static bool legic_xor(uint8_t *data, uint16_t cardsize) {
|
|||
}
|
||||
|
||||
|
||||
for(uint16_t i = 22; i < cardsize - 22; i++) {
|
||||
for(uint16_t i = 22; i < cardsize; i++) {
|
||||
data[i] ^= crc;
|
||||
}
|
||||
PrintAndLogEx(SUCCESS, "Obsfuscation done");
|
||||
PrintAndLogEx(SUCCESS, "(De)Obsfuscation done");
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -1007,7 +1007,9 @@ static int CmdLegicDump(const char *Cmd) {
|
|||
}
|
||||
|
||||
if (shall_deobsfuscate) {
|
||||
legic_xor(data, card.cardsize);
|
||||
// Deobfuscate the whole dump. Unused data (after the last sector) will be MCC since
|
||||
// 0x00 ^ MCC = MCC. Finding the end of used data is not part of this function.
|
||||
legic_xor(data, dumplen);
|
||||
}
|
||||
|
||||
saveFile(filename, ".bin", data, readlen);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue