Важная информация

User Tag List

Страница 25 из 34 ПерваяПервая ... 212223242526272829 ... ПоследняяПоследняя
Показано с 241 по 250 из 339

Тема: Расскажите о ZX Next

  1. #241
    Moderator Аватар для KokaF77
    Регистрация
    22.09.2010
    Адрес
    Крымск
    Сообщений
    1,152
    Благодарностей: 335
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Mick Посмотреть сообщение
    Насколько я помню дамп ПЗУ тогда вроде получили
    Только толку от этого дампа не много. Про плавающие биты Conan ведь не спроста писал. А они присутствуют и в коде и в данных. Сколько лет народ трёт эту тему, а сдвигов нет. Самое интересное, что и отладчики здесь не в помощь. Адресное пространство кода и данных разные. А это значит, что надо либо свой анализатор (дизассемблер) рисовать либо пачить какой-нибудь с открытым кодом. Как вариант можно для Иды в SDK наваять. Но опять же вылезает один неприятный момент: сам по себе код без времянок его исполнения - ничто. Так что задачка не из самых простых.
    Разыскиваю всё, что связано с ПЭВМ "Ириша".

  2. #241
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #242
    Guru Аватар для Mick
    Регистрация
    14.06.2005
    Адрес
    г. Калуга
    Сообщений
    7,801
    Благодарностей: 2833
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Тут посмотрел схему сейчас. Как раз старший адрес процессора формирует сигнал FLASH, т.е. старший адрес A15 меняется с равными промежутками времени. A12 - формирует кадровый синхроимпульс, т.е. он меняется допустим через каждые 50Гц, осталось вычислить его длительность.

    Если вывод в порты не используется, то линия IORQ активизируется при возникновении прерываний как подтверждение. Но он вроде пишет порт
    Последний раз редактировалось Mick; 31.07.2011 в 19:23.
    Сайт поддержки моих изделий - http://micklab.ru/
    Форум поддержки - http://forum.tslabs.info/viewforum.php?f=51

  4. #243
    Moderator Аватар для KokaF77
    Регистрация
    22.09.2010
    Адрес
    Крымск
    Сообщений
    1,152
    Благодарностей: 335
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Mick Посмотреть сообщение
    Тут посмотрел схему сейчас. Как раз старший адрес процессора формирует сигнал FLASH, т.е. старший адрес A15 меняется с равными промежутками времени. A12 - формирует кадровый синхроимпульс, т.е. он меняется допустим через каждые 50Гц, осталось вычислить его длительность.

    Если вывод в порты не используется, то линия IORQ активизируется при возникновении прерываний как подтверждение. Но он вроде пишет порт
    А ещё А14 - BLANK, VB (D7) - HALT CPU. А если посмотреть на регистры D10, D11, и муксы D18, D19?! Эта штука ещё и регенерацию памяти делает и вывод видео из ОЗУ.

    Времянки должны интересовать _все_: C1-C16, V12(KSYN), V13, V14(BLANK), V15 (FLASH). И VB (D7), HALT CPU - вопрос.
    Последний раз редактировалось KokaF77; 31.07.2011 в 20:51. Причина: подправил...
    Разыскиваю всё, что связано с ПЭВМ "Ириша".

  5. #244
    Activist Аватар для AIS
    Регистрация
    23.06.2011
    Адрес
    Тула
    Сообщений
    278
    Благодарностей: 119
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KokaF77 Посмотреть сообщение
    Только толку от этого дампа не много. Про плавающие биты Conan ведь не спроста писал.
    Давайте неспеша подумаем об этой защите. То, что адреса перепутаны, М1 использован нестандартно и пр. - это защита от того, чтобы программу заново с нуля не переписали так просто.
    Плавающие биты это защита от прямого копирования.
    Но просто плавающие биты это не защита - их легко можно сделать в нужных битах.
    Как можно плавающие биты использовать для реальной защиты? Способ только один - применять не просто плавающие биты, а записывать в эти биты как бы аналоговое значение. Тоесть считываем этот бит, к примеру 100 раз, получается, например из 100 считываний 30 раз считался "0" и 70 раз "1". Это можно сделать условием проверки подлинности. Если же считалось 90 раз "0" и 10 раз "1", или, скажем, 50 на 50, то можно считать , что проверка не прошла.
    Но не всё так просто - процент считывания "0" и "1" зависит ещё и от температуры и напряжения питания. Поэтому такой ключ ненадежен.
    Выход такой - записать несколько плавающих битов с разной степенью "прошитости" (прошитостью назовем отношение количества считанных "0" к количеству считанных "1" . При прошитости 100% всегда считывается "0", при прошитости 0% всегда считывается "1", плавающий бит считывается с каким то промежуточным %)
    Так вот - записать несколько плавающих битов с разной степенью "прошитости" , скажем так:
    бит 1 - 30%
    бит 2 - 60%
    бит 3 - 10%

    Если поплывут внешние условия - температура и напряжение питания, то считываемая статистика изменится, к примеру, так:
    бит 1 - 57%
    бит 2 - 93%
    бит 3 - 48%

    Фишка в том, что дестабилизирующие факторы влияют на разные биты одновременно - и если опираться на абсолютные значения "прошитости" бита нельзя - этот параметр сильно плавает , но стабильным остается соотношение прошитости разных бит, тоесть из примера выше - бит 2 всегда будет более прошит, чем бит 1 , соответственно бит 1 всегда будет более прошит, чем бит 3.
    А на проверке этих условий уже можно построить защиту.
    Не спроста же защита срабатывает через 3 сек. - время нужно, чтобы собрать статистику.
    Вывод - для того, чтобы правильно считать это ПЗУ -
    по железу: подойдет любой программатор и считывать достаточно только при номинальном напряжении питания.
    по софту: софт для программатора надо написать свой - чтобы он собирал статистику считанных плавающих бит в табличку типа вышеприведенной:
    бит 1 - 30%
    бит 2 - 60%
    бит 3 - 10% и т.д.

    Два дополнения: 1. Количество считываний для сбора верной статистики надо подобрать эксперементально, начать, скажем со 100 считываний и увеличивать пока процент не перестанет сильно изменятся.
    2. Надо убедится, что считываемая ПЗУ реально работает в компе - даже хорошо зашитые ячейки со временем начинают плавать, а уж изначально плавающие тем более ненадежны.

    Про запись в следующий раз.
    Последний раз редактировалось AIS; 31.07.2011 в 21:00.

  6. #245
    Moderator Аватар для KokaF77
    Регистрация
    22.09.2010
    Адрес
    Крымск
    Сообщений
    1,152
    Благодарностей: 335
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    AIS, Фокус в том, что в коде плывут не байты, а отдельные биты, которые и "коверкают" (портят команду). Про данные не скажу, что бы этот алгоритм работал, как я понял, вероятность считывания ПБ должна быть "1" - 50%, "0" - 50 %, т.е. ОДИНАКОВАЯ для массива. В противном случае мы выйдем из "коридора" и сработает защита.
    1. Надо точно локализовать ПБ:
    а). в коде,
    б). в данных.
    2. Надо точно понять алгоритм защиты, исходя из п. 1(а).
    Думаю будут ещё пунктики, но для начала надо с этим разобраться.

    ---------- Post added at 23:18 ---------- Previous post was at 23:14 ----------

    Цитата Сообщение от KokaF77 Посмотреть сообщение
    Два дополнения: 1. Количество считываний для сбора верной статистики надо подобрать эксперементально, начать, скажем со 100 считываний и увеличивать пока процент не перестанет сильно изменятся.
    Здесь десятки тысяч считываний нужны.
    Цитата Сообщение от AIS Посмотреть сообщение
    2. Надо убедится, что считываемая ПЗУ реально работает в компе - даже хорошо зашитые ячейки со временем начинают плавать, а уж изначально плавающие тем более ненадежны.
    Все известные на сегодняшний день ПЗУ прошитые в те годы - живы и работают. Об этом уже писали в этом трэде.

    ---------- Post added at 23:24 ---------- Previous post was at 23:18 ----------

    А вообше вот http://zx.pk.ru/showpost.php?p=295541&postcount=176
    Разыскиваю всё, что связано с ПЭВМ "Ириша".

  7. #246
    Activist Аватар для AIS
    Регистрация
    23.06.2011
    Адрес
    Тула
    Сообщений
    278
    Благодарностей: 119
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KokaF77 Посмотреть сообщение
    Фокус в том, что в коде плывут не байты, а отдельные биты,
    В моём сообщении нигде небыло слова "байт"" - везде я говорю только об отдельных битах.

    Цитата Сообщение от KokaF77 Посмотреть сообщение
    как я понял, вероятность считывания ПБ должна быть "1" - 50%, "0" - 50 %
    Такой стабильной вероятности не будет - она поплывет в ту или другую сторону от температуры и напряжения. Как частный случай описанной мной защиты возможна проверка зашитости нескольких плавающих бит и если их зашитость примерно одинакова, то проверка пройдена.
    Цитата Сообщение от KokaF77 Посмотреть сообщение
    2. Надо точно понять алгоритм защиты, исходя из п. 1(а).
    Для простого копирования не надо понимать алгоритмов - надо просто воспроизвести "аналоговые" значения плавающих битов.

    ---------- Post added at 23:38 ---------- Previous post was at 23:26 ----------

    Цитата Сообщение от KokaF77 Посмотреть сообщение
    Темнит здесь товарищ Конан:"... цель проверки сосчитать кол-во и положение ПБ из массива N. Если их число большое или ПБ расположены далеко друг от друга в массиве N, то опять же срабатывает защита."

    Получается просто нужно расположить плавающие биты как в эталонной ПЗУ и всё?
    Тогда я получается придумал защиту собственной конструкции. И круче ,чем в ZX Next

  8. #247
    Moderator Аватар для KokaF77
    Регистрация
    22.09.2010
    Адрес
    Крымск
    Сообщений
    1,152
    Благодарностей: 335
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AIS Посмотреть сообщение
    Такой стабильной вероятности не будет - она поплывет в ту или другую сторону от температуры и напряжения. Как частный случай описанной мной защиты возможна проверка зашитости нескольких плавающих бит и если их зашитость примерно одинакова, то проверка пройдена.
    Может я не совсем корректно выразился. Я говорил о массиве. Сумма вероятностей всех ПБ должна быть 1. Гауссово распределение о котором упоминал Conan.

    Цитата Сообщение от AIS Посмотреть сообщение
    Для простого копирования не надо понимать алгоритмов
    Сильно сомневаюсь, что получится скопировать, не зная всех тонкостей процесса. и не имея оригинала (а по хорошему нужен не один).
    Разыскиваю всё, что связано с ПЭВМ "Ириша".

  9. #248
    Activist Аватар для AIS
    Регистрация
    23.06.2011
    Адрес
    Тула
    Сообщений
    278
    Благодарностей: 119
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Копировать, не имея оригинала - это сильно Тогда это получается не копировать, а заново разработать.

    Вся тонкость процесса - многопроходная запись с промежуточным контролем зашитости плавающих бит - как только значение зашитости плавающего бита достигнуто - файл прошивки автоматом корректируется - на месте этого бита выставляется "1" и он оставляется в этом состоянии, далее дошиваются оставшиеся биты и т. д.
    Последний раз редактировалось AIS; 31.07.2011 в 21:52.

  10. #249
    Moderator Аватар для KokaF77
    Регистрация
    22.09.2010
    Адрес
    Крымск
    Сообщений
    1,152
    Благодарностей: 335
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AIS Посмотреть сообщение
    Копировать, не имея оригинала - это сильно Тогда это получается не копировать, а заново разработать.
    Цитата Сообщение от KokaF77 Посмотреть сообщение
    по хорошему нужен не один
    Может, всё же проще разобраться в 200-ах байтах кода?!
    Разыскиваю всё, что связано с ПЭВМ "Ириша".

  11. Этот пользователь поблагодарил KokaF77 за это полезное сообщение:
    AIS (31.07.2011)

  12. #250
    Activist Аватар для AIS
    Регистрация
    23.06.2011
    Адрес
    Тула
    Сообщений
    278
    Благодарностей: 119
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну это уже клуб по интересам - кому то интереснее разобраться в 200 байтах кода, кому то сломать защиту не глядя в код.
    Но вы правы - я оригинала ПЗУ не имею, поэтому подтвердить свои догадки могу только разобравшись с кодом. Вряд ли кто-то имеющий оригинал будет писать софт для программатора по моему рецепту.

Страница 25 из 34 ПерваяПервая ... 212223242526272829 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •