mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-21 05:43:48 -07:00
chg: cleaning
This commit is contained in:
parent
0997c55800
commit
a4f6701c85
1 changed files with 30 additions and 26 deletions
|
@ -764,7 +764,7 @@ int CmdHF15Dump(const char*Cmd) {
|
||||||
}
|
}
|
||||||
|
|
||||||
int CmdHF15Restore(const char*Cmd) {
|
int CmdHF15Restore(const char*Cmd) {
|
||||||
FILE *file;
|
FILE *f;
|
||||||
|
|
||||||
uint8_t uid[8]={0x00};
|
uint8_t uid[8]={0x00};
|
||||||
char filename[FILE_PATH_SIZE] = {0x00};
|
char filename[FILE_PATH_SIZE] = {0x00};
|
||||||
|
@ -774,10 +774,10 @@ int CmdHF15Restore(const char*Cmd) {
|
||||||
char newCmdPrefix[255] = {0x00}, tmpCmd[255] = {0x00};
|
char newCmdPrefix[255] = {0x00}, tmpCmd[255] = {0x00};
|
||||||
char param[FILE_PATH_SIZE]="";
|
char param[FILE_PATH_SIZE]="";
|
||||||
char hex[255]="";
|
char hex[255]="";
|
||||||
uint8_t retries = 3, tried = 0;
|
uint8_t retries = 3, tried = 0, i = 0;
|
||||||
int retval=0;
|
int retval=0;
|
||||||
size_t bytes_read;
|
size_t bytes_read;
|
||||||
uint8_t i=0;
|
|
||||||
while(param_getchar(Cmd, cmdp) != 0x00) {
|
while(param_getchar(Cmd, cmdp) != 0x00) {
|
||||||
switch(tolower(param_getchar(Cmd, cmdp))) {
|
switch(tolower(param_getchar(Cmd, cmdp))) {
|
||||||
case '-':
|
case '-':
|
||||||
|
@ -785,7 +785,8 @@ int CmdHF15Restore(const char*Cmd) {
|
||||||
switch(param[1])
|
switch(param[1])
|
||||||
{
|
{
|
||||||
case '2':
|
case '2':
|
||||||
case 'o': strncpy(newCmdPrefix, " ",sizeof(newCmdPrefix)-1);
|
case 'o':
|
||||||
|
strncpy(newCmdPrefix, " ", sizeof(newCmdPrefix)-1);
|
||||||
strncat(newCmdPrefix, param, sizeof(newCmdPrefix)-1);
|
strncat(newCmdPrefix, param, sizeof(newCmdPrefix)-1);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -815,18 +816,18 @@ int CmdHF15Restore(const char*Cmd) {
|
||||||
default:
|
default:
|
||||||
PrintAndLogEx(WARNING, "Unknown parameter '%c'", param_getchar(Cmd, cmdp));
|
PrintAndLogEx(WARNING, "Unknown parameter '%c'", param_getchar(Cmd, cmdp));
|
||||||
return usage_15_restore();
|
return usage_15_restore();
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
cmdp++;
|
cmdp++;
|
||||||
}
|
}
|
||||||
|
|
||||||
PrintAndLogEx(INFO,"Blocksize: %u",blocksize);
|
PrintAndLogEx(INFO,"Blocksize: %u",blocksize);
|
||||||
if(filename[0]=='\0')
|
|
||||||
{
|
if ( !strlen(filename)) {
|
||||||
PrintAndLogEx(WARNING,"Please provide a filename");
|
PrintAndLogEx(WARNING,"Please provide a filename");
|
||||||
return 1;
|
return usage_15_restore();
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((file = fopen(filename,"rb")) == NULL) {
|
if ((f = fopen(filename, "rb")) == NULL) {
|
||||||
PrintAndLogEx(WARNING, "Could not find file %s", filename);
|
PrintAndLogEx(WARNING, "Could not find file %s", filename);
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
|
@ -835,40 +836,43 @@ int CmdHF15Restore(const char*Cmd) {
|
||||||
PrintAndLogEx(WARNING, "No tag found");
|
PrintAndLogEx(WARNING, "No tag found");
|
||||||
return 3;
|
return 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
tried=0;
|
tried = 0;
|
||||||
hex[0]=0x00;
|
hex[0] = 0x00;
|
||||||
tmpCmd[0]=0x00;
|
tmpCmd[0] = 0x00;
|
||||||
|
|
||||||
bytes_read = fread( buff, 1, blocksize, file );
|
bytes_read = fread( buff, 1, blocksize, f );
|
||||||
if ( bytes_read == 0) {
|
if ( bytes_read == 0) {
|
||||||
PrintAndLogEx(SUCCESS, "File reading done (%s).", filename);
|
PrintAndLogEx(SUCCESS, "File reading done `%s`", filename);
|
||||||
fclose(file);
|
fclose(f);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
} else if ( bytes_read != blocksize) {
|
||||||
else if ( bytes_read != blocksize) {
|
|
||||||
PrintAndLogEx(WARNING, "File reading error (%s), %u bytes read instead of %u bytes.", filename, bytes_read, blocksize);
|
PrintAndLogEx(WARNING, "File reading error (%s), %u bytes read instead of %u bytes.", filename, bytes_read, blocksize);
|
||||||
fclose(file);
|
fclose(f);
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
for(int j=0;j<blocksize;j++)
|
|
||||||
snprintf(hex+j*2,3,"%02X", (unsigned char)buff[j]);
|
for(int j=0; j < blocksize; j++)
|
||||||
for(int j=0;j<sizeof(uid)/sizeof(uid[0]);j++)
|
snprintf(hex+j*2, 3, "%02X", buff[j]);
|
||||||
|
|
||||||
|
for(int j=0; j < sizeof(uid)/sizeof(uid[0]); j++)
|
||||||
snprintf(buff+j*2,3,"%02X", uid[j]);
|
snprintf(buff+j*2,3,"%02X", uid[j]);
|
||||||
|
|
||||||
//TODO: Addressed mode currently not work
|
//TODO: Addressed mode currently not work
|
||||||
//snprintf(tmpCmd, sizeof(tmpCmd), "%s %s %d %s", newCmdPrefix, buff, i, hex);
|
//snprintf(tmpCmd, sizeof(tmpCmd), "%s %s %d %s", newCmdPrefix, buff, i, hex);
|
||||||
snprintf(tmpCmd, sizeof(tmpCmd), "%s u %d %s", newCmdPrefix, i, hex);
|
snprintf(tmpCmd, sizeof(tmpCmd), "%s u %u %s", newCmdPrefix, i, hex);
|
||||||
PrintAndLogEx(DEBUG, "Command to be sent: %s", tmpCmd);
|
PrintAndLogEx(DEBUG, "Command to be sent| %s", tmpCmd);
|
||||||
|
|
||||||
for(tried=0;tried<retries;tried++)
|
for(tried=0; tried < retries; tried++)
|
||||||
if(!(retval=CmdHF15Write(tmpCmd)))
|
if(!(retval = CmdHF15Write(tmpCmd)))
|
||||||
break;
|
break;
|
||||||
if(tried >= retries)
|
if(tried >= retries)
|
||||||
return retval;
|
return retval;
|
||||||
|
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
fclose(file);
|
fclose(f);
|
||||||
}
|
}
|
||||||
|
|
||||||
int CmdHF15List(const char *Cmd) {
|
int CmdHF15List(const char *Cmd) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue