projects
/
proxmark3-svn
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ADD: found a BCARD KeyB on the net. ref: http://irq5.io/2013/04/13/decoding-bcard...
[proxmark3-svn]
/
armsrc
/
mifaredesfire.c
diff --git
a/armsrc/mifaredesfire.c
b/armsrc/mifaredesfire.c
index 5737615106c9a0cddd2d8a92d3763807c97d6b01..fb48647762b62035147fa71153651cc7c769be5e 100644
(file)
--- a/
armsrc/mifaredesfire.c
+++ b/
armsrc/mifaredesfire.c
@@
-1,5
+1,6
@@
#include "mifaredesfire.h"
#include "des.h"
#include "mifaredesfire.h"
#include "des.h"
+#include "BigBuf.h"
#define MAX_APPLICATION_COUNT 28
#define MAX_FILE_COUNT 16
#define MAX_APPLICATION_COUNT 28
#define MAX_FILE_COUNT 16
@@
-23,7
+24,7
@@
bool InitDesfireCard(){
iso14a_card_select_t *card = (iso14a_card_select_t*)cardbuf;
iso14a_card_select_t *card = (iso14a_card_select_t*)cardbuf;
-
iso14a_
set_tracing(TRUE);
+ set_tracing(TRUE);
iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);
int len = iso14443a_select_card(NULL,card,NULL);
iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);
int len = iso14443a_select_card(NULL,card,NULL);
@@
-65,7
+66,7
@@
void MifareSendCommand(uint8_t arg0, uint8_t arg1, uint8_t *datain){
}
if ( flags & CLEARTRACE ){
}
if ( flags & CLEARTRACE ){
-
iso14a_
clear_trace();
+ clear_trace();
}
if ( flags & INIT ){
}
if ( flags & INIT ){
@@
-109,8
+110,8
@@
void MifareDesfireGetInformation(){
PCB == 0x0A because sending CID byte.
CID == 0x00 first card?
*/
PCB == 0x0A because sending CID byte.
CID == 0x00 first card?
*/
-
iso14a_
clear_trace();
-
iso14a_
set_tracing(TRUE);
+ clear_trace();
+ set_tracing(TRUE);
iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);
// card select - information
iso14443a_setup(FPGA_HF_ISO14443A_READER_LISTEN);
// card select - information
@@
-432,10
+433,10
@@
int DesfireAPDU(uint8_t *cmd, size_t cmd_len, uint8_t *dataout){
size_t len = 0;
size_t wrappedLen = 0;
size_t len = 0;
size_t wrappedLen = 0;
- uint8_t wCmd[USB_CMD_DATA_SIZE] = {0};
+ uint8_t wCmd[USB_CMD_DATA_SIZE] = {0
x00
};
- uint8_t
*resp = ((uint8_t *)BigBuf) + RECV_RESP_OFFSET
;
- uint8_t
*resp_par = ((uint8_t *)BigBuf) + RECV_RESP_PAR_OFFSET
;
+ uint8_t
resp[MAX_FRAME_SIZE]
;
+ uint8_t
par[MAX_PARITY_SIZE]
;
wrappedLen = CreateAPDU( cmd, cmd_len, wCmd);
wrappedLen = CreateAPDU( cmd, cmd_len, wCmd);
@@
-444,7
+445,7
@@
int DesfireAPDU(uint8_t *cmd, size_t cmd_len, uint8_t *dataout){
}
ReaderTransmit( wCmd, wrappedLen, NULL);
}
ReaderTransmit( wCmd, wrappedLen, NULL);
- len = ReaderReceive(resp,
resp_
par);
+ len = ReaderReceive(resp, par);
if( len == 0x00 ){
if (MF_DBGLEVEL >= 4) {
if( len == 0x00 ){
if (MF_DBGLEVEL >= 4) {
@@
-501,6
+502,7
@@
void OnSuccess(){
void OnError(uint8_t reason){
pcb_blocknum = 0;
ReaderTransmit(deselect_cmd, 3 , NULL);
void OnError(uint8_t reason){
pcb_blocknum = 0;
ReaderTransmit(deselect_cmd, 3 , NULL);
+
FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
cmd_send(CMD_ACK,0,reason,0,0,0);
LEDsoff();
FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
cmd_send(CMD_ACK,0,reason,0,0,0);
LEDsoff();
Impressum
,
Datenschutz