закрыть X

### Опции скрытого текста

%field должно быть только числовым
%field необходимо
По меньшей мере, один параметр требуется

Следующие ошибки возникли при попытке отправки сообщения:

Скрыть по количеству сообщений
Требуется сообщений
Скрыть от гостей
Скрыть от всех групп, кроме выбранных
Группы
Глобальный модератор
Модератор раздела
Новичок
Начинаю писать
Постоялец
Знающий
Старожил
Модератор
ВИП
Ветеран
Неприкасаемый
Проходил мимо
Прохожий
Друзья
Новичок
Ветераны форума
Новичок
Скрыть по количеству Спасибо поставленных пользователю
Кол-во сказанных пользователю Спасибо
Скрыть пока не скажут Спасибо
« предыдущая тема следующая тема »
Страницы: « 1 ... 37 38 39 40 41 ... 44 » Вниз

# Иформация о Eurocrypt (помните такое?)

- 436 Ответов
- 32918 Просмотров

#### Shurik406

- Начинаю писать
- 232
- 488 раз
- 58W |-----| 55E
  Много чего
  UK

##### Иформация о Eurocrypt (помните такое?)

« Ответ #380: Понедельник 16 Мая 2022, 11:23:32 »
Цитата

> Надо их искать в спецификации GEMPLUS MPCOS-EMV , хотя толку...

Было бы интересно прописать свою собственную карту EC-S2 на той-же железе что и сам провайдер.
- Спасибо
Жалоба Записан

#### Ethereal

- ВИП
- Старожил
- 1.581
- 8.611 раз

##### Иформация о Eurocrypt (помните такое?)

« Ответ #381: Среда 18 Мая 2022, 00:48:55 »
Где только найти такие PDF-ки :
Gemplus, “Multi_Application Chip Operating System (MCOS) Reference Manual Ver 2.2”, 1990.
Gemplus, “Multi_Application Payment Chip Operating System (MPCOS) Reference Manual Ver 2.2”,1994.
Без них посинеешь глядя в дизасм мозгами скрипеть. Ну и хотя бы сравнить - то что видно
в коде карты похоже на эти спецификации или нет.
« Последнее редактирование: Среда 18 Мая 2022, 05:17:41 от Ethereal »
Жалоба 212.109.29.221

#### Shurik406

- Начинаю писать
- 232
- 488 раз
- 58W |-----| 55E
  Много чего
  UK

##### Иформация о Eurocrypt (помните такое?)

« Ответ #382: Четверг 19 Мая 2022, 19:52:15 »
@Ethereal у вас случайно не остался софт для глитча от этой карты? У меня она ничего не принимает от глитчера.
TX Data : 0C 0E 03 01 86 C4 CA 24 01 00 10 80 00
RX Data : 0B 07 3F 24 00 80 72 94 43
Пробовал подобрать промежутки стоп битов в ctx9600_j2, но ничего не помогает.
- Спасибо
Жалоба Записан

#### Shurik406

- Начинаю писать
- 232
- 488 раз
- 58W |-----| 55E
  Много чего
  UK

##### Иформация о Eurocrypt (помните такое?)

« Ответ #383: Пятница 20 Мая 2022, 11:37:06 »
Надо было Sc.Delay поставить между сбросом и посланием команд. Вроде-бы поехало. Сейчас бы карту не угробить...
- Спасибо
Сказали Спасибо: balton, lift-man, stefanvl
Жалоба Записан

#### Shurik406

- Начинаю писать
- 232
- 488 раз
- 58W |-----| 55E
  Много чего
  UK

##### Иформация о Eurocrypt (помните такое?)

« Ответ #384: Пятница 20 Мая 2022, 15:04:22 »
Вота!
filmnet.plus/...53-9.txt
Чините свою карту
Сказали Спасибо: balton, Sergio, Ethereal, lift-man
Жалоба Записан

#### stefanvl

- Прохожий
- 35
- 32 раза

##### Иформация о Eurocrypt (помните такое?)

« Ответ #385: Воскресенье 22 Мая 2022, 01:00:25 »
Привет
@Ethereal @Shurik406
У одной из моих карт Viasat со смайликом странный ATR 3F 67 2F 00 11 14 00 03 69 90 00, Также не возможно получить пин-код, карта заблокирована. Я предполагаю, что эта карта была перепутана и неисправна. Можно ли восстановить карту?
Мне удалось сбросить две карты Visiopass и карту TV Plus, это все EC-M. Теперь буду пробовать другие карты.
Спасибо
- Спасибо
FULL DUMP TV Cable Visiopass 330 0541385.txt
(28 КБ ~ Скачиваний: 2)
« Последнее редактирование: Понедельник 23 Мая 2022, 00:40:09 от stefanvl »
Жалоба Записан

#### stefanvl

- Прохожий
- 35
- 32 раза

##### Иформация о Eurocrypt (помните такое?)

« Ответ #386: Понедельник 23 Мая 2022, 01:23:20 »
@Ethereal
У меня есть эта карта Filmnet с ATR 3F 67 2F 00 11 14 00 01 68 90 00. Я нашел точку глюка 00FE, иногда 00FB
Но когда я пытаюсь прочитать карту сверху, я получаю только
0000: 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94
0010: 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94
1-й сценарий для поиска сбоя:
'Ec-M 3F672F0011140001689000
Dim N ' So that N is a global variable
Sub Main()
Sc.Write("B0 FF")
For HI=0 To &hFF
For LO=0 To &hFF
Sc.Write("05 0E 03 01 8A 00"):RX
Sc.Write("20 0E 03 C4 CA 24 01 00 10 80 CF")
Sc.Write("FE FF 9D 9D 9D 1E 08 C6 1635 CD 1DE1 20 F6 00") 'Worm as PIN
Sc.Write("20" & H(HI,2) & H(LO,2) & "0A BF 00"):RX
If N>&h20 Then Halt 'The glitch point is found, stop
Next
Next
End Sub
Function RX
Sc.Delay(300)
N=Sc.BytesInBuffer
Sc.Read(N)
End Function
Function H(S, L)
H = Right(Hex(S), L)
H = Mid("0000", 1, L-Len(H)) + H
End Function
Второй сценарий для чтения карты:
'Ec-M 3F672F0011140001689000
Dim N
Sub Main()
Sc.Verbose=False
Sc.Write("B0 FF")
For HI=0 To &h1F
For LO=0 To &hFF
Do
Sc.Write("05 0E 03 01 8A 00"):RX
Sc.Write("20 0E 03 C4 CA 24 01 00 10 80 CF")
Sc.Write("FE FE 9D 9D 9D 1E 08 C6" & H(HI,2) & H(LO,2) & "CD 1DE1 20 F6 00") 'Worm as PIN
Sc.Write("20 00FE 0A BF 00"):RX
Loop Until N>&h40
B=Sc.GetByte(3)
If (HI>0) AND B<>Sc.GetByte(4) Then Halt
If (LO And &hF)=0 Then Sc.Print(vbcr & H(HI,2) & H(LO,2) & " :")
Sc.Print(" " & H(B,2))
Next
Next
End Sub
Function RX
Sc.Delay(300)
N=Sc.BytesInBuffer
Sc.Read(N)
End Function
Function H(S, L)
H = Right(Hex(S), L)
H = Mid("0000", 1, L-Len(H)) + H
End Function
Есть советы?
Спасибо
- Спасибо
Сказали Спасибо: balton
Жалоба Записан

#### Ethereal

- ВИП
- Старожил
- 1.581
- 8.611 раз

##### Иформация о Eurocrypt (помните такое?)

« Ответ #387: Понедельник 23 Мая 2022, 03:53:36 »
Цитата(Shurik406 от Пятница 20 Мая 2022, 15:04:22)

> Чините свою карту

Грац. Снятие этого дампа в чистую - круть крутейшая.
Ты бы в двух словах пояснил как это сделал, где безопасный
метод дампирования лежит.
По поводу лечения моей карты - это не так просто. Вот смотри.
В твоем дампе Canal Digital
Код: [Выделить]

E010 : CC E0 E0 0E 00 00 00 00 CC E1 D9 0B CC E5 00 0F
^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^
E020 : CC E2 26 0D 00 00 00 00 00 00 00 00 00 00 00 00
^^^^^^^^^^^

Назовем это дело jmp-вектора, потому-что они начинаются с
CC hi lo jmp hilo
команды, которая должна исполниться. Но что в этих jmp-векторах
делает четвертый байт ? А вот что
CC E0 E0 = 11001100 11100000 11100000
Сколько здесь нулевых бит ? 14 ? И четвертый байт равен 0E
CC E1 D9 = 11001100 11100001 11011001
Сколько здесь нулевых бит ? 11 ? И четвертый байт равен 0B
CC E5 00 = 11001100 11100101 00000000
Сколько здесь нулевых бит ? 15 ? И четвертый байт равен 0F
CC E2 26 = 11001100 11100010 00100110
Сколько здесь нулевых бит ? 13 ? И четвертый байт равен 0D
Идея четвертого байта состоит в том, что в OTP-зоне мы можем в самой
команде jmp hilo нулевые биты дописывать до единичных, а значит количество
нулевых бит только уменьшать. Но в четвертом байте мы можем число,
хранящее количество нулевых бит, только увеличивать. Итого, если считать
jmp-вектор действительным только если в четвертом байте количество
нулевых бит верное, то jmp-вектор можно прописать только один раз.
После этого любое изменение jmp-вектора сделает его недействительным -
количество нулевых бит первых трех байт, сохраненное в четвертом байте,
окажется больше чем их есть на самом деле.
Операционка карты Canal Digital действительность jmp-векторов проверяет
и если они недействительны, их игнорирует. Вот как у меня получилось
активировать операционку. Я на своей карте три jmp-вектора из четырех
нечаянно засрал
Код: [Выделить]

E010 : DD E0 E0 0E 00 00 00 00 CC E1 D9 0B CD E7 38 0F
^^^^^^^^^^^ - засран ^^^^^^^^^^^ - засран
^^^^^^^^^^^ - цел
E020 : FC FA 3E 0D 38 38 38 00 38 38 38 00 38 38 38 00
^^^^^^^^^^^ - засран

они стали недействительны и операционка решила, что на карте
никакой аппликации вовсе нет. Вот она и стала стартовать сама.
Но для того чтобы восстановить вектора мне надо стереть OTP-зону.
А это еще неизвестно как сделать и можно ли вообще.
Я так себе думаю, что на заводе OTP-зона обязательно как-то стирается
перед записью, т.е. физически механизм стирания этой зоны есть.
Только после, с прожиганием фьюза, что переводит карту в пользовательские
режим, он может отключаться ... а может и нет. В любом случае придется
потыкаться по неиспользуемым битам спецрегистра 3, что отвечает за запись
в EEPROM, может быть этот режим прорежется ... ну а может и нет.

Подумал(a) и добавил(a): Понедельник 23 Мая 2022, 04:10:52

Цитата(stefanvl от Понедельник 23 Мая 2022, 01:23:20)

> 1-й сценарий для поиска сбоя:

Покажи лог этого скрипта, тот кусок лога когда он находит точку глитча.

Подумал(a) и добавил(a): Понедельник 23 Мая 2022, 04:11:55

Цитата(stefanvl от Понедельник 23 Мая 2022, 01:23:20)

> Второй сценарий для чтения карты:

И вот в этом скрипте убери или отправь в комментарий строчку
Sc.Verbose=False
и покажи немного лога.
Сказали Спасибо: balton, Sergio, lift-man, Shurik406
Жалоба 212.109.29.221

#### Ethereal

- ВИП
- Старожил
- 1.581
- 8.611 раз

##### Иформация о Eurocrypt (помните такое?)

« Ответ #388: Понедельник 23 Мая 2022, 09:36:33 »
Цитата(stefanvl от Воскресенье 22 Мая 2022, 01:00:25)

> Можно ли восстановить карту?

Этот байт в ATR
Код: [Выделить]

3F 67 2F 00 11 14 00 03 69 90 00
^^

- это состояние карты. В этом байте состояния :
Выставленный бит 5 означает в частности, что у карты должен быть иссуер
Выставленный бит 3 означает, что иссуер есть
Выставленный бит 0 означает, что иссуер деактивирован
Дальше дампы (E)EPROM я показываю инверсно :
У карт Viaccess (которые наследницы Eurocrypt-M) иссуер деактивировался
нулированием старшего бита его дескриптора. Т.е. превращением B3 в 33
Код: [Выделить]

E040 : B3 00 FF F4 0F FF A3 00 20 00 00 FF 94 00 01 12
^^

А у карт Eurocrypt-M дескриптор 91
Код: [Выделить]

0130 : 91 FF F4 0E 9D 20 00 00 B2 01 12 41 AB 46 00 00

