Потрошение Videocrypt-а - стр. 3 - Обсуждение систем условного доступа(CA) - YARIK-SAT

закрыть X

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

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

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

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

# Потрошение Videocrypt-а

- 115 Ответов
- 9631 Просмотров

#### Ethereal

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

##### Потрошение Videocrypt-а

« Ответ #20: Воскресенье 10 Апреля 2022, 18:34:26 »
Цитата(Shurik406 от Пятница 18 Марта 2022, 11:05:06)

> Монолог на 3 дня заканчивается. @Ethereal - стол все еще открыт.

1x марта я прилег в больничку. И ишшо в мае лягу.
Короче, читаю и осмысляю. А лучше конечно рабочий стол.
Цитата(Shurik406 от Четверг 17 Марта 2022, 22:15:25)

> Прогресс.. Вот что вычитал. Не все ячейки читаются.. надо найти более подходящую точку.

Да нормуль. Запуск виря есть, но запуск вероятностный. А тогда делаем вирь таким :
clrx
label:
lda ,x
jsr SEND
incx
bra label
8 байт. Вывалит длинная простыня из ОЗУ много много раз (читать завершая команду глитчера 0F-ом). Посмотрим на вирь, посмотрим на стек.
А вот EEPROM читать пачками по 256 байт пары байт в вире не хватат. Думаю как тут извернуться.
Управление влетает в твой вирь в первый байт или во второй. Начало простыни подскажет в какой. Первый байт виря только поварьировать : clrx incx decx
Сказали Спасибо: balton, Sergio, DIverSA.T, lift-man, Robin-Hood, Shurik406
Жалоба 185.220.102.253

#### Серёгa

- Начинаю писать
- 195
- 99 раз
- 36E🌠
  Местный Джезказганская обл. г Приозёрск

##### Потрошение Videocrypt-а

« Ответ #21: Воскресенье 10 Апреля 2022, 18:43:11 »
Цитата(Ethereal от Воскресенье 10 Апреля 2022, 18:34:26)

> А лучше конечно рабочий стол.

Здоровья хорошего побольше , лучше этого не чего не бывает !!! Выздоравливайте ...
Сказали Спасибо: balton, Sergio, Ethereal, skad163, lift-man, Robin-Hood, sga, Shurik406
Жалоба Записан
Не понимаю - зачем создавать , себе и другим трудности ? Что бы потом коллективно их решать ???

#### lift-man

- ВИП
- Старожил
- 1.773
- 7.309 раз
- 4W-75E
  СССР

##### Потрошение Videocrypt-а

« Ответ #22: Воскресенье 10 Апреля 2022, 19:45:16 »
@Ethereal, выздоравливай.
Сказали Спасибо: balton, Sergio, Ethereal, DIverSA.T, skad163, Robin-Hood
Жалоба Записан
Лучше сто раз поднятся пешком, чем один раз застрять в лифте.

#### admin

- Администратор
- 19.550
- 40.109 раз
- Пол:
- 1W° - 96, 5Е°(Triax TD88)
  Amiko SHD-8900 Alien(WinQuest MR-460 Ultra Speedy) и X96 Max(IPTV)+X96 Max Plus2(IPTV)

##### Потрошение Videocrypt-а

« Ответ #23: Воскресенье 10 Апреля 2022, 20:01:56 »
Цитата(Ethereal от Воскресенье 10 Апреля 2022, 18:34:26)

> 1x марта я прилег в больничку. И ишшо в мае лягу.

Я так понимаю что что-то плановое ,но в любом случае здоровья крепкого. Оно лишним никогда не бывает..
Сказали Спасибо: balton, Sergio, Ethereal, DIverSA.T, nart, skad163, lift-man, Robin-Hood
Жалоба Записан

#### Ethereal

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

##### Потрошение Videocrypt-а

« Ответ #24: Воскресенье 10 Апреля 2022, 20:29:56 »
Цитата(Shurik406 от Четверг 24 Марта 2022, 20:38:01)

> Что тут не так?

Цитата(Shurik406 от Четверг 24 Марта 2022, 20:38:01)

> TX Data : 43 0E 05 01 20 00 31 0A 92 <- glitch to skip first 69 loop check
> 20 00 5B 0A <- glitch to skip second 69 loop check
> C4 00 20 00 00 00 80 C7 9D 9D 9D AE 5B CC 16 15
> ^^^^^^^^^^^^^^ первый вирь с перепрыгом на getISOheader
> 20 00 07 0A <- глитч для запуска первого виря
> DF
> 9D 9D 9D 9D 9D 9D 9D A6 73 CD 14 C7 5C 20 F8 8E <- адрес Е0..F
> 00 E0 00 E0 00 E0 00 E0 00 E0 00 E0 00 E0 00 E0 <- адрес F0..F со стеком
> 8F 00

Максимальная длина глитчерной команды, что влезает в ОЗУ процика глитчера это $40 (если не склероз). А ты запулил команду длиной $43 . Самый ее хвостик вылезет за пределы ОЗУ, при исполнении команды из хвостика прочтется хрень и исполнится. Хотя может и склероз, надо по исходнику глитчерной проши уточнить.

Подумал(a) и добавил(a): Воскресенье 10 Апреля 2022, 20:39:39

Цитата(Shurik406 от Четверг 24 Марта 2022, 20:38:01)

> Но... если перепрыгнуть clrx и сделать LDX #0x5B, то относительный адрес где будут сохранятся данные не $85, а $E0. При этом можно перекрыть стек.

Но сколько байт нужно послать чтобы сработал rts
05 - 5B = AA
А ты посылаешь $20 байт. Цикл
ROM:161B A3 05 cpx #5
ROM:161D 26 F6 bne loc_1615
не завершается и до
ROM:161F 81 rts
которая должна отпрыгнуть по насратому в стек адресу, управление не доходит.
Ты почему-то решил, что цикл кончится когда кончится ОЗУ при записи в него посредством
ROM:17E7 sta $8E, x
. Ан ни фига. Когда X станет 5 вот тогда кончится.

Подумал(a) и добавил(a): Воскресенье 10 Апреля 2022, 20:45:08

Поскольку, когда пошел прием картой байт в цикле, времянки уже не важны
порежь глитчерную команду на несколько команд.
В первой пошли $20 байт, во второй, третьей, четвертой и пятой столько-же,
ну и в шестой последних $A байт.

Подумал(a) и добавил(a): Воскресенье 10 Апреля 2022, 21:25:06

Цитата(Shurik406 от Среда 23 Марта 2022, 12:53:03)

> 0100 : 01 0F 02 03 04 00 06 07 40 87 0A 0B 0C 0D 0E 0F <- EEPROM
> 0110 : 10 11 12 13 14 15 16 17 18 19 1A 1B 1C ...

При этом надо учитывать, что по адресам $100..$1FF зеркало адресов $00..$FF (что видно из того, что ты вычитал выше) и когда пишешь в адреса 1xx нужно адреса 0xx не портить, писать обратно ровно то, что в них было.

Подумал(a) и добавил(a): Воскресенье 10 Апреля 2022, 21:31:19

Цитата(Shurik406 от Среда 23 Марта 2022, 12:53:03)

> 0100 : 01 0F 02 03 04 00 06 07 40 87 0A 0B 0C 0D 0E 0F <- EEPROM
> 0110 : 10 11 12 13 14 15 16 17 18 19 1A 1B 1C ...

Да с какого боку это EEPROM ?
EEPROM в который прописали младшие байты адресов, причем не всюду, а только там где по адресам 00..7F спецрегистров нету ?

Подумал(a) и добавил(a): Воскресенье 10 Апреля 2022, 21:34:59

Что адреса 00..7F то не показал ? Тама случаем не то же самое, что по адресам 100..17F
Сказали Спасибо: admin, balton, Sergio, DIverSA.T, lift-man, Robin-Hood, Shurik406
« Последнее редактирование: Воскресенье 10 Апреля 2022, 21:36:19 от Ethereal »
Жалоба 94.142.241.194

#### Shurik406

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

##### Потрошение Videocrypt-а

« Ответ #25: Среда 13 Апреля 2022, 19:50:26 »
О! @Ethereal вернулся! Надеюсь со здоровьем все в порядке.
Кароче - всю карту дампнул, засунул туда свой "ОС" для чтения, писания и исполнения любых команд. Карту естественно тоже вылечил.
Дамп в приложении (там были еще малые изменения после этого дампа). Мой ОС лежит по адресам $0D00 - $0D3F и $1048 - $107C.
Читается вот так:
53 8A 01 P2 LEN - read 255 bytes from the location indicated by P2 (high byte)
53 8A 02 P2 LEN - write 4 bytes with the address and payload specified by the following 6 bytes
53 8A 03 P2 LEN - read LEN bytes and execute them
Читаем $0D00 - $0DFF:
Код: [Выделить]

RX ATR : 3F 7E 11 25 05 24 B0 05 00 00 4D 59 00 01 80 48 56 03 10
TX Data : 53 8A 01 0D 00
RX Data : 8A
RX Data : B6 87 A1 01 27 0B A1 02 27 2C A1 03 27 25 CC 17
68 B6 86 CD 14 C7 A6 D6 B7 86 B6 88 B7 87 9D 3F
88 A6 81 B7 89 5F BD 86 CD 14 C7 5C A3 00 26 F6
CC 18 A1 CC 10 65 CC 10 48 00 00 00 00 00 00 00
48 9B 4D A6 F9 D9 DF 6E AC 84 FA 8B 2E B6 76 19
C1 B0 A3 BB 0C FD 70 72 CA 55 EF A0 7F BF 59 AD
CD 14 34 BF 80 B7 89 BE AF E8 8E E7 8E 44 44 44
44 BB B2 97 C6 10 B1 9F 27 23 01 B5 20 04 B5 12
0B B5 1A B8 33 A4 0F 03 B5 02 AA 10 97 D6 0C E0
20 0E 3C AF 17 AF BE AF D6 0C E0 20 24 D6 0D 00
B7 81 BE AF E6 8E A4 0F BB B2 97 D6 0D 10 BB 81
43 48 B9 89 48 A9 00 AD 0F 3C AF 17 AF BE AF E8
8E E7 8E B6 89 BE 80 81 AD 04 AD 02 AD 00 48 A9
00 81 BF 33 CC 19 A8 CD 16 14 CD 15 51 CD 14 91
B6 85 A1 53 27 03 CC 16 58 3F 9E B6 86 A1 8A 27
07 A1 72 27 35 CC 19 B0 CD 0D 00 9D 9D 9D 9D 9D
RX Data : 90 00

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

Прописываем 4 байта по адресу $1040-$1043
RX ATR : 3F 7E 11 25 05 24 B0 05 00 00 4D 59 00 01 80 48 56 03 10
TX Data : 53 8A 02 00 00
RX Data : 8A
TX Data : 10 40 23 45 67 89
RX Data : 90 00

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

RX ATR : 3F 7E 11 25 05 24 B0 05 00 00 4D 59 00 01 80 48 56 03 10
TX Data : 53 8A 01 10 00
RX Data : 8A
RX Data : 07 00 F8 FF 00 00 FF FF 04 00 37 49 5A 49 47 9B
65 33 8D 32 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 94 00 07 77 43 04 06 00 00 07 77 43
23 45 67 89 65 33 8D 32 B6 86 CD 14 C7 5F CD 14
34 E7 97 5C A3 06 26 F6 B6 97 BE 98 CD 19 29 CC
18 A1 9D 9D CC 18 A1 5F B6 86 CD 14 C7 5F CD 14
34 E7 C0 5C B3 89 26 F6 BD C0 CC 18 A1 00 00 00
48 95 A7 00 00 43 CC 0D 60 1C FC 0E 8C 0E 94 8E
BB 8E D2 9D 12 9D 1B 8E DA 8F 01 8F 10 8F 13 8F
16 0F 19 0F 33 0F 37 0F 37 0F 37 0F 51 0F 5F 0F
6B 55 06 0A DC E7 8C CD 29 65 00 00 00 00 00 00
00 00 00 CC 0E 03 CC 1E B8 CC 0F F8 81 9D 9D 00
0D D2 0D D7 05 03 11 00 00 4D 59 00 01 80 FE 7F
10 03 56 48 00 00 00 08 6E 40 02 1B FB DB 0B 5D
00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 00
RX Data : 90 00

Исполняем свой код
Код: [Выделить]

RX ATR : 3F 7E 11 25 05 24 B0 05 00 00 4D 59 00 01 80 48 56 03 10
TX Data : 53 8A 03 00 05
RX Data : 8A
TX Data : A6 55 CD 14 C7 <- процедура SEND
RX Data : 55
RX Data : 90 00

А вот выполнение команд 74, 78 (read seed) и дамп ОЗУ.
Код: [Выделить]

RX ATR : 3F 7E 11 25 05 24 B0 05 00 00 4D 59 00 01 80 48 56 03 10
TX Data : 53 74 00 00 20
RX Data : 74
TX Data : E8 49 3A 00 17 14 01 24 F8 A4 E2 FB E8 10 AA 55
7D 48 A4 98 0E C0 4C B2 69 61 4F CA 3F 65 DA A7
RX Data : 90 00
TX Data : 53 78 00 00 08
RX Data : 78 76 E8 E8 88 D9 8B 60 A1 90 00
TX Data : 53 8A 01 00 00
RX Data : 8A
RX Data : 0D 0F 0D 0D 0C 01 0D 0D 45 87 0D 0D 0D 0D 0D 0D
0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D
0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D
0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D
0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D
0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D
0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D
0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D 0D
7F 7F 01 00 00 53 D6 00 00 81 CC 0D D7 81 76 E8
E8 88 D9 8B 60 A1 00 00 00 DF 00 00 00 00 00 EB
00 00 00 00 00 00 00 00 00 00 AB 8E 54 DF 00 07
04 28 40 E8 49 3A 00 17 14 01 17 14 01 24 F8 A4
E2 4F DA 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 A9 00 03
00 71 00 41 09 01 14 A6 14 AC 15 49 0D 28 0D FB
RX Data : 90 00

А вот кстати и пациент.
20220412_173900.jpg
(3339.03 КБ, 4032x2268)
(просмотрено 280 раз)
20220412_173811.jpg
(2599.92 КБ, 4032x2268)
(просмотрено 273 раз)
Не знаю есть-ли там System ROM или нет. User ROM вроде бы лежит между $1400 - $1FFF.
Сейчас вываливается дамп карты Sky 07й серии. Там чуть другой ОС.
Хорошо-бы выбить дамп карты Sky 05й серии. Она не убиваема, но там для меня совсем новый чип на базе Intel 8048, так что то что уже выбил мне пока не понятно. Но это на потом как с семеркой разберусь.
MyTAC-03-0489283.bin.zip
(4.28 КБ ~ Скачиваний: 4)
Сказали Спасибо: admin, balton, Sergio, Ethereal, DIverSA.T, skad163, lift-man
Жалоба Записан

#### Ethereal

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

##### Потрошение Videocrypt-а

« Ответ #26: Четверг 14 Апреля 2022, 06:37:06 »
Ооооооооооооооо...
Ооооооооооооооо...
Это я тащусь как шланг по асфальту.
Сказали Спасибо: balton, DIverSA.T, skad163, lift-man, Shurik406
Жалоба 212.109.29.221

#### Ethereal

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

##### Потрошение Videocrypt-а

« Ответ #27: Четверг 14 Апреля 2022, 11:42:45 »
Собс-но тогда с тебя рассказ как ты организовал вычитку дампа с произвольного адреса.
С примером скрипта и кратким рассказом какой полет идей был при этом.
Таки засасывал данные перекрывая стек ?
В плане коллекционирования неповторимых подходов, у нас ведь для каждой
карты подходы выходили именно что неповторимые, исходя из ситуации в
данном случае.
Сказали Спасибо: balton, DIverSA.T, skad163, lift-man
Жалоба 212.109.29.221

#### Shurik406

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

##### Потрошение Videocrypt-а

« Ответ #28: Четверг 14 Апреля 2022, 13:04:59 »
В принципе-то шел по тому пути что и описал в посте #15-17. Самое сложное было запичкать в EEPROM свои байты. Хотя в РОМе есть для этого рутины, они не срабатывали. Пришлось своим путем идти.
data = "0E 05 01" ' reset
data = data & "20 00 31 0A 92" ' glitch past first check
data = data & "20 00 59 0A" ' glitch past second check
data = data & "C4 00 20 00 00 08 80" ' send ISO header and receive 1 byte (0x20)
data = data & " C7 9D 9d 9C CD 16 14 BC 85 20 00 07 0A " ' the "virus" + glitch
^^^
rsp
jsr read_ISO ; receive and store 5 bytes in $85...$89
jmp $85 ; jump to RAM $85 and execute
data = data & "C4 CD 16 15 9D 9D"
'$85 86 87 88 89
^^^
jsr read_ISO+1 ; this bypasses clrx instruction - x is now 5, loop around 255 times until x = 5
; after glitching out of read loop, execution will return to RAM $88
; а почему сначала на read_ISO, а не read_ISO+1, потому что я не мог сделать вот так
; AE 06 CD 16 15 20 85 - 7 байт, а глитч попадал на 3й байт и вирь не запускался
; Поэтому и пошел по кругу...
data = data & "20 00 01" ' short delay before sending data again
data = data & "CF 9D 9D 9D A6 82 B7 09 A6 xx C7 hi lo 13 09 20 FE"
'$85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94
' ^^ lands here after glitch
^^^
lda 0x82
sta $09 ; set PCR register to EEPROM write mode, program latch enable, charge pump = 1
lda xx ; byte to program
C7 hi lo ; load into address hilo
blcr 1,$09 ; start programming
loop:
bra loop ; loop
data = data & "20 00 00 0A" ' glitch to jump out of read ISO header loop and back to address $88
data = data & "8F"
Короче все это слишком замучено было, глитчи ненадежно срабатывали, так как там всякие случайные задержки при выполнении инструкций и пушка не всегда попадала туда куда надо.
А вот эту карту - Sky P07 (filmnet.plus/...7087.txt) выдавил вот так.
Сначала рыгнул вот это:
Код: [Выделить]

TX Data : 09 0E 03 01 20 00 30 09 0F 00
RX Data : 2B D8 00 CC 0E FB 1F 44 0F 3B 0F 41 8F 5D 9F B4
8F 73 8F 7C 8F 80 8F CB 9F C7 9F CB 9F CF 8F FC
0E DF 0E E3 0E E3 0E E3 10 30 00 19 98 50 4C 45
41 53 45 20 43 41 4C 4C 20 30 35 30 36 20 20 34
36 30 30 30 30 03 16 75 50 55 53 48 20 42 55 54
54 4F 4E 20 20 20 54 4F 20 56 49 45 57 0D 0C 6B
20 57 52 4F 4E 47 20 43 41 52 44 17 50 4C 45 41
53 45 20 43 41 4C 4C 20 30 35 30 36 20 34 36 30
30 30 30 00 D1 3F BC CC 19 8F CD 14 23 CD 18 A8
B6 84 A1 8A 27 0F A1 72 27 2B A1 7A 27 0F A1 76
27 27 CC 19 AE CD 18 D8 B6 95 0A 06 01 00 99 D4
52 04 00 06 27 00 99 D4 52 03 0D E7 0D E7 3F 01
01 00 40 B9 E7 0D DF CE 9D 57 00 45 5C F8 2C BB
83 44 C9 FB 18 E6 49 C9 6A 2D 4D 75 EC A2 31 FF
4E 13 A0 B5 7A 29 22 54 A6 C5 F3 80 70 A6 9B 98
FE 2D 21 4A 33 5F 2B 17 E5 E7 4B 0E 33 80 6D 35
90 00 08 00

А в диассембле часть этого выглядит так:
jsr $18A8 ; possibly read ISO header?
lda loc_84 ; INS of ISO header
cmp #$8A ; check INS
beq loc_A5 ; if =8A, branch to $A5
cmp #$72 ; check INS
beq byte_C5 ; branch if equal
cmp #$7A ; check INS
beq loc_AD ; branch if equal
cmp #$76 ; check INS
beq byte_C9 ; branch if equal
jmp $19AE
loc_A5:
jsr $18D8 ; SEND?
Смотря на дамп карты TAC, первое что INS 8А делает это высылает "квитанцию". Предположил что это прыг на SEND.
Потом засунул вирус тем-же методом что и на TAC, используя команду 20.
data = "0E 03 01 8f" ' reset
data = data & "C4 00 20 00 00 08 80 C7 9d 9d a6 55 CD 18 D8 8e 20 00 74 0A"
^^ управление прыгало сюда
data = data & "BF"
Ну, а потом jsr hi lo и побайтно вычитал. В этой карте намного меньше проверок и задержек, так что было легче и глитчи намного надежнее срабатывали, хоть и не с первого раза.
Кстати, хоть стек и удавалось перекрыть, он почему-то не возвращался туда куда надо... немного попозже об этом.

Подумал(a) и добавил(a): Четверг 14 Апреля 2022, 15:38:21

А вот игры со стеком.
RX ATR : 3F 7E 11 25 05 24 B0 05 00 00 4D 59 00 01 80 48 56 03 10
TX Data : 53 8A 03 00 40 <- послать 64 байта - укладываются с адреса $C0
RX Data : 8A
TX Data : A6 55 CD 14 C7 5F F6 CD 14 C7 5C 26 F9 81 9D 9D <- выдать 55 + дамп ОЗУ и вернуться назад
9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D
A6 77 CD 14 C7 81 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D <- выдать только 77 и вернуться назад
00 00 00 00 00 E0 00 E0 00 E0 00 E0 00 E0 00 E0 <- покрытие стека - возврат на адрес $E0 где и есть "print 77"
RX Data : 55 <- почему летит на $C0, а не на $E0 ?
RX Data : CD CF CD CD CC C1 CD CD C5 C7 CD CD CD CD CD CD
CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
7F 7F 01 00 00 53 8A 03 00 40 CC 0D D7 81 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00
04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
A6 55 CD 14 C7 5F F6 CD 14 C7 5C 26 F9 81 9D 9D
9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D 9D
A6 77 CD 14 C7 81 9D 9D 9D 9D 9D 9D 9D E8 9D 9D
00 00 00 00 00 E0 14 AC 15 49 00 CA 10 7E 00 E0 <- ведь стек должно было перекрыть?
90 00
А вот дамп ОЗУ без попытки перекрыть стек:
RX ATR : 3F 7E 11 25 05 24 B0 05 00 00 4D 59 00 01 80 48 56 03 10
TX Data : 53 8A 03 00 0D
RX Data : 8A
TX Data : A6 55 CD 14 C7 5F F6 CD 14 C7 5C 26 F9
RX Data : 55
RX Data : CD CF CD CD CC C1 CD CD C5 C7 CD CD CD CD CD CD
CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
7F 7F 01 00 00 53 8A 03 00 0D CC 0D D7 81 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00
04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
A6 55 CD 14 C7 5F F6 CD 14 C7 5C 26 F9 81 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 76 9D 9D
00 00 00 00 00 E0 14 AC 15 49 00 CA 10 7E 0D FB
90 00
Сказали Спасибо: balton, Ethereal, DIverSA.T, skad163, lift-man
« Последнее редактирование: Четверг 14 Апреля 2022, 21:37:46 от Shurik406 »
Жалоба Записан

#### Ethereal

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

##### Потрошение Videocrypt-а

« Ответ #29: Четверг 14 Апреля 2022, 21:57:40 »
Цитата(Shurik406 от Четверг 14 Апреля 2022, 13:04:59)

> Data : 55 <- почему летит на $C0, а не на $E0 ?

Тут ничего никуда не летит. Твоя ОС запускает засосанный код с адреса C0 и этот код первым делом выводит 55

Подумал(a) и добавил(a): Четверг 14 Апреля 2022, 22:03:41

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

TX Data : A6 55 CD 14 C7 5F F6 CD 14 C7 5C 26 F9 81 9D 9D <-
^^

Вот этот rts должен у тебя куда-то отпрыгнуть. Ну и куда ?
Код: [Выделить]

00 00 00 00 00 E0 14 AC 15 49 00 CA 10 7E 00 E0 <-
^^^^^ - вот этот адрес возвата положил вызов CD 14 C7 в твоем коде
^^^^^ - вот куда rts отпрыгнет - в адрес $107E

Подумал(a) и добавил(a): Четверг 14 Апреля 2022, 22:09:37

По адресу $107E будет отпрыг. А все наверное потому, что твой код из твоей ОС вызывается как подпрограмма и при этом вызове наверху стека оказывается адрес возврата в EEPROM (который пакостит только-что засосанное 00 E0)
Мой ОС лежит по адресам $0D00 - $0D3F и $1048 - $107C.
сразу за ОС, в вывод 90 00
Сказали Спасибо: balton, DIverSA.T, skad163, lift-man
Жалоба 212.109.29.221

Страницы: « 1 2 3 4 5 ... 12 » Вверх
« предыдущая тема следующая тема »
Перейти в:

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

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

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

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

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

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

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

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