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

User Tag List

Страница 18 из 34 ПерваяПервая ... 141516171819202122 ... ПоследняяПоследняя
Показано с 171 по 180 из 339

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

  1. #171
    Member Аватар для Richi
    Регистрация
    17.05.2010
    Адрес
    Ярославль
    Сообщений
    40
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Можно попробовать эмулировать плавающие биты с помощью костылей - нужно только знать какие биты были плавающие, что проще всего отловить многократным чтением с условиями как в схеме ZX-Next, если это невозможно в принципе, тогда анализатором на ША ШД работающего экземпляра.
    Сигнал A11 можно брать не с генератора, а сделать его синхронным, (квазиснхронным) с тактированием процессора, чтобы во время цикла чтения сигнал не изменялся. например при помощи триггера, защелкивающегося в состояние генератора "случайных чисел" синхронно с тактовой частотой.
    Программная часть защиты с ПБ мне видится такой, в нескольких местах программы можно было сделать условные или безусловные переходы, JR, или CALL по адресам которые меняются в зависимости от состоянии ПБ, по этим адресам находятся подпрограммы устанавливающие некие "флаги подлинности" и, если все флаги собраны - то прошивка считается подлинной.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	sc1.GIF 
Просмотров:	360 
Размер:	17.5 Кб 
ID:	18685  
    Последний раз редактировалось Richi; 28.06.2010 в 14:00.

  2. #172
    Master Аватар для Conan
    Регистрация
    22.01.2005
    Адрес
    Moscow
    Сообщений
    2,250
    Спасибо Благодарностей отдано 
    42
    Спасибо Благодарностей получено 
    279
    Поблагодарили
    108 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Richi Посмотреть сообщение
    Можно попробовать эмулировать плавающие биты с помощью костылей
    В РФ2(5) двойное содержимое (одно с нулями в месте ПБ, другое с единицами) не влезет. Потребуется как минимум 2732. Но это не главное.

    Цитата Сообщение от Richi Посмотреть сообщение
    Программная часть защиты с ПБ мне видится такой, в нескольких местах программы можно было сделать условные или безусловные переходы, JR, или CALL по адресам которые меняются в зависимости от состоянии ПБ, по этим адресам находятся подпрограммы устанавливающие некие "флаги подлинности" и, если все флаги собраны - то прошивка считается подлинной.
    Проверка ПБ состоит из двух частей, при старте "плавает не меньше чем ПБ" и при переходе в основной режим (примерно через 2 сек.) "плавает не более чем". В основном режиме проверяется узкая область ( ПБ). Поэтому вариант "на костылях" возможен, но схему придется усложнить, подобрав и смоделировав переход из стартового режима в основной. Причем, время перехода придется настраивать очень точно, иначе сработает защита.

  3. #173
    Member Аватар для Richi
    Регистрация
    17.05.2010
    Адрес
    Ярославль
    Сообщений
    40
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Conan Посмотреть сообщение
    В РФ2(5) двойное содержимое (одно с нулями в месте ПБ, другое с единицами) не влезет. Потребуется как минимум 2732. Но это не главное.
    Это верно забыл подписать, что ПЗУ уже поболе нужна.
    Цитата Сообщение от Conan Посмотреть сообщение
    Проверка ПБ состоит из двух частей, при старте "плавает не меньше чем ПБ" и при переходе в основной режим (примерно через 2 сек.) "плавает не более чем".
    Не сильно понятно как это, но все таки лучше чем если бы еще и распределение вероятности считалось, тогда бы пришлось генератор шума на стабилитроне собирать, что, впрочем, не проблема. В ПЗУ-шке биты наверное все равно "плавают" с распределением дробового(теплового) шума.
    Цитата Сообщение от Conan Посмотреть сообщение
    В основном режиме проверяется узкая область ( ПБ). Поэтому вариант "на костылях" возможен, но схему придется усложнить, подобрав и смоделировав переход из стартового режима в основной. Причем, время перехода придется настраивать очень точно, иначе сработает защита.
    Это можно сделать путем отслеживания перехода по какому-то адресу, только это опять же анализатор нужен, или дизассмблирование кода, а в "костылях" еще и схема дешифрации адреса. и это уже будут не такие примитивные "костыли"
    Последний раз редактировалось Richi; 28.06.2010 в 15:19.

  4. #174
    Guru Аватар для CodeMaster
    Регистрация
    26.04.2009
    Адрес
    г. Воронеж
    Сообщений
    6,212
    Спасибо Благодарностей отдано 
    131
    Спасибо Благодарностей получено 
    210
    Поблагодарили
    181 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Conan Посмотреть сообщение
    Коллеги, там максимум килобайт кода (реально байт 200). Неужели ради двухсот байт кода Z80 рационально создавать "отладчик-эмулятор"? Я не программист, но что-то это сомнительно.
    Я же спрашивал тебя уже где-то, поставь ТЗ на эти 200 байт (что требуется железу для работы, я думаю ты в общих чертах должен помнить), может и найдётся желающий. Просто сейчас надо быть не просто программером, но понимать что железу требуется для нормальной работы. Заодно может и сразу сделать закладки для расширения функционала. Ещё одной проблемой является процесс отладки этого VROM, т.к. тут нужна связка программер-тестер (a.k.a владелец живого ZX-Next)
    "Во времена всеобщей лжи говорить правду - это экстремизм" - афоризм.

  5. #175
    Master Аватар для Andrnow
    Регистрация
    25.06.2005
    Адрес
    Смоленск
    Сообщений
    997
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А каким образом происходит отсчёт первых трёх секунд? Памяти то нет, где счётчик времени совои данные хранит? В регистрах процессора что ли?
    Ну ладно. Что происходит, когда проходит 3 секунды? проц каждый раз проверяет содержимое регистра-счётчика, и когда он переполняется или в нем "насчитывается" какое то значение, то он куда то переходит? Значит нужно сделать так, чтобы либо счётчик не считал, либо регистр счётчика никогда не переполнялся, либо при переполнении чтобы не происходило никакого перехода (вместо JMP поставить NOP). Тогда всё будет работать бесконечно долго.
    Ищу охотников за КМками и медью. Найду – УБЪЮ !!!

  6. #176
    Master Аватар для Conan
    Регистрация
    22.01.2005
    Адрес
    Moscow
    Сообщений
    2,250
    Спасибо Благодарностей отдано 
    42
    Спасибо Благодарностей получено 
    279
    Поблагодарили
    108 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Richi Посмотреть сообщение
    Не сильно понятно как это
    Есть линейный массив из N ПБ распределенных по напряжению "плавания". Разумеется, в ПЗУ этот массив расположен не линейно, а разбросан вперемешку по разным адресам.
    В момент старта, когда только включился компьютер, наблюдается несколько переходных процессов (начало регенерации ОЗУ, сброс CPU и т.д.). В это время задача убедиться, что из массива ПБ плавает определенное число ПБ расположенных произвольно. Если условие не выполнено, то по окончании первого этапа проверки (около 2 сек) вместо перехода в основой цикл срабатывает защита (программа уходит непойми куда).
    Если начальная проверка успешно отработала, переходим в основной цикл, где цель проверки сосчитать кол-во и положение ПБ из массива N. Если их число большое или ПБ расположены далеко друг от друга в массиве N, то опять же срабатывает защита.

    Цитата Сообщение от CodeMaster Посмотреть сообщение
    Я же спрашивал тебя уже где-то, поставь ТЗ на эти 200 байт (что требуется железу для работы, я думаю ты в общих чертах должен помнить)
    В том то и дело, что "в общих чертах". Когда напарник косячил в коде мне было проще собрать генератор ресетов и с помощью телевизионного осцила показазывать ему в какой строке у него кривые сигналы генерятся. А как и что он реализовывал я в деталях не знал и тогда, у меня по железу хватало задач.

    Цитата Сообщение от CodeMaster Посмотреть сообщение
    Просто сейчас надо быть не просто программером, но понимать что железу требуется для нормальной работы.
    Если желающий найдется, то по железу подскажу везде, там ничего архи сложного нет.

    Цитата Сообщение от CodeMaster Посмотреть сообщение
    Заодно может и сразу сделать закладки для расширения функционала. Ещё одной проблемой является процесс отладки этого VROM, т.к. тут нужна связка программер-тестер (a.k.a владелец живого ZX-Next)
    Как раз тут все просто, если найдется плата без VROM, то зашивка нерабочей копии даст возможность ее протестировать (тех самых двух секунд достаточно на выход изображения (C) 1982 SRL.

    ---------- Post added at 15:54 ---------- Previous post was at 15:51 ----------

    Цитата Сообщение от Andrnow Посмотреть сообщение
    А каким образом происходит отсчёт первых трёх секунд? Памяти то нет, где счётчик времени совои данные хранит? В регистрах процессора что ли?
    Абсолютно все в регистрах. Их же много у Z80 (включая альтернативный набор).

  7. #177
    Master
    Регистрация
    30.08.2009
    Адрес
    г. Луганск
    Сообщений
    841
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    други, а скажите мне почему на схеме стоит 2732? а все тут утверждают, что РФ2.

    я понимаю, что А11 в "1" , я это все к тому, что я где-то читал, что ПБ лучше всего выскакивают в интеловских микрухах . кстати 2732 (сов аналога нет) в то время эти микрухи были дефицитом, типа еще один барьер для копирования

  8. #178
    Master Аватар для Conan
    Регистрация
    22.01.2005
    Адрес
    Moscow
    Сообщений
    2,250
    Спасибо Благодарностей отдано 
    42
    Спасибо Благодарностей получено 
    279
    Поблагодарили
    108 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Andrnow Посмотреть сообщение
    Значит нужно сделать так, чтобы либо счётчик не считал, либо регистр счётчика никогда не переполнялся, либо при переполнении чтобы не происходило никакого перехода (вместо JMP поставить NOP). Тогда всё будет работать бесконечно долго.
    В общем и целом так, почти классика взлома.
    Только в этом случае может "за бортом" остаться видеорежим 640*200, но даже если про него забыть, все равно будет требоваться зашивка ПБ, поскольку они проверяются с самого начала.

    И еще, замена JP на NOP моментально приведет к "покривлению" всего экрана ибо это видеопроцессор и все должно быть выситано до такта. А может и до кол-ва циклов M1. В последнем не уверен, но вроде разговоры про проверку регистра R были.
    Поэтому если взлом в лоб, то скорее замена типа условного перехода , или проверки условия, но не в одном месте, а в нескольких.

    ---------- Post added at 16:24 ---------- Previous post was at 16:19 ----------

    Цитата Сообщение от Eugen Tsalapov Посмотреть сообщение
    почему на схеме стоит 2732? а все тут утверждают, что РФ2.
    Изначально не было уверенности, что код и защита уместится в РФ2 и будет работать надежно.

    Цитата Сообщение от Eugen Tsalapov Посмотреть сообщение
    в то время эти микрухи были дефицитом, типа еще один барьер для копирования
    Это не защита, а барьер для массовости, а цель была именно сделать массовый (без дефицитных микрух) комп. Даже когда в те годы планировали развитие следующую версию думали реализовать с 2764 (она была куда доступнее чем 2732).

  9. #179
    Member Аватар для Richi
    Регистрация
    17.05.2010
    Адрес
    Ярославль
    Сообщений
    40
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Небольшая фотосессия объекта исследования.
    Типичная кр573рф5 может, и рф2, но скорее всего 5, ибо рф2 в пластмассовых корпусах попадаются имхо реже .
    Надеюсь, кривой советский корпус и шаг 2.5 видно всем.
    А 2732 и сейчас еще поискать...
    В прайсе местного магазинчега 27C32 440,00р.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	P6284055cr.jpg 
Просмотров:	317 
Размер:	48.9 Кб 
ID:	18687   Нажмите на изображение для увеличения. 

Название:	P6284056cr.jpg 
Просмотров:	334 
Размер:	41.7 Кб 
ID:	18688   Нажмите на изображение для увеличения. 

Название:	P6284057cr.jpg 
Просмотров:	327 
Размер:	53.9 Кб 
ID:	18689  
    Последний раз редактировалось Richi; 28.06.2010 в 18:10.

  10. #180
    Guru Аватар для CodeMaster
    Регистрация
    26.04.2009
    Адрес
    г. Воронеж
    Сообщений
    6,212
    Спасибо Благодарностей отдано 
    131
    Спасибо Благодарностей получено 
    210
    Поблагодарили
    181 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Conan Посмотреть сообщение
    Только в этом случае может "за бортом" остаться видеорежим 640*200,
    А что по максимуму с него можно вытянуть, скандаблер для VGA можно на основе Z80 сделать?

    Цитата Сообщение от Conan Посмотреть сообщение
    ибо это видеопроцессор и все должно быть выситано до такта.
    ИМХО самый реальный вариант - это всё же сделать карту ПБ при разных напругах, дезассемюлировать код и вырезать оттуда защиту. Потому как врядли кто сейчас возьмётся просчитывать такты, даже имея железо под рукой, а почикать защиту думаю будет легче.
    "Во времена всеобщей лжи говорить правду - это экстремизм" - афоризм.

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

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

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

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

Ваши права

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