Карта GPM 896 во многом напоминает GPM 416, но имеет память большего объема (896 бит) и две независимые рабочие зоны (см. табл. 4.4). Именно модель GPM 896 используется в членских картах, выдаваемых в качестве бонуса нефтяной компанией SHELL на ее заправочных станциях.
Ниже показаны полученные при помощи программы GPM896. BAS данные, которые могут содержаться в такой карте.
00110О1О 11111111 01100111 01100000 10010001 00010000 00011100 00010010 11100101 10111011 11111111 11111111 11111111 11111111 00000000 01000010 ОО11О00О ООШОООО 00000000 01000010 00110000 00000000 11111111 11111111
11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111

Таблица 4.4. Структура памяти карты СРМ 896
Зона изготовителя |
16 бит |
Зона владельца |
64 бита |
Секретный код карты |
16 бит |
Счетчик ошибок | 4 бита | |
12 бит |
Зона, защищенная секретным кодом карты |
64 бита |
256 бит |
|
Зона приложения #1 |
|
Секретный код стирания #1 |
48 бит |
РЯЕЛч" #2 | ІШЕІЧ #2 |
256 бит |
Зона приложения #2 |
|
Секретный код стирания #2 |
32 бита |
Счетчик стираний зоны #2 |
128 бит |
Всего |
896 6кг |
10 REM - GPMR96.BAS -
20 KEY OFF :CLS :0EF SEG=0
30 S1=PEEK(&H"0R)+2J6.PEEK(t)MO9) "для LPT1:
40 S2=PEEK(&H40A)+256'PEEK(8.H4OB) 'для LPT2:
50 OUT S2,0 :E2=S2t1 I 60 IF (INP(E2) AND 64) о 0 THEN S=S1 :G0T0 100 I 70 OUT S2,126
B0 IF (INP(E2) AND 6',) о Є4 THEN S=S1 :G0T0 100
90 S=S2 I 100 E=S+1:0UT S.O
110 DIM B$(B96)
120 PRINT' Вставить карту GPN896, затем нажать <ENTER>" 130 INPUT Z$ 140 CLS
150 DUT S.4.0UT S,0 160 FOR 1=1 TO B96 170 OUT S.O
160 D=INP(E) :d= (d and 128) 190 IF D=12B THEN B$(I)="0"
200 IF D<>126 THEN B$(I)=T 210 OUT S,2 220 NEXT I 230 N=1
240 FOR F=1 TO 14 250 FOR G=1 TO 6 260 FOR H=1 TO 8 270 PRINT B$(N); :N=ltH 2B0 NEXT H
290 PRINT" "; :NEXT G 300 PRINT :NEXT F
310 PRINT : PRINT :РР1М'"Для сохранения ввести имя файга и нажать <TNTER>'
320 PRINT :РН1МТ"Без сохранения: сменить карту и нажать <ENTER>"
330 PRINT :PRINT :INPUT 7$
340 IF Z$=" THEN 140
350 FOR F=1 TO LEN(Z$)
360 IF HIDS(Z$.F,1)=- " THEN 390
370 NEXT F
380 Z$=Z$t'.CAR"
390 OPEN Z$ FDR OUTPUT AS "1
400 N=1
410 FOR F=1 TO 28
420 FOR G=1 TO В
430 FOR H=1 TO 4
440 PRINT11. Rj(N)-r ";:N=№-1
450 NEXT H
460 PBIMV ■; :NEXT С
470 PRINTM. :NEXT F
480 CL0SEH1 :PRINT ::GOTO 120
490 REM (0)1993.1995 Patrick GUEULLE
Ниже приведена программа расшифровки (DECB96.BAS), которая наверняка пригодится в дальнейшей работе. 10 REM - 0ECB96.BAS -20 KEY OFF :CLS
30 PRINT'Ввести имя анализируемого CAR-файла";
40 INPUT N$
50 IF N$= "' THEN END
60 FOR F=1 TO LEN(N$)
70 IF MID$(NJ.F,1)=" " THEN 100
80 NEXT F
90 N$=NV\CAR-
100 OPEN N$ FOR INPUT AS "1
110 DIM M(896)
120 FOR F=0 TO B95
130 INPUTUO :M(F)=0 140 NEXT F 150 CLS
160 РР1М"Зсна изготовителе:": 170 B=O:E=15:G0SUB 500O 190 PRINT B$
200 PRINT"30Ha владельца:", 210 B=18:E=79:C0SUB 50OO 220 PRINT B$
230 PRINT"NacKa секретного кода:", 240 B=B0:E=95:G0SUB 5000 260 РР1М"'Счетчик ошибок:", 270 B=96:E=111G0SUB 5000 275 PRINT BJ
2B0 IF LEFT$(H$,1)='F" THEN РВ1НТ"Предыдущий код введен правильно" > IF LEFT$(H$,1)=~7" THEN PRINT'Предыдущий код введен с ошибкой' ) IF LEFT$(H$,1)="3" THEN PRINT'flBa последних кода введены с ошибкой" 310 IF LEFTS(H$,1)="1" THEN PRINT'TpH последних кода введены с ошибкой" 120 IF LEFT$(H$,1)="0" THEN PRINT"4eTHpe ошибочных кода: карта блокируется" 400 PRINT :РВШ"Защищенная зона: " 410 B=112:E=175:G0SUB 5000 420 PRINT В$
500 РНИГРабочая зона Щ 1 '"; 510 B=176:E=431:GDSUB 5000 520 PRINT С$: 525 PRINT BJ
530 PRIM 'PRENK1 =";M(176); 540 PRINT "RDEN#1 =";M(177) ■50 PRINT" Маска кода стирания зоны № 1:"'
B=434:E=479:G0SUB 5000 .70 PRINT :PRINT"- Следующая страница: нажать <ENTEfi> -
PRINT : INPUT ZJ :CLS )0 PRINT" Рабочая зона № 2 " 110 B=482:E=735:00SUB 5000 i20 PRINT c$; 625 PRINT B$
630 PRINT :PRINT "PRENB2 =';M(482): 640 PRINT "RDENII2 =";M(4B3) 700 PRINT :PRINT"MacKa кода старения зоны * 2"; 710 B=740:E=767:G0SUB 5000 BOO PRINT :PRINT"Счетчик стираний зоны I" 2"; 110 B=772:E=B95:G0SUB 5000 820 PRINT B$ ВЭ0 R=0
B40 FOR F=772 TO B95 850 IF P(F)=0 THIN R=R+1
860 NEXT F
870 PRINT :PRINT R;"стираний зоны № 2 произведено; 128-R ' разрешено" 4999 END
БООО H=0:B$=":CJ="":H$=-:K=0:FOR F=B ТО Е
5010 IF M(F)=1 THEN B$=BS+" 1" ELSE B$=8$t"0"
5015 IF LEN(B$)=255 THEN C$=CSHEFT$(BI 1):BS=RIGHT1(BJ,254)
5020 IF M(F)=1 THEN N=Ht2"(3-K)
6030 K=K+1
5040 IF K<=3 THEN 5100 5050 H$=H$+HEX$(H) 5060 K=0:H-0 5100 NEXT F 5110 PRINT HJ 5220 RETURN
6000 REN (c)1995 Patrick CUEULLE Результат этой обработки выводится последовательно, в два эк рана; пример представлен нижа
Зона изготовителя. 32FF 0011001011111111
Зона владельца: 6760S1101D12E5BB
0110011101100000100100010001000000011100000100101110010110111011
Маска секретного кода: FFFF
Счетчик ошибок: FFFF
1111111111111111
Предыдущий код введен правильно
Защищенная зона: 0042300000423000
0000000001000010001100000000000000000000010000100011000000000000 Рабочая зона № 1:
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFPFFFFFFFFFFF 11
1111111111111111111111111111111111111111111111111111111111111111111111 1111111111
1111111111111111111111111111111111111111111111111111111111111111111111 1111111111
1111111111111111111111111111111111111111111111111111111111111111111111
1111111111 11111111111111
PRENB1 = 1, RDENJ1 = 1
Маска кода стирения зоны ft 1 . FFFFFFFFFFF
--Следующая страница, нажать <ENTER>----
Рабочая зона № 2:
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
1111111111111111111111111111111111111111111111111111111111111111111111
1111111111
1111111111111111111111111111111111111111111111111111111111111111111111 ' 1111111111
И111111111111111111111111111111111111111111111111111111111111111111111
I 1111111111 11111111111111
I PRENB2 = 1, RDENB2 = 1
I мабка кода стирания зоны № 2: FFFFFFF
В Счетчик стираний зоны m 2:
H FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
I 1111111111111111111111111111111111111111111111111111111111111111111111 ■ l111111111
I 11111111111111111111111111111111111111111111 I О стираний зоны № 2 произведено. 12В ре■. ешенс
⇐Чтение карт GPM 416 || Оглавление || Карты на микросхемах 12С⇒