mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-14 18:48:13 -07:00
convert from OLD to NG
This commit is contained in:
parent
1317c380f4
commit
788876538d
3 changed files with 45 additions and 27 deletions
|
@ -2215,41 +2215,39 @@ static void PacketReceived(PacketCommandNG *packet) {
|
|||
}
|
||||
case CMD_FLASHMEM_WRITE: {
|
||||
LED_B_ON();
|
||||
uint8_t isok = 0;
|
||||
uint16_t res = 0;
|
||||
uint32_t startidx = packet->oldarg[0];
|
||||
uint16_t len = packet->oldarg[1];
|
||||
uint8_t *data = packet->data.asBytes;
|
||||
|
||||
if (!FlashInit()) {
|
||||
flashmem_old_write_t *payload = (flashmem_old_write_t *)packet->data.asBytes;
|
||||
|
||||
if (FlashInit() == false) {
|
||||
reply_ng(CMD_FLASHMEM_WRITE, PM3_EIO, NULL, 0);
|
||||
LED_B_OFF();
|
||||
break;
|
||||
}
|
||||
|
||||
if (startidx == DEFAULT_T55XX_KEYS_OFFSET) {
|
||||
if (payload->startidx == DEFAULT_T55XX_KEYS_OFFSET) {
|
||||
Flash_CheckBusy(BUSY_TIMEOUT);
|
||||
Flash_WriteEnable();
|
||||
Flash_Erase4k(3, 0xC);
|
||||
} else if (startidx == DEFAULT_MF_KEYS_OFFSET) {
|
||||
} else if (payload->startidx == DEFAULT_MF_KEYS_OFFSET) {
|
||||
Flash_CheckBusy(BUSY_TIMEOUT);
|
||||
Flash_WriteEnable();
|
||||
Flash_Erase4k(3, 0x9);
|
||||
Flash_CheckBusy(BUSY_TIMEOUT);
|
||||
Flash_WriteEnable();
|
||||
Flash_Erase4k(3, 0xA);
|
||||
} else if (startidx == DEFAULT_ICLASS_KEYS_OFFSET) {
|
||||
} else if (payload->startidx == DEFAULT_ICLASS_KEYS_OFFSET) {
|
||||
Flash_CheckBusy(BUSY_TIMEOUT);
|
||||
Flash_WriteEnable();
|
||||
Flash_Erase4k(3, 0xB);
|
||||
} else if (startidx == FLASH_MEM_SIGNATURE_OFFSET) {
|
||||
} else if (payload->startidx == FLASH_MEM_SIGNATURE_OFFSET) {
|
||||
Flash_CheckBusy(BUSY_TIMEOUT);
|
||||
Flash_WriteEnable();
|
||||
Flash_Erase4k(3, 0xF);
|
||||
}
|
||||
|
||||
res = Flash_Write(startidx, data, len);
|
||||
isok = (res == len) ? 1 : 0;
|
||||
uint16_t res = Flash_Write(payload->startidx, payload->data, payload->len);
|
||||
|
||||
reply_mix(CMD_ACK, isok, 0, 0, 0, 0);
|
||||
reply_ng(CMD_FLASHMEM_WRITE, (res == payload->len) ? PM3_SUCCESS : PM3_ESOFT, NULL, 0);
|
||||
LED_B_OFF();
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue