This commit is contained in:
merlokk 2018-10-26 16:52:02 +03:00
commit dc78d947c9
3 changed files with 6 additions and 6 deletions

View file

@ -88,14 +88,14 @@ int MFPCommitPerso(bool activateField, bool leaveSignalON, uint8_t *dataout, int
int MFPReadBlock(mf4Session *session, bool plain, uint8_t blockNum, uint8_t blockCount, bool activateField, bool leaveSignalON, uint8_t *dataout, int maxdataoutlen, int *dataoutlen, uint8_t *mac) {
uint8_t rcmd[4 + 8] = {(plain?(0x37):(0x33)), blockNum, 0x00, blockCount};
if (!plain && session)
CalulateMAC(session, rcmd, 4, &rcmd[4], VerboseMode);
CalculateMAC(session, rcmd, 4, &rcmd[4], VerboseMode);
int res = intExchangeRAW14aPlus(rcmd, plain?4:sizeof(rcmd), activateField, leaveSignalON, dataout, maxdataoutlen, dataoutlen);
if(res)
return res;
if(session && mac)
CalulateMAC(session, dataout, *dataoutlen, mac, VerboseMode);
CalculateMAC(session, dataout, *dataoutlen, mac, VerboseMode);
return 0;
}
@ -104,14 +104,14 @@ int MFPWriteBlock(mf4Session *session, uint8_t blockNum, uint8_t *data, bool act
uint8_t rcmd[1 + 2 + 16 + 8] = {0xA3, blockNum, 0x00};
memmove(&rcmd[3], data, 16);
if (session)
CalulateMAC(session, rcmd, 19, &rcmd[19], VerboseMode);
CalculateMAC(session, rcmd, 19, &rcmd[19], VerboseMode);
int res = intExchangeRAW14aPlus(rcmd, sizeof(rcmd), activateField, leaveSignalON, dataout, maxdataoutlen, dataoutlen);
if(res)
return res;
if(session && mac)
CalulateMAC(session, dataout, *dataoutlen, mac, VerboseMode);
CalculateMAC(session, dataout, *dataoutlen, mac, VerboseMode);
return 0;
}

View file

@ -16,7 +16,7 @@
#include "ui.h"
#include "polarssl/libpcrypto.h"
int CalulateMAC(mf4Session *session, uint8_t *data, int datalen, uint8_t *mac, bool verbose) {
int CalculateMAC(mf4Session *session, uint8_t *data, int datalen, uint8_t *mac, bool verbose) {
if (!session || !session->Authenticated || !mac || !data || !datalen)
return 1;

View file

@ -24,7 +24,7 @@ typedef struct {
}mf4Session;
extern int CalulateMAC(mf4Session *session, uint8_t *data, int datalen, uint8_t *mac, bool verbose);
extern int CalculateMAC(mf4Session *session, uint8_t *data, int datalen, uint8_t *mac, bool verbose);
extern int MifareAuth4(mf4Session *session, uint8_t *keyn, uint8_t *key, bool activateField, bool leaveSignalON, bool verbose);
extern uint8_t mfNumBlocksPerSector(uint8_t sectorNo);