закрыть X

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

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

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

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

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

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

#### Shurik406

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

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

« Ответ #330: Пятница 19 Ноября 2021, 22:36:49 »
Ваш эмулятор просто работа гения. С ним так легко работать и все ясно и чисто.
У вас такого же нет случайно для Мотороллы?
- Спасибо
Жалоба Записан

#### Ethereal

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

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

« Ответ #331: Понедельник 22 Ноября 2021, 10:55:40 »
www.karelmasters.com/...
В эмуле NRK SLE44 исправил покоцанность по адресу 0x8114. Beta версию можно стереть. Ну и эмуль CTV ST16623 (мой дамп)
Сказали Спасибо: balton, Sergio, DIverSA.T, Andro, lift-man, Shurik406
Жалоба 178.19.253.189

#### Shurik406

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

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

« Ответ #332: Понедельник 22 Ноября 2021, 16:20:51 »
Круть, спасибо!
Кстати...
TX Data : 20 0E 03 C4 CA 24 09 A0 10 80 CF
TX Data : 9D 9D 9D 9D A6 B0 B7 2C A6 20 B7 2F 9C CC 41 98
TX Data : 20 00 01 09 0F 00
RX Data : 67 1F 01 24
Заметил что 67 это - ~98, т.е. в инверсии (от CC 41 98). Надо поиграть в эмуляторе и посмотреть что происходит.
- Спасибо
Жалоба Записан

#### Ethereal

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

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

« Ответ #333: Вторник 23 Ноября 2021, 06:30:50 »
Простые эксперименты :
9D 9D 9D 9D 9D 9D 9D 9D 9D CD 4F C6 B6 87 20 F9
должна выводить по кругу некий байт в бесконечном цикле
4FC6 - подпрограмма SEND без проверки сенсоров
Она аккамулятор не сохраняет, но посылаемый байт
сохраняет в ячейке $87
Теперь заменяем nop-ы на inca
4C 4C 4C 4C 4C 4C 4C 4C 4C CD 4F C6 B6 87 20 F9
Посылаемый по кругу байт должен увеличится на число
исполнившихся inca . Так можно определить точку в
теле вируса в которую падает снаряд управления.
Есс-но это все сработает если снаряд падает до
цикла в вирусе, в область залитую сначала 9D, потом 4C
Учитывая результат этого эксперимента продолжаем дальше
9D 9D 9D 9D 9D 9D 9D 9D CD 4F C6 CD 4F D4 20 F8
Здесь
4FD4 - подпрограмма SEND с проверкой сенсоров
TESTsecur_4FCC: lda $1
and $E021
bne *
rts
Интересует что будет выводить этот вирь - байты бесконечно
или только один байт. Если только один, то 4FD4 вешается на
проверке сенсоров, а поскольку именно эта подпрограмма
выводит из ОС, то ОС не работала поэтому.
Если выводит один байт, то проверить
не приведет ли к бесконечной выдаче байт вот это
9D 9D 9D 9D 9D 9D CD 4F C6 3F 01 CD 4F D4 20 F6
Здесь я после вызова SEND_4FC6 без проверки сенсоров и
перед вызовом SEND_4FD4 воткнул clr 1 . К этому времени
глитч давно закончится. Если с clr 1 вывод будет
бесконечным, а без него было только 1 байт, то ясно, что
сенсоры можно чистить посредством clr 1 и этим создавать
обстоятельства чтобы могла работать ОС.
--------------------------------------------------------
Далее попробовать запускать вирь, который засасывал бы
более длинный вирь. Ибо имеем в EEPROM :
loc_0_E6C3: sta $28
clrx
loc_0_E6C6: cpx $2F
beq locret_0_E6D9
stx $29
jsr RECV_4F51
ldx $28
sta , x
ldx $29
incx
inc $28
bra loc_0_E6C6
locret_E6D9: rts
А тогда пробуем что-то вроде такого (с учетом точки влета снаряда)
Код: [Выделить]

'
Dim N
...
Do
Sc.Write("20 0E 03 C4 CA 24 55 AA 10 80 CF")
Sc.Write("9D 9D 9D 9D A6 20 B7 2F CD 4F C6 A6 50 CD E6 C3")
Sc.Write("20 00 01 09 80 00")
RX
If N = 4 Then
If Sc.GetByte(3) = &h20 Then
Sc.Write("9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D")
Sc.Write("9D 9D 9D 9D 9D 9D 5F F6 CD 4F C6 5C 26 F9 20 FE")
RX
Halt
End If
End If
Loop
...
Function RX
Sc.Delay(400)
N = Sc.BytesInBuffer
Sc.Read(N)
End Function

Здесь первый, короткий вирус
lda #$20
sta $2F ; P3
jsr $4FC6 ; SEND without security check
lda #$50 ; адрес сразу за коротким вирусом
jsr $E6C3 ; прием строки с адреса a длиной P3
должен просигнализировать о своем запуске, послав #$20 , а затем
начать сразу за собой засасывать длинный вирус
<Куча nop>
5f clrx
f6 Loop: lda ,x
cd 4f c6 jsr $4FC6
5c incx
26 f9 bne Loop
20 fe bra *
и после засоса при возврате из подпрограммы управление выпадет на длинный
вирус. И он должен исполниться. Если отработать такую технологию, то в
длинный вирус можно вставить достаточно кода чтобы полечить покоцанность.
Длинный вирус тут дамп ОЗУ покажет чтобы убедиться что все чики-пики.
Сказали Спасибо: balton, DIverSA.T, lift-man, conslad, Shurik406
Жалоба 178.19.253.189

#### Ethereal

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

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

« Ответ #334: Вторник 23 Ноября 2021, 11:49:26 »
Сюда
www.karelmasters.com/...
добавил эмулятор TV2 карты на ST16612. Теперь в архиве три эмуля.
У карты TV2 алгоритмы отличаются от карт CTV и NRK.
Во первых у заголовка CA 18 параметр P1 не проверяется, хотя явно имелось ввиду CA 18 02
Синтаксис тела команды проверяется на наличие нано A7 и A8
По ходу апдейта ключей нет, есть апдейт только подписок по темам.
Шифровать тело CA 18 не надо, только подписать
А вот в карте NRK - сишная копия ассемблерного алгоритма CTV.
Их можно считать одинаковыми, кроме чипов, ID-ов и ключей.
И еще у карт CTV и NRK в алго есть странная вещь - если команда CA F0 (точнее любая CA Fx) окажется первой командой после сбороса карты - она отвергается. Но чтобы ублажить эту проверку и чтобы CA Fx принималась достаточно предварительно подать что угодно - вообще любую команду. Хоть 00 00 00 00 00, лишь бы подать. Ну и CA A4 тоже прокатит, есс-но. Ибо флажок "до CAFx команда была" выставит любая команда лишь бы INS у нее был не Fx. Такой вот кривой алгоритм.
Причем я не догнал зачем вообще это было введено. В чем грабля подать CA Fx первой ?

Подумал(a) и добавил(a): Вторник 23 Ноября 2021, 12:06:17

И еще - как кодируются даты в Еврокрипте-S2 ? А то если смотреть по Виаксессовски, то наличные даты подписок в карте TV2 из будущего.
Сказали Спасибо: balton, DIverSA.T, Andro, lift-man, Shurik406
Жалоба 178.19.253.189

#### Shurik406

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

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

« Ответ #335: Вторник 23 Ноября 2021, 12:50:22 »
Цитата

> 9D 9D 9D 9D 9D 9D 9D 9D 9D CD 4F C6 B6 87 20 F9
> должна выводить по кругу некий байт в бесконечном цикле
> 4FC6 - подпрограмма SEND без проверки сенсоров

Быстро проверил - в бесконечный цикл не знаходит.
Вот такие вот результаты.
TX Data : 20 0E 03 C4 CA 24 09 A0 10 80 CF
TX Data : 9D 9D 9D 9D 9D 9D 9D A6 77 CD 4F C6 B6 87 20 F7
TX Data : 20 00 00 09 0F 00
RX Data : 77 FF BB 77 3F 6C 00 00 25 A0 30 A7 58 00 00 01
01 8C 90 00 1F 01 24
TX Data : 20 0E 03 C4 CA 24 09 A0 10 80 CF
TX Data : 9D 9D 9D 9D 9D 9D 9D A6 77 CD 4F C6 B6 87 20 F7
TX Data : 20 00 01 09 0F 00
RX Data : 77 3F 1F 01 24
Я ожидаю ответ 77 77 77 77 77 77 ... т.е. где-то видимо цикл срывается.

Подумал(a) и добавил(a): Вторник 23 Ноября 2021, 12:52:41

Цитата(Ethereal от Вторник 23 Ноября 2021, 11:49:26)

> И еще - как кодируются даты в Еврокрипте-S2 ? А то если смотреть по Виаксессовски, то наличные даты подписок в карте TV2 из будущего.

У меня вот такое в HackTV.
/* EC-M and EC-S2/3DES have different date byte structures */
if(mode == EC_M)
{
date = (year - 1980) << 9; /* Year - first 7 bits */
date |= mon << 5; /* Month - next 4 bits */
date |= day << 0; /* Day - next 5 bits */
}
else /* ECM only - EMM may be different */
{
date = (year - 1990) << 12; /* Year - first 4 bits */
date |= mon << 8; /* Month - next 4 bits */
date |= day << 0; /* Day - 8 bits */
}
Сказали Спасибо: balton, Sergio, Ethereal, lift-man
Жалоба Записан

#### Ethereal

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

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

« Ответ #336: Вторник 23 Ноября 2021, 13:38:50 »
Переставь код цикла на байт влево
9D 9D 9D 9D 9D 9D A6 77 CD 4F C6 B6 87 20 F7 9D

Подумал(a) и добавил(a): Вторник 23 Ноября 2021, 13:45:13

Цитата

> date = (year - 1990) << 12; /* Year - first 4 bits */

Последний год, который можно так закодировать, это 2005-й. А это что - результат ???
Цитата(Shurik406 от Вторник 31 Августа 2021, 19:24:36)

> Здравствуйте, у меня довольно странный вопрос о давно не использованной крипто-системе, который последний видели наяву в 2006 году.

В 2006-м, что, работать перестало ? Сразу после боя курантов ?
Сказали Спасибо: balton, Sergio, DIverSA.T, lift-man, Shurik406
Жалоба 178.19.253.189

#### Shurik406

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

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

« Ответ #337: Вторник 23 Ноября 2021, 14:43:13 »
Цитата(Ethereal от Вторник 23 Ноября 2021, 13:38:50)

> Переставь код цикла на байт влево
> 9D 9D 9D 9D 9D 9D A6 77 CD 4F C6 B6 87 20 F7 9D

Сработало..
Короче все получилось как вы и сказали - посылался только один байт при вызове $4FD4. Там действительно стоит security bit который стирается clr 1. Вот что сейчас выходит.
TX Data : 20 0E 03 C4 CA 24 55 AA 10 80 CF
TX Data : 9D 9D 9D A6 20 B7 2F CD 4F C6 A6 50 CD E6 C3 9D
TX Data : 20 00 00 09 80 00
RX Data : 20 02 24 20
TX Data : 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D
TX Data : 9D 9D 9D 9D 9D 9D 5F F6 CD 4F C6 5C 26 F9 20 FE
RX Data : 55 4D 34 53 55 A6 9E AA 15 8A 9A 55 31 D3 4D 55
71 D1 4D 55 31 D1 4D 55 31 F1 4D 55 31 D1 4D 55
31 D1 4D FF 55 4E 34 53 55 4C 34 53 55 5C 34 53
55 4C 34 53
Цитата

> Последний год, который можно так закодировать, это 2005-й.

Да видимо так! Это все из информации от Макдональда - может быть он и не прав. Но в ECM эта информация работает.
Сказали Спасибо: balton, Sergio, Ethereal, lift-man
Жалоба Записан

#### Ethereal

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

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

« Ответ #338: Вторник 23 Ноября 2021, 20:09:50 »
Цитата(Shurik406 от Вторник 23 Ноября 2021, 14:43:13)

> TX Data : 9D 9D 9D A6 20 B7 2F CD 4F C6 A6 50 CD E6 C3 9D

Если ты на байт влево переставил, то адрес тоже нужно поправить
9D 9D 9D A6 20 B7 2F CD 4F C6 A6 4F CD E6 C3 9D
ведь адрес куда засасывать должен быть сразу за вызовом jsr $E6C3 чтобы при возврате из этой подпрограммы на свежезасосанный код вывалилось

Подумал(a) и добавил(a): Вторник 23 Ноября 2021, 20:15:19

Цитата(Shurik406 от Вторник 23 Ноября 2021, 14:43:13)

> Сработало..

Получается, что ты глитч кидаешь когда RECV еще не закончилось, он выбивает, а значит последний байт тела CA 24 в приемный буфер не укладывается, ты глитчем это пресекаешь. Из-за этого смещение перехода bra в конце цикла на нужное место не ложилось и цикл не закручивался.

Подумал(a) и добавил(a): Вторник 23 Ноября 2021, 20:26:43

Цитата(Shurik406 от Вторник 23 Ноября 2021, 14:43:13)

> TX Data : 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D
> TX Data : 9D 9D 9D 9D 9D 9D 5F F6 CD 4F C6 5C 26 F9 20 FE

Ты как-то бездумно это вкатал. Я тут забыл указать
Sc.Write("22 DF")
Sc.Write("9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D")
Sc.Write("9D 9D 9D 9D 9D 9D 5F F6 CD 4F C6 5C 26 F9 20 FE")
Sc.Write("0F")

Подумал(a) и добавил(a): Вторник 23 Ноября 2021, 22:08:27

Цитата

> А тогда пробуем что-то вроде такого

ВРОДЕ ТАКОГО. Т.е. я излагаю идею, а ты ее детализуешь с учетом промежуточных результатов, их не зная написать окончательный скрипт-то невозможно. Потому-что промежуточные результаты заставляют скрипт немного изменить. А точку влета снаряда ты даже сейчас не назвал, я только вижу что она среди NOP-ов.
Она-же определяет сколько байт кода в вирус можно впихнуть. Может и в один вирь все можно сделать, но пока точка входа управления в вирь не известна, х.з. что там можно, что нельзя.
Сказали Спасибо: Sergio, DIverSA.T, skad163, sankr, lift-man
« Последнее редактирование: Среда 24 Ноября 2021, 11:51:27 от Ethereal »
Жалоба 178.19.253.189

#### Ethereal

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

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

« Ответ #339: Среда 24 Ноября 2021, 13:52:27 »
Короче, чтобы полечить карту CTV надо в длинном вирусе выполнить такой код :
9C 3F 01 A6 2B B7 41 CD 4F C6 A6 01 5F CD E8 28 AE 01 CD E4 07 20 FE
или в асме
rsp ; стек сдвинут, вернуть на место, а то вдруг не хватит
clr 1 ; сенсоры почистить
lda #$2B ; записываемый байт
sta $41 ; тут начинается буфер 41.. в ОЗУ из которого пишут
jsr $4FC6 ; SEND, сигнал, что исполняюсь, эхо записываемого байта
lda #1 ; разложить по ОЗУ-шным подпрограммам адрес смещения 1
clrx ; в данных нулевого провайдера (иссуера)
jsr $E828 ; вычисляет смещение a в данных провайдера x и раскладывает по ОЗУ-подпрограммам
ldx #1 ; писать 1 байт
jsr $E407 ; писать x байт из буфера 41.. по адресам разложенным по ОЗУ-попрограммам
bra * ; вечный цикл
Т.е. используем код аппликации из EEPROM который нам известен заведомо
стопудово, те подпрограммы из этого кода, что пишут в EEPROM и именно
тем образом как это в коде аппликации делается.
Сказали Спасибо: skad163, lift-man
Жалоба 178.19.253.189

Страницы: « 1 ... 32 33 34 35 36 ... 44 » Вверх
« предыдущая тема следующая тема »
Перейти в:

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

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

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

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

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

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

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

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