mirror of
https://github.com/Proxmark/proxmark3.git
synced 2025-07-30 11:38:38 -07:00
fix 'hf iclass eload' (thanks to @sherhannn79)
This commit is contained in:
parent
70dbfc3fc7
commit
26d0156a46
2 changed files with 8 additions and 9 deletions
|
@ -15,7 +15,8 @@ This project uses the changelog in accordance with [keepchangelog](http://keepac
|
|||
- Wrong UID at HitagS simulation
|
||||
- `hf 15 sim` now works as expected (piwi)
|
||||
- `hf mf chk t` save to emulator memory now works as expected (mwalker)
|
||||
- Fix `hf mf sim` - wrong access rights to write key B in trailer (@McEloff)
|
||||
- Fix `hf mf sim` - wrong access rights to write key B in trailer (@McEloff)
|
||||
- allow files > 512Bytes in 'hf iclass eload' (@Sherhannn79)
|
||||
|
||||
### Added
|
||||
- Added to `hf 14a apdu` print apdu and compose apdu (@merlokk)
|
||||
|
|
|
@ -294,14 +294,13 @@ int CmdHFiClassELoad(const char *Cmd) {
|
|||
//File handling and reading
|
||||
FILE *f;
|
||||
char filename[FILE_PATH_SIZE];
|
||||
if(opt == 'f' && param_getstr(Cmd, 1, filename, sizeof(filename)) > 0)
|
||||
{
|
||||
if (opt == 'f' && param_getstr(Cmd, 1, filename, sizeof(filename)) > 0) {
|
||||
f = fopen(filename, "rb");
|
||||
}else{
|
||||
} else {
|
||||
return hf_iclass_eload_usage();
|
||||
}
|
||||
|
||||
if(!f) {
|
||||
if (!f) {
|
||||
PrintAndLog("Failed to read from file '%s'", filename);
|
||||
return 1;
|
||||
}
|
||||
|
@ -324,8 +323,7 @@ int CmdHFiClassELoad(const char *Cmd) {
|
|||
printIclassDumpInfo(dump);
|
||||
//Validate
|
||||
|
||||
if (bytes_read < fsize)
|
||||
{
|
||||
if (bytes_read < fsize) {
|
||||
prnlog("Error, could only read %d bytes (should be %d)",bytes_read, fsize );
|
||||
free(dump);
|
||||
return 1;
|
||||
|
@ -334,10 +332,10 @@ int CmdHFiClassELoad(const char *Cmd) {
|
|||
uint32_t bytes_sent = 0;
|
||||
uint32_t bytes_remaining = bytes_read;
|
||||
|
||||
while(bytes_remaining > 0){
|
||||
while (bytes_remaining > 0) {
|
||||
uint32_t bytes_in_packet = MIN(USB_CMD_DATA_SIZE, bytes_remaining);
|
||||
UsbCommand c = {CMD_ICLASS_EML_MEMSET, {bytes_sent,bytes_in_packet,0}};
|
||||
memcpy(c.d.asBytes, dump, bytes_in_packet);
|
||||
memcpy(c.d.asBytes, dump+bytes_sent, bytes_in_packet);
|
||||
SendCommand(&c);
|
||||
bytes_remaining -= bytes_in_packet;
|
||||
bytes_sent += bytes_in_packet;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue