![]() |
крипто-алгоритмы и стойкость
Какие есть сабжи на zx-spectrum, в первую очередь интересны самые необычные :)
Кто с какими сталкивался или делал ? Так же хочется услышать о самой стойкой - труднопроходимой защите. Пишите. |
Вот уж не встречал, хотя если чуть-чуть подпилить мою "заполнялку" экрана то в некотором роде будет шифрование (картинки)
Code:
ORG 8000h |
Quote:
|
Шифрование и защита от взлома - это разные вещи, в общем-то. Подход разный и требования тоже.
Защита от взлома предназначена для затруднения просмотра программы при том, что для нормального запуска программы знание какого-либо пароля не требуется. То есть взломщику не нужно подбирать пароль, вместо этого ему нужно разбираться в запутанной программе. Запутывание программ (code obfuscation) - это очень интересное направление в науке информатике. Во времена эры Спектрума люди вручную, по большей части интуитивно, занимались этим. На сегодняшний день существуют научно обоснованные, автоматические запутыватели кода. И упаси Боже всех нас от необходимости разбирать результаты их работы. Труд адский, скажу я вам! Шифрование имеет другие цели и методы. Считается, что взломщику известен алгоритм (метод) шифрования, но не известен ключ (пароль). И секретность ключа является главным бастионом шифровальной защиты. Если кого-то интересует шифрование на ZX, то во-первых, старые программы использовать для этого категорически не рекомендуется. В былые времена не было той строгости в обращении с шифрами. Каждый мог придумать "сложный, невзламываемый" шифр на коленке и реализовать его в своей программе. А опытный современный взломщик шифров, соответственно - взломать такой шифр довольно быстро. Чтобы надежно защищать данные шифром, нужно использовать научно обоснованный, общепринятый метод шифрования, для Спектрума лучше всего наверно DES подходит. Можно поискать реализации для Z80. В последнее время стало модным делать DES-bootloaders для микроконтроллеров и вообще реализовывать этот метод на микроконтроллерах, так что должно существовать много 8-битных реализаций. Добавлено через 8 минут Я лично в 96м году реализовал шифрование данных методом квадрата Виженера на ASC CP/M. Но, конечно, взлом квадрата Виженера - это задача для студентов, позже я в одной книжке по взлому шифров видел это в качестве упражнения в одном из первых разделов :) Что касается защиты запутанным кодом, то рекомендую желающим взломать (то есть разобраться) в защите моей проги RRESTORE (http://www.geocities.com/barmaley_m/rrestore.zip). Интересно будет послушать мнения профессионалов :) Добавлено через 14 минут А еще, из защит запутанным кодом, мне очень интересной показалась защита Max Iwamoto. Фактически, там был реализован пи-код (псевдокод) путем вызова коротких подпрограмм, каждая типа: LD A,R RET INC HL RET XOR (HL) RET POP HL LD SP,HL RET и так далее. Последовательность, в которой эти подпрограммы вызывались, была сохранена на стеке, так что никакого цикла, выбирающего откуда-то адреса этих подпрограмм в нужной последовательности, не существовало. Вместо этого последовательность адресов была записана на стеке, SP устанавливался на начало этой последовательности, а потом выполнялась команда RET :) Подпрограммы, вроде последней, позволяли осуществлять "переходы" в этом пи-коде. Были также подпрограммы условного перехода, на основе которых делался цикл ксорки. Выглядело это все страшно до тех пор, пока я не понял основную идею. После этого восстановить программу в пи-коде и разобраться в ней было легко. Сама она не была запутанной. |
Quote:
|
Хакер-Крякер ...
1 Attachment(s)
Самый лучший способ это написать собственный компрессор и ненадо никаких криптований !!! Допустим, берём текст и пакуем его с помощью DSQ, и всё ... Никто не раскодирует ... Ну, понятно, что спектрумисты раскодируют, тут без вопросов ... =)
Но вообще-то, увидив эту тему я вспомнил теплые времена прошлого, когда мы с друзьями садились на двух спеках и писали защиты, потом менялись местами и взламывали ... Таким образом родилась, когда-то, совершенно идиотски реализованая мною игра, PITON-3M. В нашей игре "хакер-крякер" мы остались вдвоём с моим другом Яцковским Славиком. Соперничество дошло до защит глобального уровня. Мы в программах писали всяческие ругательства друг на друга, ну и задача у противника была их убрать. Если убирал наглые фичи, продукт удалялся навсегда, по "джентельменскому" соглашению. Ну ... Вообщем, по-сей день так и не взломали ... Конечно всё это было детство, но защита родилась. Итак ... В общей сложности сама игра, без застваки, занимает 19 килобайт. Из них 9 килов игра и 10 защита. Условия были таковы: 1. Убрать номер телефона на который нужно позвонть и сказать ГАДОСТЬ. 2. Убрать фразу "Яцковский тормоз перестройки" 3. Убрать фразу "Яцковский CATTLE" 4. Убрать фразу "PROTECTION BY ROB F. 1993" (боже, как давно это было) |
Знаешь, я вот посмотрел - не убрали не потому что сложно, а потому что нудно смотреть и проверять надо, чего у тебя получила очередная процедура из hl и куда упрыгала... Времени уйдет много, поэтому трогать даже не буду.
|
Интересная защита встречалась в отечественной игре-демке колобок, как она там работала я так и не понял, какая-то путаница со страницами памяти.
Еще было интро от повер оф соунд, к игре болдердаш (в этом интро еще можно было активировать cpm экран), там защита на инт2 была вроде подвешена, стс-ом не проходима :) |
Quote:
думаю, на спеке не было ни одной такой защиты/криптовалки. что касается трудной защиты.. думаю, проблемно пройти любую защиту, которая завязана к времянкам железа (например, чтение подряд идущих секторов с одинаковыми номерами; да и это при умении обходится). я уже писал, что многие защиты на спеке были дырявые, у них были уязвимости, сводящие на нет всю идею защит. 1. крутая ксорка, запутанный код, вся фигня.. но т.к. в итоге прога обратится к дисководу, ставим точку останова на #5CC2 и готово. все ксорки расксорились и смотри че хошь. просто когда разрабатывали защиту, не предусмотрели... 2. диск защищенный от копирования. сколько их видел таких защит, ВСЕ обезвреживались одинаково легко. просто никто не подумал о таком методе;) |
Ключ это то же алгоритм !!! Для компрессированных данных нужен ключ - "декомпрессор". А вот то, что он записан рядом с данными это другой вопрос. Но если запаковать данные с одной стороны, а с другой стороны их распаковать, то выцепив их на стадии передачи, надеяться на декодин почти не реально.
За всю историю самые лучшие защиты, как я считаю, были написаны Bill Gilbert'ом. Да я их взламывал за 5 минут имея только чистую кассету. Но с точки зрения изврата и запутанности кода - они лучшие. А насчёт защиты от копирования: Quote:
Моя защита делалась на чистых ГМД дисках. Ниразу не форматированных. Правда было много дисков, которые поставлялись в форматированном виде. Но мы ходили на завод ЭлектронМаш и набирали нулёвых дисков. Далее форматируется весь диск, кроме 3 треков. После ... Читается руками отсутсвующий трек. Информация получается битая, и каждый раз читается разная. Но замечен был эффект, что читалось, допустим, в первый раз 111101111, а во второй раз 111111011. То есть нолики смещались, но это мсенщение не превышало 5-10 бит. Так, что тут железно. Никакой копир орегинал не скопирует. Если моя прога выкупала, что данные в этом треке читаются стабильно, - "пиши пропало", портим внутренности игры ... В данном случае это был UFO. Нашего продавца Руслана на радиорынке не утраивала защита в орегинале, поскольку прекрасно копировалась каким-то Speccy копиром, кажется Donald-бла-бла-бла, что-то такое в названии было. Вот не помню точно, но какой-то хороший копир. Конечно вариант полного взлома не рассматривается. В таком случае любые криптованные данные читаются, имея ключ. Я сам ломал кучу подобных игр, как на Speccy, так и на PC. А вообще защиты это ГАВНО !!! Это смерть искусству ... Любой софт не должен быть защищён. Максимум, что я признаю. это защищать данные в сети, которые ты хочешь передать только конкретному человеку и спрятать их от лишних глаз. Добавлено через 22 минуты Quote:
|
| All times are GMT +4. The time now is 13:39. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.