Реклама:

Карта 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

Чтение GPM 896

Таблица 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С