Устроено там всё достаточно просто: это программа на Бейсике с небольшими процедурами в машинных кодах (см.
001_MAIN.tap:MAIN). Программа передач и текстовые рекламные объявления хранятся без затей в строковых массивах и сохраняются/загружаются штатными SAVE/LOAD. Есть ещё некая «супер» реклама, это просто кодовый блок, который загружается по адресу 36840 и вызывается. Источник тайных знаний – BASIC программа в
001_MAIN.tap.
Из данных там:
- программа передач на сегодня
- программа передач на завтра
- текстовые объявления
- «супер» объявления/реклама (просто код)
Плюс таймер, который просто часы, просто показывающий время, и возможность автоматического показа всего подряд по кругу («авто-оператор»), всё можно посмотреть в любом из
0xx_nn файлов в
bbb/ (не считая
aaa/00x_MAIN), там явно рабочие черновики.
Защита от анализа тоже устроена достаточно просто: после того, как все необходимые компоненты (BASIC, шрифт, код, картинки) были загружены, был снят дамп памяти (зачем-то включающий большую часть ПЗУ) и сделан загрузчик этого дампа. Там есть какая-то защита от BREAK и прочего такого, но с современными эмуляторами это должно обходиться достаточно тривиально (я сам читал про такое, но опыта не имею, более квалифицированный человек, скорее всего, взломает/разберёт это за пару минут). Опять же, смысл разбирать достаточно неясен, все компоненты для анализа/модификации есть в
00x_MAIN, надо просто будет написать свой загрузчик.
Остальное похоже на разные промежуточные варианты, которые были сохранены в процессе разработки или модификации.
Вот краткий обзор всех файлов:
- aaa/:
- 000_TV_STUDIO.tap - вариант окончательного загрузчика дампа
- 001_MAIN.tap - похоже на большую часть исходных компонентов, наверное, отталкиваясь от этого можно, в теории, воссоздать незащищённый вариант, с другими заставками каналов и прочими модификациями, сходу я там только шрифт не вижу, но, он может быть просто объединён с кодом
- 002_TV_STUDIO.tap - идентично 000_TV_STUDIO.tap
- 003_MAIN.tap - идентично 001_MAIN.tap
- 004_TV_STUDIO.tap - окончательный защищённый вариант, все компоненты из MAIN объединены и выгружены в виде сплошного дампа памяти
- bbb/:
- тут различные куски, разные варианты, в основном BASIC программы и загрузчика
- особенный интерес представляет 034_29.tap, так как там вот непонятно что, какие-то ASM фрагменты в основном сканирующие клавиатуру, а большая часть 0xx_nn файлов, похоже, варианты основной Бейсик программы, 0xx_TV_STUDIO – варианты загрузчика
- вот эти файлы являются простыми копиями и могут быть выкинуты или проигнорированы (просто md5 прогнал):
- 000_0.tap = 001_0.tap
- 004_3.tap = 004_3.tap
- 022_TV_STUDIO.tap = 023_TV_STUDIO.tap
- 019_TV_STUDIO.tap = 020_TV_STUDIO.tap
- 028_21.tap = 029_21.tap
- 009_7.tap = 010_7.tap
- 017_12.tap = 018_12.tap
- 014_10.tap = 015_10.tap
[свернуть]