Показать сообщение отдельно

  #2  
Старый 22.02.2006, 13:37
novichok
Banned
Регистрация: 03.12.2005
Сообщений: 449
Провел на форуме:
547725

Репутация: 302
По умолчанию

Необходимый минимум

Предполагаем, что у нас есть файловая система GSM (это чертовски облегчает жизнь). Посему незамедлительно приступим к персонализацтт (заполнению на нашей карте файлов, перечисленных в разделе Файловая система).

Для наглядности примера примем за исходные данные такие значения:


НАЧАЛЬНЫЕ ЗНАЧЕНИЯ
ADM0 = ADM1 (Hex) 00 00 00 00 00 00 00 00

PIN1 = PIN2 (Hex) 31 31 31 31 FF FF FF FF

(ASCII) "1111"

PUK1 = PUK2 (Hex) 31 32 33 34 35 36 37 38

(ASCII) "12345678"





Итак, вставив карточку в ридер, подав на нее питание и получив ATR (Answer To Reset - ответ карточки на подачу питания или команду СБРОС/RESET), выполняем по шагам ...

Шаг 1. Предъявляем админовские пароли.

Cla Ins P1 P2 P3/Lc Le Data In
A0
2A
00
00
08

00 00 00 00 00 00 00 00





Чисто случайно получаем ответ 90 00 и невозмутимо продолжаем -

Cla Ins P1 P2 P3/Lc Le Data In
A0
2A
00
01
08

00 00 00 00 00 00 00 00





Не путайте пароли администратора с PIN и PUK-кодами, которыми Вы пользуетесь в процессе эксплуатации своего телефона.

Чтобы исключить возможную путаницу понятий в дальнейшем, разграничим понятия PIN-кодов и паролей администратора.

Пароли администратора позволяют получить неограниченный доступ к содержимому карточки, в то время, как PIN и PUK-коды это всего лишь определенные в файловой системе GSM файлы (CHV1 и CHV2), содержащие эти самые коды, плюс сопутствующая информация.

Эти файлы (CHV1 и CHV2) используются Вашим телефоном для запроса ввода PIN и PUK кодов. Верификация кодов происходит путем сверки введенного с содержимым файла. Предъявление PIN/PUK кодов ни в коей мере не позволит Вам вносить изменения на карте, как то - создание, запись или удаление файла.

А вот пароли администратора позволяют подобные манипуляции. К примеру, ели вы заблокировали Вашу карту, в том числе и PUK-код, то зная пароли администратора, просто перезапишите определенные области в файле CHV1 (или CHV2, первый или второй PIN/PUK коды соответственно).

Шаг 2. Записываем PIN'ы и PUK'и.

Начинаем с CHV1 -

Cla Ins P1 P2 P3/Lc Le Data In
A0
A4
00
00
02

00 00





Теоретически получаем 90 00. Обновляем содержимое (всего файла) -

Cla Ins P1 P2 P3/Lc Le Data In
A0
D6
00
00
17

01 00 00 31 31 31 31 FF FF FF FF 03 03 31 32 33 34 35 36 37 38 0A 0A





Здесь сделаю краткое отступление с целью объяснить формат содержимого CHV файла:

Byte Parameter/Description Mandatory-Optional Length
1
Байт активации
- 00 - не используется
- 01 - нужно предъявлять при включении трубки

1

2-3
RFU, заполняется нулями

2

4-11
PIN (ASCII коды символов в HEX; значения FF - нет символов).
Пин-код в нашем случае: 1111

8

12
Предустановленное к-во попыток ввода пин-кода

1

13
Оставшееся к-во попыток ввода пин-кода

1

14-21
PUK (ASCII коды символов разблокировки пина в HEX).
PUK в нашем случае: 12345678

8

22
Предустановленное к-во попыток ввода кода разблокирования

1

23
Оставшееся к-во попыток ввода кода разблокирования

1





В данном примере пин-код, это четыре единицы - "1111" с ограничением количества попыток неправильного ввода равного трем, а PUK - "12345678" с соответствующим количеством попыток равным десяти.

Аналогичным образом записываем CHV2 -

Cla Ins P1 P2 P3/Lc Le Data In
A0
A4
00
00
02

01 00





Должны получить 90 00. Обновляем содержимое (делаем пин и пак-коды одинаковыми) -

Cla Ins P1 P2 P3/Lc Le Data In
A0
D6
00
00
17

01 00 00 31 31 31 31 FF FF FF FF 03 03 31 32 33 34 35 36 37 38 0A 0A





Проверить корректность записи пин-кодов можно командой -

Cla Ins P1 P2 P3/Lc Le Data In
A0
20
00
01
08

31 31 31 31 FF FF FF FF





Это обычная проверка пин-кода. Именно такой APDU формируется Вашим телефоном и отсылается карточке, когда, после включения телефона, вводится пин-код. Результат должен быть 90 00.
 
Ответить с цитированием