可以读取IC卡的所有区块了,感觉可以把澳门通破解了。。
This commit is contained in:
+37
-17
@@ -19,20 +19,28 @@ unsigned char SN[4];
|
||||
unsigned char RFID[16];
|
||||
unsigned char status;
|
||||
unsigned char s=0x08;
|
||||
char KEY[6]={0xff,0xff,0xff,0xff,0xff,0xff};
|
||||
char KEYA[6]={0,0,0,0,0,0};
|
||||
char KEYB[6]={0xff,0xff,0xff,0xff,0xff,0xff};
|
||||
uint32_t card_number_D=0;
|
||||
|
||||
char fundcard,PA,sele,checkkey;
|
||||
char fundcard,PA,sele,checkkey,read_flag;
|
||||
|
||||
//ͨ¹ýdebug·µ»Ø¿¨Æ¬Êý¾Ý
|
||||
|
||||
void APP_IDcard_loop()
|
||||
{
|
||||
fundcard = PcdRequest(PICC_REQALL,CT);
|
||||
if(fundcard==MI_OK)
|
||||
{
|
||||
|
||||
status=MI_ERR;
|
||||
PA = PcdAnticoll(SN);
|
||||
if(PA==MI_OK)
|
||||
{
|
||||
printf("\n***********************\n");
|
||||
printf("Card Type:%X%X\n",CT[0],CT[1]);
|
||||
printf("CardId:%X%X%X%X\n",SN[0],SN[1],SN[2],SN[3]);
|
||||
|
||||
sprintf(idcard_str,"CardId:%X%X",CT[0],CT[1]);
|
||||
LCD_ShowString(idcard_window->x, idcard_window->y+16, idcard_str, 16, GREEN, RED);
|
||||
sprintf(idcard_str,"CardId:%X%X%X%X",SN[0],SN[1],SN[2],SN[3]);
|
||||
@@ -41,22 +49,34 @@ void APP_IDcard_loop()
|
||||
sele=PcdSelect(SN);
|
||||
if(sele==MI_OK)
|
||||
{
|
||||
LCD_ShowString(idcard_window->x, idcard_window->y+48, "SELE OK", 16, GREEN, RED);
|
||||
|
||||
checkkey=MI_ERR;
|
||||
checkkey=PcdAuthState(0x61,0,KEY,SN);
|
||||
if(checkkey==MI_OK)
|
||||
{
|
||||
LCD_ShowString(idcard_window->x, idcard_window->y+48+16, "KEY OK", 16, GREEN, RED);
|
||||
//PcdRead(0,RFID);
|
||||
}
|
||||
checkkey=MI_ERR;
|
||||
checkkey=PcdAuthState(0x61,32,KEY,SN);
|
||||
if(checkkey==MI_OK)
|
||||
{
|
||||
LCD_ShowString(idcard_window->x, idcard_window->y+48+32, "KEY OK", 16, GREEN, RED);
|
||||
//PcdRead(0,RFID);
|
||||
}
|
||||
LCD_ShowString(idcard_window->x, idcard_window->y+48, "Key ok", 16, GREEN, RED);
|
||||
for(int a=0;a<64;a++)
|
||||
{
|
||||
checkkey=PcdAuthState(0x61,a,KEYB,SN);
|
||||
if(checkkey==MI_OK)
|
||||
{
|
||||
read_flag=PcdRead(a,RFID);
|
||||
if(read_flag==MI_OK)
|
||||
{
|
||||
for(int d=0;d<16;d++)
|
||||
{
|
||||
printf("%02X",RFID[d]);
|
||||
}
|
||||
}else
|
||||
{
|
||||
printf("READ_ERROR");
|
||||
}
|
||||
|
||||
}else
|
||||
{
|
||||
printf("KEY_ERROR");
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -18,6 +18,9 @@ extern touch_device t0;
|
||||
|
||||
task run_loop;//主循环状态机
|
||||
|
||||
|
||||
|
||||
|
||||
void main_app()
|
||||
{
|
||||
char str[64];
|
||||
|
||||
Reference in New Issue
Block a user