С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Про эту защиту мы знали, качество ее исполнения (для ПЗУ АОН) оценивали как крайне низкое, по сути это и не защита.
Первый путь легче (не потребует долгих исследований) и дает гарантированный результат. К тому же разобравшийся сможет внести очень интересные доработки (переключаемые экранные режимы разных клонов).
Было некоторе кол-во самописного софта под ZX (сначала шили на "Пентагон 48", потом уже переехали на ZX-NEXT). Железо тоже самодельное, но со специфическими функциями (точными установками напряжений). Сами железки (если не считать УФ стиралку и печку для отжига) сохранились см. фото.
В основном коде в местах ПБ были "1".
Согласен с Conan, что самое слабое звено в этой системе защиты подпрограмма чтения ПБ. Даже, если она и использует программный «мусор» (а-ля полиморфизм), возможные анти-отладочные фичи для собственной «неуязвимости» ее можно сломать. Когда-то в далекие 90-е ПБ использовал автор прошивки АОН (Opus) для защиты от копирования, сломали мы ее очень быстро. Вот, если бы ключ (хеш) для дешифровки кода брался из другой ПЗУ, то не имея его, расшифровать было бы гораздо труднее.
---------- Post added at 08:42 ---------- Previous post was at 08:07 ----------
P.S. Есть только два пути чтобы получить копию прошивки и оба они не легки. Первый сломать подпрограмму проверки ПБ и дешифровки кода, второй «отловить» ПБ и «клонировать» прошивку по технологии которой она и была зашита ее авторами.
Возможно нужно пойти по пути борьбы антивирусов против полиморфных вирусов. Программно (эмуляцией) и пошагово пройти код ПЗУ, т.*е. дать самой подпрограмме расшифровать весь код и сбросить дешифрованный код (дамп). А этот путь также нельзя назвать легким, т.*к. нет такого «отладчика-эмулятора» и его нужно создавать.
Я же спрашивал тебя уже где-то, поставь ТЗ на эти 200 байт (что требуется железу для работы, я думаю ты в общих чертах должен помнить), может и найдётся желающий. Просто сейчас надо быть не просто программером, но понимать что железу требуется для нормальной работы. Заодно может и сразу сделать закладки для расширения функционала. Ещё одной проблемой является процесс отладки этого VROM, т.к. тут нужна связка программер-тестер (a.k.a владелец живого ZX-Next)
"Во времена всеобщей лжи говорить правду - это экстремизм" - афоризм.
Есть линейный массив из N ПБ распределенных по напряжению "плавания". Разумеется, в ПЗУ этот массив расположен не линейно, а разбросан вперемешку по разным адресам.
В момент старта, когда только включился компьютер, наблюдается несколько переходных процессов (начало регенерации ОЗУ, сброс CPU и т.д.). В это время задача убедиться, что из массива ПБ плавает определенное число ПБ расположенных произвольно. Если условие не выполнено, то по окончании первого этапа проверки (около 2 сек) вместо перехода в основой цикл срабатывает защита (программа уходит непойми куда).
Если начальная проверка успешно отработала, переходим в основной цикл, где цель проверки сосчитать кол-во и положение ПБ из массива N. Если их число большое или ПБ расположены далеко друг от друга в массиве N, то опять же срабатывает защита.
В том то и дело, что "в общих чертах". Когда напарник косячил в коде мне было проще собрать генератор ресетов и с помощью телевизионного осцила показазывать ему в какой строке у него кривые сигналы генерятся. А как и что он реализовывал я в деталях не знал и тогда, у меня по железу хватало задач.
Если желающий найдется, то по железу подскажу везде, там ничего архи сложного нет.
Как раз тут все просто, если найдется плата без VROM, то зашивка нерабочей копии даст возможность ее протестировать (тех самых двух секунд достаточно на выход изображения (C) 1982 SRL.
---------- Post added at 15:54 ---------- Previous post was at 15:51 ----------
Абсолютно все в регистрах. Их же много у Z80 (включая альтернативный набор).
Conan, а если есть железо с хитрой функцией, то что мешает записать всем страждущим по ПЗУ?
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)