Но наверное также превращение его в 11 деактивирует иссуер.
Беда в том, что эти карты имеют Electrically Programmable ROM
который ни разу не Erasable , поэтому поднять этот бит в единицу
обратно мы никак не можем.
Но можно наверное дописать дескриптор до 01, полагая что карта такую
запись будет игнорировать, ну и создать еще одну, новую запись для
ID иссуера. Только это надо будет проделать так :
1.) Мне написать быстренько эмулятор карты Viasat Eurocrypt-M, вроде
тех, что я тут написал уже кучу. И выяснить какие карточные команды
доступны в состоянии карты 69. Доступны там будут не все. Найти из
них такую которая пригодна для запуска вируса.
2.) Тебе снять вирусом дамп карты в состоянии 69 и уже я засуну его
в эмулятор, чтобы иметь однозначно эмулятор карты в таком состоянии.
3.) Ну и в эмуляторе поискать вариант лечения карты и десять раз
перепроверить, что после лечения все в карте будет работать.
4.) Когда уже лечение будет найдено тебе пролечить ее подавая на
карту 15 вольт напряжения программирования. Скрипт для лечения,
который будет писать в EPROM, придумается как-нибудь.
Вот такой сложный путь, если вдруг решиться это сделать. А по другому никак.
Сказали Спасибо: Sergio, lift-man, Shurik406, stefanvl
« Последнее редактирование: Понедельник 23 Мая 2022, 15:27:16 от Ethereal »
Жалоба 212.109.29.221

#### stefanvl

- Прохожий
- 35
- 32 раза

##### Иформация о Eurocrypt (помните такое?)

« Ответ #389: Понедельник 23 Мая 2022, 10:04:22 »
@Ethereal
Спасибо за ваш предыдущий ответ.
Есть идеи по этому поводу? Я делаю то же самое для других карт и получаю правильный дамп. Только на определенной карте с тем же ATR я получаю 94 94 94 94 ...
Цитата(stefanvl от Понедельник 23 Мая 2022, 01:23:20)

> @Ethereal
> У меня есть эта карта Filmnet c ATR 3F 67 2F 00 11 14 00 01 68 90 00. Я нашел точку глюка 00FE, иногда 00FB
> Но когда я пытаюсь прочитать карту сверху, я получаю только
> 0000: 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94
> 0010: 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94 94
> 1-й сценарий для поиска сбоя:
> 'Ec-M 3F672F0011140001689000
> Dim N ' So that N is a global variable
> Sub Main()
> Sc.Write("B0 FF")
> For HI=0 To &hFF
> For LO=0 To &hFF
> Sc.Write("05 0E 03 01 8A 00"):RX
> Sc.Write("20 0E 03 C4 CA 24 01 00 10 80 CF")
> Sc.Write("FE FF 9D 9D 9D 1E 08 C6 1635 CD 1DE1 20 F6 00") 'Worm as PIN
> Sc.Write("20" & H(HI,2) & H(LO,2) & "0A BF 00"):RX
> If N>&h20 Then Halt 'The glitch point is found, stop
> Next
> Next
> End Sub
> Function RX
> Sc.Delay(300)
> N=Sc.BytesInBuffer
> Sc.Read(N)
> End Function
> Function H(S, L)
> H = Right(Hex(S), L)
> H = Mid("0000", 1, L-Len(H)) + H
> End Function
> Второй сценарий для чтения карты:
> 'Ec-M 3F672F0011140001689000
> Dim N
> Sub Main()
> Sc.Verbose=False
> Sc.Write("B0 FF")
> For HI=0 To &h1F
> For LO=0 To &hFF
> Do
> Sc.Write("05 0E 03 01 8A 00"):RX
> Sc.Write("20 0E 03 C4 CA 24 01 00 10 80 CF")
> Sc.Write("FE FE 9D 9D 9D 1E 08 C6" & H(HI,2) & H(LO,2) & "CD 1DE1 20 F6 00") 'Worm as PIN
> Sc.Write("20 00FE 0A BF 00"):RX
> Loop Until N>&h40
> B=Sc.GetByte(3)
> If (HI>0) AND B<>Sc.GetByte(4) Then Halt
> If (LO And &hF)=0 Then Sc.Print(vbcr & H(HI,2) & H(LO,2) & " :")
> Sc.Print(" " & H(B,2))
> Next
> Next
> End Sub
> Function RX
> Sc.Delay(300)
> N=Sc.BytesInBuffer
> Sc.Read(N)
> End Function
> Function H(S, L)
> H = Right(Hex(S), L)
> H = Mid("0000", 1, L-Len(H)) + H
> End Function
> Есть советы?
> Спасибо

- Спасибо
Жалоба Записан

Страницы: « 1 ... 37 38 39 40 41 ... 44 » Вверх
« предыдущая тема следующая тема »
Перейти в:

### Кто онлайн

Просматривают тему:
Ethereal и 1 Гость

### Быстрый ответ

В быстром ответе можно использовать BB-теги и смайлы.

Предупреждение: в данной теме не было сообщений более 120 дней.
Если не уверены, что хотите ответить, то лучше создайте новую тему.

- Базовые
- Дополнительные

[дополнительные смайлы]
Ошибка во время нажатия Спасибо
Спасибо...

Загружается...