//static uint8_t __res[MAX_FRAME_SIZE];
bool InitDesfireCard(){
-
- // Make sure it is off.
-// FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
-// SpinDelay(300);
- byte_t cardbuf[USB_CMD_DATA_SIZE];
- memset(cardbuf,0,sizeof(cardbuf));
+ byte_t cardbuf[USB_CMD_DATA_SIZE] = {0x00};
+
+ iso14a_card_select_t *card = (iso14a_card_select_t*)cardbuf;
iso14a_set_tracing(TRUE);
iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);
- iso14a_card_select_t *card = (iso14a_card_select_t*)cardbuf;
int len = iso14443a_select_card(NULL,card,NULL);
if (!len) {
- if (MF_DBGLEVEL >= 1) {
- Dbprintf("Can't select card");
- }
+ if (MF_DBGLEVEL >= 1) Dbprintf("Can't select card");
OnError();
return false;
}
void MifareDesfireGetInformation(){
int len = 0;
- uint8_t resp[USB_CMD_DATA_SIZE];
- uint8_t dataout[USB_CMD_DATA_SIZE];
- byte_t cardbuf[USB_CMD_DATA_SIZE];
-
- memset(resp,0,sizeof(resp));
- memset(dataout,0, sizeof(dataout));
- memset(cardbuf,0,sizeof(cardbuf));
+ uint8_t resp[USB_CMD_DATA_SIZE] = {0x00};
+ uint8_t dataout[USB_CMD_DATA_SIZE] = {0x00};
+ byte_t cardbuf[USB_CMD_DATA_SIZE] = {0x00};
/*
1 = PCB 1
//uint8_t new_key_data8[8] = { 0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x77};
//uint8_t new_key_data16[16] = { 0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88,0x99,0xAA,0xBB,0xCC,0xDD,0xEE,0xFF};
- //uint8_t* bigbuffer = get_bigbufptr_recvrespbuf();
uint8_t resp[256] = {0x00};
uint8_t IV[16] = {0x00};
case 1:{
if (algo == 1) {
- uint8_t keybytes[8];
+ uint8_t keybytes[8] = {0x00};
uint8_t RndA[8] = {0x00};
uint8_t RndB[8] = {0x00};
for (int x = 0; x < 8; x++) {
decRndB[x] = decRndB[x] ^ encRndA[x];
-
}
des_dec(&encRndB, &decRndB, key->data);
case 3:{
//defaultkey
- uint8_t keybytes[16];
+ uint8_t keybytes[16] = {0x00};
if (datain[1] == 0xff){
memcpy(keybytes,PICC_MASTER_KEY16,16);
} else{
memcpy(keybytes, datain+1, datalen);
}
- struct desfire_key defaultkey = {0};
+ struct desfire_key defaultkey = {0x00};
desfirekey_t key = &defaultkey;
Desfire_aes_key_new( keybytes, key);
cmd[0] = 0x0A; // 0x0A = skicka cid, 0x02 = ingen cid. Särskilda bitar //
cmd[0] |= pcb_blocknum; // OR the block number into the PCB
- cmd[1] = 0x00; // CID: 0x00 //FIXME: allow multiple selected cards
+ cmd[1] = 0x00; // CID: 0x00 //TODO: allow multiple selected cards
memcpy(cmd+2, datain, len);
AppendCrc14443a(cmd, len+2);