make style

This commit is contained in:
merlokk 2021-06-03 19:13:11 +03:00
commit f3f3a5a270
5 changed files with 169 additions and 164 deletions

View file

@ -27,16 +27,21 @@ uint8_t QConstant[CIPURSE_AES_KEY_LENGTH] = {0x74, 0x74, 0x74, 0x74, 0x74, 0x74,
uint8_t CipurseCSecurityLevelEnc(CipurseChannelSecurityLevel lvl) { uint8_t CipurseCSecurityLevelEnc(CipurseChannelSecurityLevel lvl) {
switch (lvl) { switch (lvl) {
case CPSNone: return 0x00; case CPSNone:
case CPSPlain: return 0x00; return 0x00;
case CPSMACed: return 0x01; case CPSPlain:
case CPSEncrypted: return 0x02; return 0x00;
default: return 0x00; case CPSMACed:
return 0x01;
case CPSEncrypted:
return 0x02;
default:
return 0x00;
} }
} }
static void bin_xor(uint8_t *d1, uint8_t *d2, size_t len) { static void bin_xor(uint8_t *d1, uint8_t *d2, size_t len) {
for(size_t i = 0; i < len; i++) for (size_t i = 0; i < len; i++)
d1[i] = d1[i] ^ d2[i]; d1[i] = d1[i] ^ d2[i];
} }
@ -231,7 +236,7 @@ size_t FindISO9797M2PaddingDataLen(uint8_t *data, size_t datalen) {
return 0; return 0;
} }
static uint16_t CipurseCComputeMICCRC (uint8_t *data, size_t len) { static uint16_t CipurseCComputeMICCRC(uint8_t *data, size_t len) {
uint16_t initCRC = 0x6363; uint16_t initCRC = 0x6363;
for (size_t i = 0; i < len; i++) { for (size_t i = 0; i < len; i++) {
uint8_t ch = data[i] ^ initCRC; uint8_t ch = data[i] ^ initCRC;
@ -406,17 +411,17 @@ void CipurseCAPDUReqEncode(CipurseContext *ctx, sAPDU *srcapdu, sAPDU *dstapdu,
switch (ctx->RequestSecurity) { switch (ctx->RequestSecurity) {
case CPSNone: case CPSNone:
break; break;
case CPSPlain: case CPSPlain:
CipurseCAPDUMACEncode(ctx, dstapdu, originalLc, buf, &buflen); CipurseCAPDUMACEncode(ctx, dstapdu, originalLc, buf, &buflen);
CipurseCCalcMACPadded(ctx, buf, buflen, NULL); CipurseCCalcMACPadded(ctx, buf, buflen, NULL);
break; break;
case CPSMACed: case CPSMACed:
dstapdu->Lc += CIPURSE_MAC_LENGTH; dstapdu->Lc += CIPURSE_MAC_LENGTH;
CipurseCAPDUMACEncode(ctx, dstapdu, originalLc, buf, &buflen); CipurseCAPDUMACEncode(ctx, dstapdu, originalLc, buf, &buflen);
CipurseCCalcMACPadded(ctx, buf, buflen, mac); CipurseCCalcMACPadded(ctx, buf, buflen, mac);
memcpy(&dstdatabuf[dstapdu->Lc - CIPURSE_MAC_LENGTH], mac, CIPURSE_MAC_LENGTH); memcpy(&dstdatabuf[dstapdu->Lc - CIPURSE_MAC_LENGTH], mac, CIPURSE_MAC_LENGTH);
break; break;
case CPSEncrypted: case CPSEncrypted:
dstapdu->Lc = srcapdu->Lc + CIPURSE_MIC_LENGTH; dstapdu->Lc = srcapdu->Lc + CIPURSE_MIC_LENGTH;
dstapdu->Lc += CIPURSE_AES_BLOCK_LENGTH - dstapdu->Lc % CIPURSE_AES_BLOCK_LENGTH + 1; // 1 - SMI dstapdu->Lc += CIPURSE_AES_BLOCK_LENGTH - dstapdu->Lc % CIPURSE_AES_BLOCK_LENGTH + 1; // 1 - SMI
@ -433,9 +438,9 @@ void CipurseCAPDUReqEncode(CipurseContext *ctx, sAPDU *srcapdu, sAPDU *dstapdu,
memcpy(&buf[4 + srcapdu->Lc], mac, CIPURSE_MIC_LENGTH); memcpy(&buf[4 + srcapdu->Lc], mac, CIPURSE_MIC_LENGTH);
//PrintAndLogEx(INFO, "data plain[%d]: %s", 4 + srcapdu->Lc + CIPURSE_MIC_LENGTH, sprint_hex(buf, 4 + srcapdu->Lc + CIPURSE_MIC_LENGTH)); //PrintAndLogEx(INFO, "data plain[%d]: %s", 4 + srcapdu->Lc + CIPURSE_MIC_LENGTH, sprint_hex(buf, 4 + srcapdu->Lc + CIPURSE_MIC_LENGTH));
CipurseCChannelEncrypt(ctx, buf, 4 + srcapdu->Lc + CIPURSE_MIC_LENGTH, &dstdatabuf[1], &buflen); CipurseCChannelEncrypt(ctx, buf, 4 + srcapdu->Lc + CIPURSE_MIC_LENGTH, &dstdatabuf[1], &buflen);
break; break;
default: default:
break; break;
} }
} }
@ -468,7 +473,7 @@ void CipurseCAPDURespDecode(CipurseContext *ctx, uint8_t *srcdata, size_t srcdat
switch (ctx->ResponseSecurity) { switch (ctx->ResponseSecurity) {
case CPSNone: case CPSNone:
break; break;
case CPSPlain: case CPSPlain:
memcpy(buf, srcdata, srcdatalen); memcpy(buf, srcdata, srcdatalen);
buflen = srcdatalen; buflen = srcdatalen;
@ -479,7 +484,7 @@ void CipurseCAPDURespDecode(CipurseContext *ctx, uint8_t *srcdata, size_t srcdat
memcpy(dstdata, srcdata, srcdatalen); memcpy(dstdata, srcdata, srcdatalen);
if (dstdatalen != NULL) if (dstdatalen != NULL)
*dstdatalen = srcdatalen; *dstdatalen = srcdatalen;
break; break;
case CPSMACed: case CPSMACed:
if (srcdatalen < CIPURSE_MAC_LENGTH) if (srcdatalen < CIPURSE_MAC_LENGTH)
return; return;
@ -496,7 +501,7 @@ void CipurseCAPDURespDecode(CipurseContext *ctx, uint8_t *srcdata, size_t srcdat
memcpy(dstdata, srcdata, srcdatalen); memcpy(dstdata, srcdata, srcdatalen);
if (dstdatalen != NULL) if (dstdatalen != NULL)
*dstdatalen = srcdatalen; *dstdatalen = srcdatalen;
break; break;
case CPSEncrypted: case CPSEncrypted:
CipurseCChannelDecrypt(ctx, srcdata, srcdatalen, buf, &buflen); CipurseCChannelDecrypt(ctx, srcdata, srcdatalen, buf, &buflen);
//PrintAndLogEx(INFO, "data plain[%d]: %s", buflen, sprint_hex(buf, buflen)); //PrintAndLogEx(INFO, "data plain[%d]: %s", buflen, sprint_hex(buf, buflen));
@ -515,9 +520,9 @@ void CipurseCAPDURespDecode(CipurseContext *ctx, uint8_t *srcdata, size_t srcdat
*dstdatalen = micdatalen - 2; *dstdatalen = micdatalen - 2;
if (sw) if (sw)
*sw = micdata[micdatalen - 2] * 0x0100 + micdata[micdatalen - 1]; *sw = micdata[micdatalen - 2] * 0x0100 + micdata[micdatalen - 1];
break; break;
default: default:
break; break;
} }
} }

View file

@ -470,7 +470,7 @@ static int CmdHFCipurseReadFileAttr(const char *Cmd) {
arg_lit0(NULL, "noauth", "read file attributes without authentication"), arg_lit0(NULL, "noauth", "read file attributes without authentication"),
arg_str0(NULL, "sreq", "<plain|mac(default)|encode>", "communication reader-PICC security level"), arg_str0(NULL, "sreq", "<plain|mac(default)|encode>", "communication reader-PICC security level"),
arg_str0(NULL, "sresp", "<plain|mac(default)|encode>", "communication PICC-reader security level"), arg_str0(NULL, "sresp", "<plain|mac(default)|encode>", "communication PICC-reader security level"),
arg_lit0(NULL, "sel-adf","show info about ADF itself"), arg_lit0(NULL, "sel-adf", "show info about ADF itself"),
arg_lit0(NULL, "sel-mf", "show info about master file"), arg_lit0(NULL, "sel-mf", "show info about master file"),
arg_param_end arg_param_end
}; };