#Include CARDUTIL.DEF #Include COMMERR.DEF ComPort=101 Declare Command &HFF &HB0 ULIGHT(S$) CLS:Print"ULIGHT (c)2008 Patrick GUEULLE" Call WaitForCard ResetCard (P$) : Call CheckSW1SW2 Print:Print Print"ATR (Hist.) : "; FOR F=1 TO Len(P$) M=ASC(MID$(P$,F,1)) M$=HEX$(M):IF Len(M$)=1 Then M$="0"+M$ PRINT M$;" "; NEXT F Print:Print T$=Mid$(P$,10,2) IF T$<>Chr$(&H00)+Chr$(&H03) Then Goto OTHER Print "Mifare Ultralight reconnu ! ":Print P$="" Call ULIGHT(P1P2=&H0000,P$,Le=16):Call CheckSW1SW2 H$="" FOR F=1 To Len(P$) M=ASC(MID$(P$,F,1)) M$=HEX$(M):IF Len(M$)=1 Then M$="0"+M$ H$=H$+M$+" " NEXT F Print"UID : ";Left$(H$,26) Print"Octet interne : ";Mid$(H$,28,2) Print"LOCKS : ";Mid$(H$,31,5); If Mid$(H$,31,5)="00 00" Then Print " (Aucun verrou actif !)"; If Mid$(H$,31,5)="FF FF" Then Print " (Tous les verrous sont actifs)"; Print Print"Zone OTP : ";Right$(H$,12) Print:Print"Zone utilisateur :" Print P$="" Call ULIGHT(P1P2=&H0004,P$,Le=16):Call CheckSW1SW2 FOR F=1 To Len(P$) M=ASC(MID$(P$,F,1)) M$=HEX$(M):IF Len(M$)=1 Then M$="0"+M$ PRINT M$;" "; NEXT F Print P$="" Call ULIGHT(P1P2=&H0008,P$,Le=16):Call CheckSW1SW2 FOR F=1 To Len(P$) M=ASC(MID$(P$,F,1)) M$=HEX$(M):IF Len(M$)=1 Then M$="0"+M$ PRINT M$;" "; NEXT F Print P$="" Call ULIGHT(P1P2=&H000C,P$,Le=16):Call CheckSW1SW2 FOR F=1 To Len(P$) M=ASC(MID$(P$,F,1)) M$=HEX$(M):IF Len(M$)=1 Then M$="0"+M$ PRINT M$;" "; NEXT F Print OTHER: IF T$=Chr$(&H00)+Chr$(&H01) Then Print"MIFARE 1K reconnu" IF T$=Chr$(&H00)+Chr$(&H02) Then Print"MIFARE 4K reconnu" IF T$=Chr$(&H00)+Chr$(&H26) Then Print"MIFARE Mini reconnu" IF T$=Chr$(&HF0)+Chr$(&H04) Then Print"TOPAZ ou JEWEL reconnu" IF T$=Chr$(&HF0)+Chr$(&H11) Then Print"FELICA 212K reconnu" IF T$=Chr$(&HF0)+Chr$(&H12) Then Print"FELICA 424K reconnu" IF Left$(T$,1)=Chr$(&HFF) Then Print"Tag 13,56 MHz inconnu" Print:Print:Call WaitForNoCard