1010// executes.
1111//-----------------------------------------------------------------------------
1212
13- #include "usb_cdc.h"
14- #include "cmd.h"
13+ #include "../common/ usb_cdc.h"
14+ #include "../common/ cmd.h"
1515
16- #include "proxmark3.h"
16+ #include "../include/ proxmark3.h"
1717#include "apps.h"
1818#include "util.h"
1919#include "printf.h"
2222#include <stdarg.h>
2323
2424#include "legicrf.h"
25- #include < hitag2.h>
25+ #include "../include/ hitag2.h"
2626
2727#ifdef WITH_LCD
2828 #include "LCD.h"
@@ -81,40 +81,12 @@ void DbpString(char *str)
8181{
8282 byte_t len = strlen (str );
8383 cmd_send (CMD_DEBUG_PRINT_STRING ,len ,0 ,0 ,(byte_t * )str ,len );
84- // /* this holds up stuff unless we're connected to usb */
85- // if (!UsbConnected())
86- // return;
87- //
88- // UsbCommand c;
89- // c.cmd = CMD_DEBUG_PRINT_STRING;
90- // c.arg[0] = strlen(str);
91- // if(c.arg[0] > sizeof(c.d.asBytes)) {
92- // c.arg[0] = sizeof(c.d.asBytes);
93- // }
94- // memcpy(c.d.asBytes, str, c.arg[0]);
95- //
96- // UsbSendPacket((uint8_t *)&c, sizeof(c));
97- // // TODO fix USB so stupid things like this aren't req'd
98- // SpinDelay(50);
9984}
10085
10186#if 0
10287void DbpIntegers (int x1 , int x2 , int x3 )
10388{
10489 cmd_send (CMD_DEBUG_PRINT_INTEGERS ,x1 ,x2 ,x3 ,0 ,0 );
105- // /* this holds up stuff unless we're connected to usb */
106- // if (!UsbConnected())
107- // return;
108- //
109- // UsbCommand c;
110- // c.cmd = CMD_DEBUG_PRINT_INTEGERS;
111- // c.arg[0] = x1;
112- // c.arg[1] = x2;
113- // c.arg[2] = x3;
114- //
115- // UsbSendPacket((uint8_t *)&c, sizeof(c));
116- // // XXX
117- // SpinDelay(50);
11890}
11991#endif
12092
@@ -199,8 +171,6 @@ void MeasureAntennaTuning(void)
199171 int i , adcval = 0 , peak = 0 , peakv = 0 , peakf = 0 ; //ptr = 0
200172 int vLf125 = 0 , vLf134 = 0 , vHf = 0 ; // in mV
201173
202- // UsbCommand c;
203-
204174 LED_B_ON ();
205175 DbpString ("Measuring antenna characteristics, please wait..." );
206176 memset (dest ,0 ,sizeof (FREE_BUFFER_SIZE ));
@@ -692,7 +662,6 @@ void UsbPacketReceived(uint8_t *packet, int len)
692662 case CMD_PCF7931_READ : // Read PCF7931 tag
693663 ReadPCF7931 ();
694664 cmd_send (CMD_ACK ,0 ,0 ,0 ,0 ,0 );
695- // UsbSendPacket((uint8_t*)&ack, sizeof(ack));
696665 break ;
697666 case CMD_EM4X_READ_WORD :
698667 EM4xReadWord (c -> arg [1 ], c -> arg [2 ],c -> d .asBytes [0 ]);
@@ -800,8 +769,17 @@ void UsbPacketReceived(uint8_t *packet, int len)
800769 case CMD_MIFAREU_READBL :
801770 MifareUReadBlock (c -> arg [0 ],c -> d .asBytes );
802771 break ;
772+ case CMD_MIFAREUC_AUTH1 :
773+ MifareUC_Auth1 (c -> arg [0 ],c -> d .asBytes );
774+ break ;
775+ case CMD_MIFAREUC_AUTH2 :
776+ MifareUC_Auth2 (c -> arg [0 ],c -> d .asBytes );
777+ break ;
803778 case CMD_MIFAREU_READCARD :
804- MifareUReadCard (c -> arg [0 ],c -> d .asBytes );
779+ MifareUReadCard (c -> arg [0 ],c -> arg [1 ],c -> d .asBytes );
780+ break ;
781+ case CMD_MIFAREUC_READCARD :
782+ MifareUReadCard (c -> arg [0 ],c -> arg [1 ],c -> d .asBytes );
805783 break ;
806784 case CMD_MIFARE_READSC :
807785 MifareReadSector (c -> arg [0 ], c -> arg [1 ], c -> arg [2 ], c -> d .asBytes );
@@ -854,6 +832,24 @@ void UsbPacketReceived(uint8_t *packet, int len)
854832 case CMD_MIFARE_SNIFFER :
855833 SniffMifare (c -> arg [0 ]);
856834 break ;
835+
836+ // mifare desfire
837+ case CMD_MIFARE_DESFIRE_READBL :
838+ break ;
839+ case CMD_MIFARE_DESFIRE_WRITEBL :
840+ break ;
841+ case CMD_MIFARE_DESFIRE_AUTH1 :
842+ MifareDES_Auth1 (c -> arg [0 ], c -> arg [1 ], c -> arg [2 ], c -> d .asBytes );
843+ break ;
844+ case CMD_MIFARE_DESFIRE_AUTH2 :
845+ MifareDES_Auth2 (c -> arg [0 ],c -> d .asBytes );
846+ break ;
847+ // case CMD_MIFARE_DES_READER:
848+ // ReaderMifareDES(c->arg[0], c->arg[1], c->d.asBytes);
849+ break ;
850+ case CMD_MIFARE_DESFIRE_INFO :
851+ MifareDesfireGetInformation ();
852+ break ;
857853#endif
858854
859855#ifdef WITH_ICLASS
@@ -867,6 +863,9 @@ void UsbPacketReceived(uint8_t *packet, int len)
867863 case CMD_READER_ICLASS :
868864 ReaderIClass (c -> arg [0 ]);
869865 break ;
866+ case CMD_READER_ICLASS_REPLAY :
867+ ReaderIClass_Replay (c -> arg [0 ], c -> d .asBytes );
868+ break ;
870869#endif
871870
872871 case CMD_SIMULATE_TAG_HF_LISTEN :
@@ -896,18 +895,6 @@ void UsbPacketReceived(uint8_t *packet, int len)
896895 break ;
897896
898897 case CMD_DOWNLOAD_RAW_ADC_SAMPLES_125K :
899- // UsbCommand n;
900- // if(c->cmd == CMD_DOWNLOAD_RAW_ADC_SAMPLES_125K) {
901- // n.cmd = CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K;
902- // } else {
903- // n.cmd = CMD_DOWNLOADED_RAW_BITS_TI_TYPE;
904- // }
905- // n.arg[0] = c->arg[0];
906- // memcpy(n.d.asBytes, BigBuf+c->arg[0], 48); // 12*sizeof(uint32_t)
907- // LED_B_ON();
908- // usb_write((uint8_t *)&n, sizeof(n));
909- // UsbSendPacket((uint8_t *)&n, sizeof(n));
910- // LED_B_OFF();
911898
912899 LED_B_ON ();
913900 for (size_t i = 0 ; i < c -> arg [1 ]; i += USB_CMD_DATA_SIZE ) {
@@ -923,7 +910,6 @@ void UsbPacketReceived(uint8_t *packet, int len)
923910 uint8_t * b = (uint8_t * )BigBuf ;
924911 memcpy (b + c -> arg [0 ], c -> d .asBytes , 48 );
925912 //Dbprintf("copied 48 bytes to %i",b+c->arg[0]);
926- // UsbSendPacket((uint8_t*)&ack, sizeof(ack));
927913 cmd_send (CMD_ACK ,0 ,0 ,0 ,0 ,0 );
928914 break ;
929915 }
@@ -981,7 +967,6 @@ void UsbPacketReceived(uint8_t *packet, int len)
981967 case CMD_DEVICE_INFO : {
982968 uint32_t dev_info = DEVICE_INFO_FLAG_OSIMAGE_PRESENT | DEVICE_INFO_FLAG_CURRENT_MODE_OS ;
983969 if (common_area .flags .bootrom_present ) dev_info |= DEVICE_INFO_FLAG_BOOTROM_PRESENT ;
984- // UsbSendPacket((uint8_t*)&c, sizeof(c));
985970 cmd_send (CMD_DEVICE_INFO ,dev_info ,0 ,0 ,0 ,0 );
986971 break ;
987972 }
@@ -1010,7 +995,6 @@ void __attribute__((noreturn)) AppMain(void)
1010995
1011996 // Init USB device`
1012997 usb_enable ();
1013- // UsbStart();
1014998
1015999 // The FPGA gets its clock from us from PCK0 output, so set that up.
10161000 AT91C_BASE_PIOA -> PIO_BSR = GPIO_PCK0 ;
@@ -1046,8 +1030,6 @@ void __attribute__((noreturn)) AppMain(void)
10461030 UsbPacketReceived (rx ,rx_len );
10471031 }
10481032 }
1049- // UsbPoll(FALSE);
1050-
10511033 WDT_HIT ();
10521034
10531035#ifdef WITH_LF
0 commit comments