mirror of
https://github.com/Proxmark/proxmark3.git
synced 2025-08-20 13:23:25 -07:00
Increased Mifare Esave & Eload filename array to 255 from 20
This commit is contained in:
parent
c936a22f19
commit
8720c8f5d7
1 changed files with 37 additions and 26 deletions
|
@ -1107,24 +1107,28 @@ int CmdHF14AMfESet(const char *Cmd)
|
||||||
int CmdHF14AMfELoad(const char *Cmd)
|
int CmdHF14AMfELoad(const char *Cmd)
|
||||||
{
|
{
|
||||||
FILE * f;
|
FILE * f;
|
||||||
char filename[20];
|
char filename[255];
|
||||||
char * fnameptr = filename;
|
char * fnameptr = filename;
|
||||||
char buf[64];
|
char buf[64];
|
||||||
uint8_t buf8[64];
|
uint8_t buf8[64];
|
||||||
int i, len, blockNum;
|
int i, len, blockNum;
|
||||||
|
bool 4kcard = 0;
|
||||||
|
|
||||||
memset(filename, 0, sizeof(filename));
|
memset(filename, 0, sizeof(filename));
|
||||||
memset(buf, 0, sizeof(buf));
|
memset(buf, 0, sizeof(buf));
|
||||||
|
|
||||||
if (param_getchar(Cmd, 0) == 'h' || param_getchar(Cmd, 0)== 0x00) {
|
if (param_getchar(Cmd, 0) == 'h' || param_getchar(Cmd, 0)== 0x00) {
|
||||||
PrintAndLog("It loads emul dump from the file `filename.eml`");
|
PrintAndLog("It loads emul dump from the file `filename.eml`");
|
||||||
PrintAndLog("Usage: hf mf eload <file name w/o `.eml`>");
|
PrintAndLog("Usage: hf mf eload <file name w/o `.eml`> <4 - 4kcard>");
|
||||||
PrintAndLog(" sample: hf mf eload filename");
|
PrintAndLog(" sample: hf mf eload filename [4]");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
size = param_getchar(Cmd, 1);
|
||||||
|
if (size == '4') 4kcard = 1;
|
||||||
|
|
||||||
len = strlen(Cmd);
|
len = strlen(Cmd);
|
||||||
if (len > 14) len = 14;
|
if (len > 254) len = 254;
|
||||||
|
|
||||||
memcpy(filename, Cmd, len);
|
memcpy(filename, Cmd, len);
|
||||||
fnameptr += len;
|
fnameptr += len;
|
||||||
|
@ -1170,10 +1174,17 @@ int CmdHF14AMfELoad(const char *Cmd)
|
||||||
}
|
}
|
||||||
fclose(f);
|
fclose(f);
|
||||||
|
|
||||||
|
if(4kcard){
|
||||||
|
if (blockNum != 32 * 4 + 8 * 16){
|
||||||
|
PrintAndLog("File content error. There must be 64 blocks");
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
if (blockNum != 16 * 4 && blockNum != 32 * 4 + 8 * 16){
|
if (blockNum != 16 * 4 && blockNum != 32 * 4 + 8 * 16){
|
||||||
PrintAndLog("File content error. There must be 64 blocks");
|
PrintAndLog("File content error. There must be 64 blocks");
|
||||||
return 4;
|
return 4;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
PrintAndLog("Loaded %d blocks from file: %s", blockNum, filename);
|
PrintAndLog("Loaded %d blocks from file: %s", blockNum, filename);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -1181,7 +1192,7 @@ int CmdHF14AMfELoad(const char *Cmd)
|
||||||
int CmdHF14AMfESave(const char *Cmd)
|
int CmdHF14AMfESave(const char *Cmd)
|
||||||
{
|
{
|
||||||
FILE * f;
|
FILE * f;
|
||||||
char filename[20];
|
char filename[255];
|
||||||
char * fnameptr = filename;
|
char * fnameptr = filename;
|
||||||
uint8_t buf[64];
|
uint8_t buf[64];
|
||||||
int i, j, len;
|
int i, j, len;
|
||||||
|
@ -1198,7 +1209,7 @@ int CmdHF14AMfESave(const char *Cmd)
|
||||||
}
|
}
|
||||||
|
|
||||||
len = strlen(Cmd);
|
len = strlen(Cmd);
|
||||||
if (len > 14) len = 14;
|
if (len > 254) len = 254;
|
||||||
|
|
||||||
if (len < 1) {
|
if (len < 1) {
|
||||||
// get filename
|
// get filename
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue