From 88587e672cb8d0c0226b41ee2daca21cca022f6c Mon Sep 17 00:00:00 2001 From: pingu2211 Date: Sun, 10 Nov 2024 23:34:19 +1100 Subject: [PATCH] add a write sector helper --- client/src/mifare/mifarehost.c | 9 ++++++++- client/src/mifare/mifarehost.h | 2 ++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/client/src/mifare/mifarehost.c b/client/src/mifare/mifarehost.c index 09f980917..19d6f609d 100644 --- a/client/src/mifare/mifarehost.c +++ b/client/src/mifare/mifarehost.c @@ -1012,7 +1012,14 @@ int mfWriteBlock(uint8_t blockno, uint8_t keyType, const uint8_t *key, uint8_t * } int mfWriteSector(uint8_t sectorNo, uint8_t keyType, const uint8_t *key, uint8_t *sector){ - + int res; + for (int i=0;i<4; i++){ + res = mfWriteBlock((sectorNo*4)+i, keyType, key, sector+(i*MFBLOCK_SIZE)); + if (res != PM3_SUCCESS){ + return (i==0)?PM3_EFAILED:PM3_EPARTIAL; + } + } + return PM3_SUCCESS; } // EMULATOR diff --git a/client/src/mifare/mifarehost.h b/client/src/mifare/mifarehost.h index 5823cbdf5..443e83b7e 100644 --- a/client/src/mifare/mifarehost.h +++ b/client/src/mifare/mifarehost.h @@ -89,6 +89,8 @@ int mfReadSector(uint8_t sectorNo, uint8_t keyType, const uint8_t *key, uint8_t int mfReadBlock(uint8_t blockNo, uint8_t keyType, const uint8_t *key, uint8_t *data); int mfWriteBlock(uint8_t blockno, uint8_t keyType, const uint8_t *key, uint8_t *block); +int mfWriteSector(uint8_t sectorNo, uint8_t keyType, const uint8_t *key, uint8_t *sector); + int mfEmlGetMem(uint8_t *data, int blockNum, int blocksCount); int mfEmlSetMem(uint8_t *data, int blockNum, int blocksCount); int mfEmlSetMem_xt(uint8_t *data, int blockNum, int blocksCount, int blockBtWidth);