PDA

Просмотр полной версии : Методы защиты дисков от копирования



CityAceE
18.02.2005, 09:34
В свое время наиболее любопытным занятием на Спектурме для меня (исключительно из спортивных соображений!) было копирование защищенных от этой процедуры дисков :) В своё время я разобрал довольно много защит. О тех, что прошли через мои руки я напишу и прошу дополнить теми вариантами, которые я не указал, а также внести свои уточнения:

1. Нестандартный формат диска. В то время, когда не было разработано никаких хитроумных копировщиков, такая защита вполне работала. Пример: первые загрузочные диски IS-DOS.

2. Помещение в межсекторые промежутки какой-то дополнительной информации. В простом случае программа просто ищет эту информацию и если не находит, то отказывается работать. Пример: игра Prince of Persia. В более сложном варианте в межсекторное пространство помещается ключ, с помощью которого происходит расксоривание программы. Пример: журналы Спектрофон. Такие диски легко копируются с помощью программы McDonald Copy.
Курьёз. До появления у меня McDonald Copy я скопировал свой первый Спектрофон, опираясь на статью опубликованную в этом же Спектрофоне :)

3. Дорожка нестандартной длины. Программа считывает дорожку целиком и проверяет сколько байтов информации физически помещается на дорожке. Если это число больше или меньше, то программа не запускается. Пример: первые номера журнала ZX-Format. Эту защиту повторить я не смог, но предполагаю, что такие дорожки форматировались и записывались на разрегулированных дисководах, где скорость вращения диска отличалась от стандартной. Обходилось заменой одного байта в программе.

4. Сектора с номером #F7. Как известно, когда при форматировании дорожки ВГ93 получает байт #F7, то она не пишет его, а интерпретирует как команду записи контрольной суммы, таким образом получить на Спектруме сектор с номером #F7 (почти) нереально. Пример: журнал ZX-Format. Тем не менее получить сектор с таким номер на Спектруме возможно, если число #F7 само является результатом контрольной суммы :) Копирование достигалось при помощи McDonald Copy в выходом в теневик Скорпиона.

5. Все сектора на дорожке имеют одинаковый номер и содержимое, кроме одного в середине! При попытке считать содержимое сектора будет читаться первый сектор с таким номером. При работе защищенного диска программа даёт команду ВГ93 на раскрутку диска, потом выжидает определенное количество милисекунд и тут же дает команду считать сектор, если всё нормально, то считывается именно тот сектор, который требуется. Пример: игра Open-It. Повторить удалось только вручную сформировав дорожку со всем её содержимым.

6. Физическое повреждение дорожки. Программа считывает сектор, если в результате считывания заданного сектора происходит возврат с ошибкой, то программа идет в совершенно другое место на диске и считывает нужную информацию, если же сигнала об ошибке не поступает, то происходит считывание последующих секторов, которые содержат мусор. Пример: UFO-2. Повторить удалось поместив нужную информацию вслед за поврежденным (на оригинальном диске) сектором.

Многие диски имели комбинацию защит.

Это всё, что мне вспомнилось. Дополняйте, вносите уточнения.

psb
18.02.2005, 19:00
помню была защита Челябинская "Fantom", ничего так защитка, такую СТСом не взять было :) эта защита была для файлов (по типу MicroProtector'а).

я в свое время упражнялся на поприще снятия таких защит. МикроПротектор и его модификации запросто ломались СТСом, их вообще можно в расчет не брать.

главное в этом деле было - вытащить реальную инфу из каталога, а так же расксорить 1й сектор бейсика. фишка в этой защите была такая: на одном треке было 5 что ли одинаковых секторов #F7 %))) это мне вообще понравилось :) ясное дело, читать их над было быстро и подряд, иначе не то начитаем.

думаю, скопировать такой диск можно было, но в то время еще мало кто догадался про то, как этот #F7 создавать. такие защиты я ломал своим фирменным методом (а я тогда был еще мелкий, классе в 9) : в определенный момент надо нажать Magic и вся инфа в открытом виде ждет нас! далее я писал маленькие программки, которые уже автоматом восстанавливали диск, т.е. его можно было копировать пофайлово.

даже 1 раз был такой случай, мы софт покупали в Челябинске на рынке, и там с одим из продавцов вышла прикольная беседа, я грю, мол, мне пофиг, с защитой у вас там софт или нет, мол, всё равно скопирую %))
нет, прикольно было со стороны-то, мелкий какой-то выпендривается ;)
они мне и грят, вышла новая версия Фантома, её еще никто не взломал... ну я привез всё домой и ... ТОЧНО ТАКИМ ЖЕ СПОСОБОМ снял защиту :)


а потом уже, когда мы делали свой бут с возможностью защиты, я искал комбинации с кодами #F7 в номере сектора (перебирала программка), нашел одну комбинацию, которая мне очень понравилась и ... что-то напомнила! взяв ZX-Format я увидел, что там та же последовательность!

вот так я научился копировать ZX-Format'ы...

ну а Spectrum Expert 2 копировался тоже небольшой программкой. т.е. сначала он копировался с помошью SoftCopy, затем несколько треков "исправлялись".

вот, кстати, в SE#2 были сектора с 2мя заголовками!

воть. может еще что вспомню...

lvd
18.02.2005, 21:42
А я вспоминаю, как ко мне приходил fyrex с 5.25' дисководом и кабелёчком, и на моей амиге копировал все диски побитно... =)

Paul Pavlov
20.02.2005, 12:32
Ой, а кто это на фото вместо CityAceE ?? Какой-то мужик с бородищей!!

CityAceE
20.02.2005, 12:35
А разве не похож? :)

CityAceE
20.02.2005, 17:03
на одном треке было 5 что ли одинаковых секторов #F7 %))) это мне вообще понравилось :) ясное дело, читать их над было быстро и подряд, иначе не то начитаем.
Это комбинация 4-го и 5-го типа защиты, что привёл я. А другие, новые типы, о которых я не сказал?

bugsy
21.02.2005, 08:39
а не надо ничего защищать!!! всё должно быть opensource!!! всё равно всё можно сломать - это дело времени.

CityAceE
21.02.2005, 09:16
Никто не гооврит о том, что надо что-то защищать, тем более реальщиков все меньше и меньше. Я о том, чтобы собрать коллекцию защит.

GriV
21.02.2005, 16:37
может быть отнесено к одной из групп, однако я такое слышал вроде запись т.н. плавающими битами, что в принципе тока на промышленном оборудовании можно повторить, в общем раз считаешь - там 1, второй раз там 0. и таким макаром прога определяет, что это есть свой родной диск.

GriV
21.02.2005, 16:44
Там короче на прецезионных флоповодах такое делается: вначале пишется дорожка (целиком), потом заново записывается на этом же треке новая дорожка, причём смысл в том, что там (вторая дорожка, которая поверх) писалась не до конца, где то в центре там происходил обрыв (команда полного останова), благодаря чему (почему прецезионные флоповоды) можно с точностью до байта писать что угодно как угодно и в каком угодно количестве. Хотя конечно за раз испортить таким образом можно только 1 сектор, два сектора так записать если от конца то несколько раз придётся оную процедуру проводить - пошли писать в нужный момент рраз и останавливаем.

CityAceE
21.02.2005, 16:53
Инетресуют методы защиты не как таковые, а методы защиты, применявшиеся на ZX Spectrum.

lvd
21.02.2005, 21:34
кстати, вот вспомнил. В описании формата UDI есть какие-то меченые байты (#c2 и #a1). Чем они отличаются от всех остальных у ВГшки? Немного другой MFM модуляцией (какой?) или чем-то ещё?

CityAceE
22.02.2005, 02:36
Это байты которые при форматировании дорожки интерпритируются как служебные. В частности #A1, если мне не изменяет память - это байт синхронизации, который в купе с #C1 и другими байтами составляет служеную информацию в межсекторном пространстве.

lvd
22.02.2005, 07:24
Это байты которые при форматировании дорожки интерпритируются как служебные. В частности #A1, если мне не изменяет память - это байт синхронизации, который в купе с #C1 и другими байтами составляет служеную информацию в межсекторном пространстве.

Но тогда зачем они в UDI помечаются в отдельном битовом массиве? Только для удобства эмуляторов ВГшки?

...Другими словами, будучи записанными на диске, они ничем не отличаются от любых других байтов (и их биты, соответственно, от любых других битов других байтов)?...

CityAceE
22.02.2005, 07:45
...Другими словами, будучи записанными на диске, они ничем не отличаются от любых других байтов (и их биты, соответственно, от любых других битов других байтов)?...
Да нет, как раз и отличаются. Если дать команду чтения дорожки, то данные потихоньку перестанут читаться правильно, и вместо них будет сичтываться мусор, то есть произойдет рассинхронизация. Но как только встретится этот самый A1, то произойдет синхронизация данных и снова до некоторых пор данные будут считываться верно.

lvd
22.02.2005, 08:00
Да нет, как раз и отличаются. Если дать команду чтения дорожки, то данные потихоньку перестанут читаться правильно, и вместо них будет сичтываться мусор, то есть произойдет рассинхронизация. Но как только встретится этот самый A1, то произойдет синхронизация данных и снова до некоторых пор данные будут считываться верно.

Я спрашиваю - не с т.з. ВГшки, которая по нему синхрится, а с т.з. записанного на диск. Т.е. если мы запишем ВГшкой что-то с этими байтами как синхронизаторами, а потом рассмотрим независимо от ВГшки записанные битики на диске (MFM), то на этих байтах они ничем не будут отличаться от любых других байтов?

psb
22.02.2005, 17:34
Т.е. если мы запишем ВГшкой что-то с этими байтами как синхронизаторами, а потом рассмотрим независимо от ВГшки записанные битики на диске (MFM), то на этих байтах они ничем не будут отличаться от любых других байтов?

енто... в том и фишка, что эти байты физически пишутся как-то по-другому... как - точно сказать сейчас не могу, но точно по-другому.

axor
07.03.2005, 23:54
Инетресуют методы защиты не как таковые, а методы защиты, применявшиеся на ZX Spectrum.

Первый диск конкурса "Твоя игра-2004" защищен по методу "совести".
А если серьезно, то он действительно защищен. Секреты пока не раскрываю...

Looker
12.03.2005, 00:41
Кто-нибудь из кульхацкеров может помочь защитить диск?

Lion17
12.03.2005, 00:50
По поводу синхронных байтов A1 и C2 - там просто при записи опускается один синхроимпульс, а ВГ это ловит. Это нужно для того чтобы ВГ установилась на границу байта - ведь на диске идет последовательность битов а когда попадается спец бит без синхроимпульса - ВГ точно знает, что через определенное число тактов _точно_ начнется байт.

jerri
12.03.2005, 01:01
Какой то журнал под номером 4 был очень интересно защищен

5 секторов № 0 с размером 1024 и один размером 256 байт
плюс 1 заголовок с хитрой КРК :)

проанализирован за один вечер плюс найдена нестабильность изза чего читалось через раз и написан копировщик :) за следующий вечер
правда чисто под 2 дисковода и только под скорп

Robus
17.03.2005, 03:58
Когда-то, в Киеве, на заводе электронмаш делали диски BOEDER, конечно же немецкая аппаратура, а не орегиналы. До того как их не стали форматировать я делал защиту очень простого плана, но совершенно не поддающуюся никаким копировщикам, разве что простейший взлом. Метод очень прост ... У нас есть информация в простейших спековских файлах ... Диск отформатирован на 78 треков. Два последних вообще не трогаются. Ежали с них прочитать информацию, то она будет хаотичная ! Когда бит равен еденице, а когда нулю. Но я заметил закономерность, что еденице он равен в 80% случаев. Так делается чтение одного трека 16-ть раз, и получаем точный код, после XOR'им ... Сделал я эту защиту лишь ради спора с Димой, у которого в Киеве была Amig'а, на которой можно было скопировать вообще любые диски, за исключением 1.44 ... Вообщем копировка не удалась ... Так я познакомился с человеком - Димой, у которого видел такие Amig'овские продукты, о которых не слышали почти никто, из тех, кого я встречал, а встречал я многих !!!

В будущем я узнал, что можно не искать не форматированные диски, а воспользоваться магнитом. Физический процесс я объяснить не могу, но работает ... Хотя считаю такие действия, с некопировкой - жадностью. Спектрум всегда славился тем, что на нём делали работы для людей а не для заработка денег. Деньги, конечно, не помеха, но почти каждый кто до них дорывался превращался в наглого и жадного человека, например: RST, IWAMOTO, JOKER (MAFIA) ... ETC ...

lvd
17.03.2005, 07:42
Диск отформатирован на 78 треков. Два последних вообще не трогаются. Ежали с них прочитать информацию, то она будет хаотичная ! Когда бит равен еденице, а когда нулю. Но я заметил закономерность, что еденице он равен в 80% случаев. Так делается чтение одного трека 16-ть раз, и получаем точный код, после XOR'им ... Сделал я эту защиту лишь ради спора с Димой, у которого в Киеве была Amig'а, на которой можно было скопировать вообще любые диски, за исключением 1.44 ... Вообщем копировка не удалась ...


А можно было сделать проще = продрать диск иголкой. Только что это доказывает - что диски с кривым физическим форматом не копируются без рук (и без взлома), и всё? От этого амижный контроллер дисковода рулить не перестаёт.

lvd
17.03.2005, 07:51
По поводу синхронных байтов A1 и C2 - там просто при записи опускается один синхроимпульс, а ВГ это ловит. Это нужно для того чтобы ВГ установилась на границу байта - ведь на диске идет последовательность битов а когда попадается спец бит без синхроимпульса - ВГ точно знает, что через определенное число тактов _точно_ начнется байт.

О, ну хоть один человек оказался в курсе! =))))

Но я всё равно не до конца понял, вот у нас есть MFM кодирование (http://lclevy.club.fr/adflib/adf_info.html#p21), какой именно бит отличается?

Dmitry
30.03.2005, 14:11
1. Создание на Speccy "плавающих" битов.

Действительно, как было сказано в одном из предыдущих сообщений такие биты получаются при остановке ВГ93 еще до завершения операции записи/форматирования. То есть даем контроллеру команду записи сектора или дорожки, затем включаем счетчик до нужного байта, посылаем этот байт в порт и не дожидаясь готовности записи этого байта выставляем определенную задержку, по истечении которой останавливаем ВГ93. Не факт, что плавающие биты получатся с первой попытки, поэтому проверяем нужный байт многочисленным чтением. Кстати, таким образом можно привязать нужную программу к конкретному диску и дисководу (актуально, если программа разрешает пользователю сделать легальную копию или производить отгрузки на диск). Например, с помощью многократного чтения были получены 5 значений байта, состоящего из плавающих битов, так вот эти комбинации будут закономерными для данного диска и дисковода, на другом дисководе при чтении этого же диска будут другие значения данного байта.

2. Создание реальных секторов #F7.

Технология схожа с созданием плавающих битов. Пусть нужно создать первый сектор на дорожке с номером #F7. Сначала создается псевдо-сектор #F7, который получится при определенной комбинации байтов в адресной метке и записывается в виде контрольной суммы. Затем даем команду "запись дорожки" и включаем счетчик записанных байтов. Таким образом затираются байты "слева" от байта #F7. Тут ситуация уже обратная созданию плавающих битов, необходимо устойчивое чтение этой адресной метки, которое также проверяется многочисленным чтением.

3. Зацикливание команды "чтения дорожки".

Если в начале и конце образа трека, предназначенного для форматирования дорожки, поместить довольно большое количество значений определенного байта, то ВГ93 не выйдет из цикла при команде "чтение дорожки", то есть все ОЗУ будет заполнено данными от чтения дорожки. Выйти из цикла можно с помощью прерывания IM2, при котором проверяется, что при чтении дорожки было прочитано, к примеру, не 6200 байт, а 20000.

---------
Также хотелось бы задать вопрос Владимиру Кладову, какая защита от копирования применялась в его оригинальной новосибирской "Elite II"? Не было ли там "плавающих битов"? А то до меня дошла только поломанная "тверская" Elite II.

Alexandr Medvedev
11.04.2005, 14:34
Есть ещё один оригинальный способ защиты от копирования 5.25 дисков это использование второго индексного отверстия.

himik
19.04.2005, 20:17
Мда... И что больше всего мне не понятно, так это почему ни кто ни разу не вспомнил Grid Protection System v2 and v3??? Видимо просто не получила она распространения :(
Shit... Печально, а ведь я столько над ней работал.
Главное точно помню, потратил много времени на то, чтобы сделать таким образом, чтоб ни макдональд ни софткопи не делали копию. Цель была не только в том, чтоб не сделать, а чтоб копировщик не зависал при попытке чтения, на оборот, чтоб читал, писал но копия не работала.

Скажу точно одно, 3-я версия отличалась от 2-й тем, что давала возможность работать с каталогом диска, и значит была возможность защищать проги с подгружаемыми по имени файлами.
Во 2-й версии, как и ASC Music Show по стандартным командам list, cat, move и т.д. происходил автостарт диска, запускался музыкальный бут, и все :) Каждая прога на диске была защищена, вытащить было не реально.
И еще была учтена одна фишка, бут не стартовал, если на диске всего один файл, а сразу передавал управление ему, что давало возможность защищать свои проекты без видимой защиты.
Правда анализ оригинальности диска шел почти 10 секунд. Зато работало :)

а вот проги:

Grid 1 http://pos.fmshop.ru/get.php3?file=grid1.zip
Grid 2 http://pos.fmshop.ru/get.php3?file=grid2.zip
Grid 3 http://pos.fmshop.ru/get.php3?file=grid3.zip

CityAceE
20.04.2005, 03:16
Мда... И что больше всего мне не понятно, так это почему ни кто ни разу не вспомнил Grid Protection System v2 and v3??? Видимо просто не получила она распространения
Ты не написал самого главного: какой принцип был заложен в твой метод защиты.

himik
20.04.2005, 09:09
Ты не написал самого главного: какой принцип был заложен в твой метод защиты.

Действительно, к чему бы это :)

0-я дорожка состояла из нескольких разных по размеру секторов, в каждом чего-то записано по частям в закодированном виде. для каждого диска генерируется энное количество меток, шифр-ключей, которые записывались в индексное пространство дорожки.
Была попытка создать плавающий бит, но не помню - что из этого вышло.
Часть секторов в дорожке для форматирования генерировалась по определенному принципу, и содержала в себе энное количество ошибок.

1. Сначала форматировали дорожку.
2. Потом ставили на нее все метки. 1-й проход.
3. Считвали дорожку 16 раз, делали анализ движения данных.
4. Искали шифрованные ключи.

5. На основании полученных данных составляли новые таблицы и ключи.
6. Вновь форматировали трек и ставили метки.
7. По полученному ключу кодировали все бейсик файлы.

Собственно что-то такое. Хотя это только приблеженное мое воспоминание о принципе работы. Писал перед армией, прямо за несколько дней до ухода, и причем ни фига не помню :)
А в эмуле что-то не разбирается мне, ибо не идут такие диски, точнее даже защита не ставится. Нужна полная эмуляция ВГ...

SMT
20.04.2005, 21:16
вот оно что... в us известны глюки в эмуляции ВГ и grid2/3 тоже лежит. исправление глюков у меня запланировано вместе с разборкой по grid. теперь ясно, что не стоит и пытаться - плавающие биты и нестандартное использование управляющих байтов форматирования - это без экспериментов не расколоть. к тому же слабо представляю, для чего потребуется такая точность: защищать программы в us и отдавать защищёнными - бред, копировать реальный диск нельзя, так как нет точной читалки с диска в UDI-образ

himik
20.04.2005, 22:13
вот оно что... в us известны глюки в эмуляции ВГ и grid2/3 тоже лежит. исправление глюков у меня запланировано вместе с разборкой по grid. теперь ясно, что не стоит и пытаться - плавающие биты и нестандартное использование управляющих байтов форматирования - это без экспериментов не расколоть. к тому же слабо представляю, для чего потребуется такая точность: защищать программы в us и отдавать защищёнными - бред, копировать реальный диск нельзя, так как нет точной читалки с диска в UDI-образ

Был один вариант... Hacker KAY разрабатывал полный программный эмулятор ВГ93, с тайменгами и прочими фичами. Он разработал и алгоритм клонирования дискет, но вот чем это все закончилось я не знаю, на смотря на то, что Hacker KAY живет от меня в соседнем доме...

Хм... А вод если вспомнить детальнее, то на сколько я помню, я использовал некую процедуру чтения индексного пространства диска, и всякие там опыты привели к тому, что в эмулях данная процедура просто ни чего не выполняет, так же как и процедура прямого форматирования диска. Если спектрум мог читать индексы, то ПЦ в данном случае этого делать не умеет? На сколько мне объясняли умные люди, контроллер ПЦ на столько убогий, что не умеет выполнять такие функции. А как же прямой доступ к нему, его тоже нет?
Вот ведь блин, гадство.
Да хрен с ним с образом, еслибы диск в памяти эмуля мог сгенерироваться и работать, пусть без сохранения, хоть бут свой увидеть, хоть посмотреть, ну хоть одним глазком :(
Там даже музон есть, в рот компот... Реинкорнация спектрума в эмулятор не дает возможности вспомнить и возрадоваться своей проге, хоть увидеть результат...
Я в трансе... Это полная (_о_)

lvd
21.04.2005, 08:07
Хм... А вод если вспомнить детальнее, то на сколько я помню, я использовал некую процедуру чтения индексного пространства диска, и всякие там опыты привели к тому, что в эмулях данная процедура просто ни чего не выполняет, так же как и процедура прямого форматирования диска. Если спектрум мог читать индексы, то ПЦ в данном случае этого делать не умеет? На сколько мне объясняли умные люди, контроллер ПЦ на столько убогий, что не умеет выполнять такие функции. А как же прямой доступ к нему, его тоже нет?


Могу точно сказать - что на амиге любой трек на диске читается просто как последовательность бит (даже до MFM-модуляции). Это поможет прочитать твои защищённые диски? =)

PS: задам и тебе тот же вопрос: ты случайно не в курсе, чем синхробайты ВГ93 (#A1 и ещё какой-то емнип) отличаются от всех остальных с т.з. записанного на диск? Т.е. они кодируются так же при помощи MFM - или есть какое-то всё же отличие?

SMT
21.04.2005, 18:12
Он разработал и алгоритм клонирования дискет, но вот чем это все закончилось я не знаю, на смотря на то, что Hacker KAY живет от меня в соседнем домеинтересно, он ещё занимается спектрумами?

himik
21.04.2005, 19:36
интересно, он ещё занимается спектрумами?

Сложный вопрос. Большое было рвение, но потом работа, и прочие заморочки, щас не знаю... Надо его телефон найти, и вызвонить.

Grand
20.05.2005, 16:23
Также хотелось бы задать вопрос Владимиру Кладову, какая защита от копирования применялась в его оригинальной новосибирской "Elite II"?Защиту ставил не он (или не один он), а Shadow Soft.
Игра с этой защитой грузилась далеко не на всех компьютерах. Мне довелось поэксплуатировать (в начале 1990-х годов) 48-и килобайтные Rainbow Turbo (вряд ли вы о таких слышали), так вот из трех его вариантов, собранных в одной фирме, только на одном шла Elite 2 (3), и то не стабильно.
Продавцы игры вместе с дискетой давали адреса людей, которые делали какую-то доработку контроллера, чтобы она работала, но никто из моих друзей не решился нести им свой новенький компьютер. А вскоре (1993-94 г.) появилась "колотая" версия от Fancy; именно она, как кажется мне - человеку игравшему в настоящую кладовскую Elite, - больше остальных crack'ов похожа на оригинал.
Защита диска и сюжет игры были связаны между собой: надо было сделать 256 перелетов, чтобы получить право следующей копии программы. В инструкции было сказано, что если программа не "признает" копию за разрешенную, то обнулит счетчик, - что и случилось у меня, когда число перелетов приближалось к 100. Впрочем, потом я научился делать первые копии (не копии дистрибутива) с помощью хитрых манипуляций с дисками, - "на каждый щит найдется свой метеорит". :)
Сейчас фирменная версия кладовской Elite (еще на диске ГМД-130) лежит у меня, и ее не удаётся запустить ни на одном из настоящих современных Spectrum-совместимых компьютеров, к которым я имею доступ...
Понимаю, что эти "воспоминания очевидца и участника" имеют не много практической ценности, но ведь из вас мало кто видел и играл! в оригинальную кладовскую Elite 2 (3).

jah
18.06.2005, 07:21
Помнится, в Deja Vu была моя (Allen/XLNC) статья о секторах #F7. Там достаточно подробно расписано, как это сделать, не прерывая запись дороги.
Была анекдотичная ситуация... Когда Ice'Di и Blade в компании еще кучи народа забацали Miracle#3 - я сдуру поспорил с Санькой Геращенко (Loki) , что копирну его. Там была защита... Проанализировал трек при помощи моих библиотек - оказалось, что там просто трек неформатированный (вернее, убитый специально) в конце... Ломанул загрузчик, спер оттуда процедурку вывода сообщений (там красиво так буковки пропечатывались) и накропал прогу... Суть ее в том, что сперва диск копируешь простым копировщиком, потом прогу запускаешь, она трек поганит - и готова копия. Причем, с юзером прога общалась в таком же интерфейсе, как и сам Miracle, вернее, загрузчик его.
Сляпал я это дело, отправил по почте (обычной %)) Саньке, и уехал на базу, отдыхать.
Каково же было мое удивление, когда по приезду я узнал, что от моего имени кто-то дал объяву в инете, что я, мол, банчу этим Miracle. %) Гы.

rasmer
22.06.2005, 00:07
Сейчас фирменная версия кладовской Elite (еще на диске ГМД-130) лежит у меня, и ее не удаётся запустить ни на одном из настоящих современных Spectrum-совместимых компьютеров, к которым я имею доступ...Может просто уже диск "Посыпался"

^m00h^
22.06.2005, 03:37
Сейчас фирменная версия кладовской Elite (еще на диске ГМД-130) лежит у меня, и ее не удаётся запустить ни на одном из настоящих современных Spectrum-совместимых компьютеров, к которым я имею доступ...
Понимаю, что эти "воспоминания очевидца и участника" имеют не много практической ценности, но ведь из вас мало кто видел и играл! в оригинальную кладовскую Elite 2 (3).

А можешь считать в UDI и выложить сюда ? Интересно очень посмотреть на оригинал.

Grand
23.06.2005, 17:31
Может просто уже диск "Посыпался"Нет, виновата защита. Диск и сейчас в отличном состоянии; точно также он вел себя и 10 лет назад.


А можешь считать в UDI и выложить сюда ?Я сам много думал над этим. У меня нет программного средства для создания UDI-файлов; у кого я спрашивал - никто мне не помог. Если подскажешь как это сделать (можно по e-mail'у) - попробую, но думаю, что шансов мало: защита такая, что не на всяком настоящем Спектруме работала (м.б. "плавающие" биты?).

Alexandr Medvedev
26.06.2005, 09:13
У меня нет программного средства для создания UDI-файлов; у кого я спрашивал - никто мне не помог.http://trd.speccy.cz/pcutilz/MAKEFDI.ZIP в архиве лежит подробное описание.

Titus
12.10.2005, 05:23
Grand:
А вскоре (1993-94 г.) появилась "колотая" версия от Fancy; именно она, как кажется мне - человеку игравшему в настоящую кладовскую Elite, - больше остальных crack'ов похожа на оригинал.


Основных креков 'Elite-3' было всего 2 - мой, и от Fancy (причем из моего сделали потом свои версии Кондратьев&Ларьков и Tankard). Вряд ли есть смысл говорить о 'похожести' на оригинал, поскольку креки по большому счету отличались от него лишь отсутствием защиты и менюшками для работы с диском.

А вот если говорить о защите оригинальной 'Elite-3', то там, помнится, с точки зрения навороченности структуры диска ничего особенного не было. Вся проблема несовместимости заключалась лишь в жестко заточенных таймингах под ту машину, на которой Кладов это дело писал. У меня на Пентагоне-128 она тоже не работала...


Сообщение от CityAceE:
Дополняйте, вносите уточнения

Помню, что делал для 'Street Fighter'а', того, что на весь диск (продавался у SoftStar'а), защиту, где вообще не было секторов, только сплошной битовый массив на целый трек (не считая 0-ой дорожки с автобутующимся 9-ым сектором)

SMT
12.10.2005, 07:43
делал для 'Street Fighter'а',у меня есть UDI этой игры. там как часть защиты используется неверная нумерация дорожек в заголовках секторов, а код чтения сектора корректирует регистр дорожки ВГ. это она? (на сплошной битовый массив не похоже, но глубоко я её не ломал)

Titus
13.10.2005, 03:18
Сообщение от SMT:
у меня есть UDI этой игры. там как часть защиты используется неверная нумерация дорожек в заголовках секторов, а код чтения сектора корректирует регистр дорожки ВГ. это она? (на сплошной битовый массив не похоже, но глубоко я её не ломал)


Хм... действительно. Посмотрел ту версию, что лежит у меня - точно, используется нестандартная нумерация. Хотя я абсолютно точно помню, что делал ту защиту, без секторов вообще. Если будет время, пороюсь в дисках, может и отыщу.
А смысл там был такой: запись на трек осуществлялась целиком, посредством команды форматирования дорожки. А чтобы не происходило сбоя на синхрокодах во время чтения дорожки, в записываемом блоке полностью отсутствовали биты синхрокомбинаций. Это в общих чертах...
Хотя эффективность этой защиты не особо была высокая... Написал просто для разнообразия :-)

sheltem
18.10.2005, 13:50
Хотя эффективность этой защиты не особо была высокая... Написал просто для разнообразия :-)
Ох и давно это было..... Защита была сломана на следующий день как привезли ее из Москвы от SoftStar'a...или у Лехи FFC брали не помню точно, но часа 4 убили на это точно...............

Titus
18.10.2005, 15:16
Сообщение от sheltem:
часа 4 убили на это точно...............

Чего же так долго-то? ;) Защита ж чисто номинальная, от простых юзеров была ;)

Vladimir Kladov
18.10.2005, 16:38
Защиту ставил не он (или не один он), а Shadow Soft
Shadow Soft - это я и есть. Точнее, я и мой сосед Шадрин. Shadrin + Kladow = Shadow. Это была именно моя защита, на 256 перелетов. Там была дырка в защите, можно было копировать без проблем, только знать как.

Моя Elite3 отличается от моей же Elite3 только наличием Demo, и исправлением пары багов в ходе игры. Защита осталась та же (по принципу). Вышла III буквально через пару месяцев после II, и номер я сменил в основном потому, что почти одновременно с выходом моей Elite2 вышло еще 2 Elite2 (впрочем мало чем от оригирала отличавшихся).

Основных креков 'Elite-3' было всего 2 - мой, и от Fancy (причем из моего сделали потом свои версии Кондратьев&Ларьков и Tankard).Ну и гордитесь теперь. После появления ломаной версии я не получил с нее больше ни копейки. Что я проиграл? Ничего. Что проиграли любители этой игры? Да всё. Версии Элите4 не появилось (хотя планировалась). Заниматься играми я вообще после этого не стал. А зачем? Все равно заработать не удастся, зачем стараться.

Titus
19.10.2005, 03:11
Сообщение от Vladimir Kladov:
Ну и гордитесь теперь. После появления ломаной версии я не получил с нее больше ни копейки. Что я проиграл? Ничего. Что проиграли любители этой игры? Да всё. Версии Элите4 не появилось (хотя планировалась). Заниматься играми я вообще после этого не стал. А зачем? Все равно заработать не удастся, зачем стараться.

Хм... Чтобы заработать на спекки (и не только на нем), нужно было быть прежде всего хорошим менеджером... Основные денежные сливки в те времена снимали только трейдеры - те что продавали программы в межгорода и торговали ими на рынках. Снимать защиту, во всяком случае первое время, было не в их интересах - у основных трейдеров 94-95 годах уже были Амиги, на которых почти любая тогдашняя защита копировалась без проблем, и Elite-3 в том числе. Но с этой защитой случился один маленикий нюанс - она не шла ни на Пентагоне, ни на многих других популярных моделях. Лично я ломал ее не для продажи - мне хотелось в нее самому поиграть ;) (купил я ее на рынке честно, пиратскую, скопированную трейдерами на Амиге :)) Немного поправил в ней кое-что, дописал более удобное диск-меню и поставил свою защиту (не от копирования, от взлома, из спортивного интереса). Со своей защитой я тоже просчитался - она не работала на машинах с раздельным полем памяти (с wait-циклами). Естественно ребята с теневыми мониторами, из Питера взломали ее волшебной кнопочкой, и появился креканный мой крек...
Лично сам я на спектруме не заработал на креках, интрах, демах, играх, музыках и системных программах даже $100. Торгуя иногда дискетками я заработал значительно больше...
Скорее всего извечный вопрос - 'кто виноват?' останется не решенным... Автор, просчитавшийся с защитой? Трейдер, штампующий копии на Амиге? Хакер? Думаю, что никто... :v2_cool:

Vilan
19.10.2005, 10:31
Думаю, что виноваты все те, кто пытался извлечь выгоду в обход заслуг программиста, фактически прибегая к обману.

Не сочтите сие за какие-то личные претензии, но каким образом эта крякнутая версия ("не для продажи - мне хотелось в нее самому поиграть") оказалась у кого-то еще ("ребята с теневыми мониторами, из Питера взломали ее волшебной кнопочкой, и появился креканный мой крек...")?

Titus
19.10.2005, 12:38
Сообщение для Vilan:
Не сочтите сие за какие-то личные претензии, но каким образом эта крякнутая версия ("не для продажи - мне хотелось в нее самому поиграть") оказалась у кого-то еще ("ребята с теневыми мониторами, из Питера взломали ее волшебной кнопочкой, и появился креканный мой крек...")?

По-моему, ответ напрашивается сам собой - я сам ее раздал :)
Вы хотите мне инкриминировать какую-то вину? ;)

Vilan
19.10.2005, 14:52
Вы хотите мне инкриминировать какую-то вину? ;)

Нет. Но путем логических построений получается, что к "несуществованию" той же Elite-4 вы руку все ж-таки приложили (пусть даже и не со злого умысла) ;)

Titus
19.10.2005, 21:08
Сообщение от Vilan:
Нет. Но путем логических построений получается, что к "несуществованию" той же Elite-4 вы руку все ж-таки приложили (пусть даже и не со злого умысла);)

Ай-яй-яй... Если вы играли в 'пиратскую' Elite-3, то боюсь, что вы тоже приложили к этому руку... пускай и не со злого умысла :v2_blush:

sheltem
24.10.2005, 13:44
Крекалось в то время ВСЁ и ВСЯ, сначала чисто для себя ->друзья зашли->"Друган!!! Дай поиграть!!!" -> "да забирай, жалко чтоль, только никому не давай - О.К.!!!" ->прошло 4 дня (скорее всего меньше).....->оказываеться уже "твоя" версия есть у всех :confused: :confused: ->и начинается->у друзей "Да братан у меня мелкий - сколько раз ему говорил - НЕ БЕРИ МОИ ДИСКИ!!!" - а он гад пока я в институте был - другу их своему отнес :mad: :mad: "и так в геометрической прогрессии ...................... и так было в 99 случиях из 100..............бороться с этим было почти бесполезно.....

Grand
06.11.2005, 16:00
Защиту ставил не он (или не один он), а Shadow Soft
Shadow Soft - это я и есть. Точнее, я и мой сосед Шадрин. Shadrin + Kladow = ShadowЧто ж, еще одной тайной на ZX стало меньше...
Но вообще-то в том разговоре (http://www.zx.pk.ru/showpost.php?p=8992&postcount=25) народ интересовался другим: были ли "плавающие биты" на оригинальном диске с Elite 2 (3)?
Основных креков 'Elite-3' было всего 2 - мой, и от Fancy ...Был еще, наверное самый первый крэк Elite 2 (которая, как мы теперь знаем, мало чем отличалась от Elite 3), сделанный Guild of Siberian Hackers. Могу послать (в смысле выслать файл). :)

Wladimir Bulchukey (500:95/462)
08.11.2005, 16:35
*** Ответ на сообщение из ZXNET.SOFT (Обсуждение глюков).

Здравствуй(-те), Grand...!

07 Hоя 05 00:09, Grand -> All:



Что ж, еще одной тайной на ZX стало меньше...

Вообще пути образования сценовых псевдонимов неисповедимы :-) .
В ZXNet Москвы был и вёл весьма активную работу ZX-Shadow (Илья Иванов);
происхождение ника неизвестно. В сценовой тусовке вокруг фестивалей CC5
и более ранних известен некто под ником Gogin. "Ржунимагу" (c), у нас
раньше работал сисадмин по такой настоящей фамилии :-) . Представляю,
что было бы, если бы он заинтересовался демосценой и заявился на фестиваль!
(Кстати, вероятность не так уж мала, он человек очень тусовочный; контакт
поддерживаем и теперь).

С наилучшими - Wlodek # wlblack(@)newmail.ru # http://wlodeks.narod.ru
[ZX] [500:95/462@ZXNet] [2:5016 Forever] [Golyanovo] [Старые русские]

bpm
12.11.2005, 21:12
Основных креков 'Elite-3' было всего 2 - мой, и от Fancy (причем из моего сделали потом свои версии Кондратьев&Ларьков и Tankard

Мы с Мишей не хакеры вовсе, просто Антоний принес твою версию, типа так ждал, столько слышал, вот надыбал, давайте же скорее посмотрим, а она нам цветные квадратики (или (c)1982, не помню уже) вместо игры. Пришлось сломать.

А оригинальной от Кладова у нас просто не было.

Titus
13.11.2005, 02:34
Сообщение от Grand:
Что ж, еще одной тайной на ZX стало меньше...
Но вообще-то в том разговоре народ интересовался другим: были ли "плавающие биты" на оригинальном диске с Elite 2 (3)?

Насколько я помню, плавающих битов не было.


Сообщение от bpm:
Мы с Мишей не хакеры вовсе, просто Антоний принес твою версию, типа так ждал, столько слышал, вот надыбал, давайте же скорее посмотрим, а она нам цветные квадратики (или (c)1982, не помню уже) вместо игры. Пришлось сломать.

В том, что ломали мою версию, заслуга, конечно, моя - защитил так, что на wait-овых машинах она не работала, не было под рукой скорпиона или другого подобного спека для проверки. Другое дело, что не видя оригинал, и не зная, что в моей версии диск-меню тоже мое (оригинальное меню было весьма неудобным), просто убирали мой ник из инфы, вероятно думая, что больше моих следов в программе не оставалося :v2_tong2:
(по-секрету говоря, в некоторых релизах весьма известных сценеров тоже внутри находятся версии с моими 'автографами' :v2_wink2: )

Dmitry
19.09.2013, 22:19
Еще тут недавно вспомнил свои эксперименты с защитами от копирования:

Тем, у кого есть реальный Speccy и FDD, навероне будет интересно попробовать повторить. Но так как опыт был 16 лет назад, могут быть ньюансы, которые забылись.

В начале трека создавался сектор большого размера, например 1024 или 512 байт. Внутри него находился другой сектор меньшего размера, на 256 или 128 байт. Трек записывался стандартным образом, то есть из образа дорожки, где находились эти сектора. После форматирования трека первый большой сектор, включающий в себя меньший сектор, считывался и перезаписывался в режиме запись данных сектора. После чего меньший сектор уже отдельно от большого не мог прочитаться по его адресной метке, то есть считать его данные было невозможно. Но подобие его адресной метки сохранялось. После чего оставалось только дать команду Запись трека, но не полностью, а включить счетчик записываемых в порт данных, и затереть адресную метку первого большего сектора.Таким образом в начале трека с помощью частичного форматирования создаем небольшой сектор например в 128 байт, а за ним уже будет тот меньший сектор, который бы перезаписывали как данные.

В итоге на треке первый сектор читался нормально, а адресная метка второго малого сектора не читалась и, соответственно, данные с него считать было нельзя. А когда копировщики типа McDonald делали команду Чтение дорожки для анализа его формата, то они видели как бы 2 обычных малых сектора в начале трека и создавали образ для них. Если адресная метка и данные со второго сектора после такого копирования считывались - значит это несанкционированная копия.

psb
20.09.2013, 00:09
После форматирования трека первый большой сектор, включающий в себя меньший сектор, считывался и перезаписывался в режиме запись данных сектора.
можно было просто такие данные записать, не форматируя так хитро:) ну и программка для софткопи легко бы это копировала...

Dmitry
20.09.2013, 01:08
Кстати, на челябинском радиорынке в свое время группа Dream Team продавала вроде бы свой оригинальный копировщик Smart Copy с поддержкой расширенной памяти Profi. Я купил у них дискету с ним, привез домой, попробовал запустить... На экране появляется изображение дискеты и просьба - Выньте дискету из дисковода, переверните ее другой стороной :)) и вставьте обратно в дисковод. Интересно, какая там была защита? Так этот копировщик Smart Copy у меня и не запустился. Вот такой прикол... Копаться в его коде я не стал тогда.

Dmitry
20.09.2013, 11:42
Еще одно дополнение: так как стандартные процедуры TR-DOS позволяли записывать данные секторов и делать форматирование дорожки только полностью, то есть выход из подпрограммы Dos осуществлялся по флагу готовности записи всех данных, поэтому для создания, например, плавающих битов нужно было включать счетчик отправленных в порт байт данных. Сначала эксперименты проводились на Profi в режиме прямого доступа к портам ВГ93 из ОЗУ, когда опыты закончились успешно, то я доработал свою программу для работы с обычной версий TR-DOS 5.04T.

Бинарник TR-DOS 5.04T был считан в ОЗУ и в нем были найдены такие примерно последовательности поиском в STS:

Запись одного байта в порт данных
RET

Проверка готовности записи этого одного байта
RET

Процедура счетчика
RET

Пауза
RET

Немедленное прерывание ВГ93 (после паузы до готовности записи байта данных в порт)
RET

После чего в стек помещались адреса этих процедур и они по RET передавали управление друг другу.

Вот так удалось заставить работать нестандартный драйвер ВГ93 не только на Profi, но и на обычном Speccy с TR-DOS 5.04T!

Barmaley_m
07.11.2013, 21:59
Вот так удалось заставить работать нестандартный драйвер ВГ93 не только на Profi, но и на обычном Speccy с TR-DOS 5.04T!
Круто! Не думал, что это возможно. А на стандартной 5.03 это не работает?

Кстати, по теме, тут еще вроде не описывалась защита от ASC. Она основывалась на записи секторов с преднамеренно созданным сбоем контрольной суммы. Личный компьютер ASC имел "открытые" порты TR-DOS, так что он мог создавать такие диски любым доступным способом, например, запись сектора со счетчиком байт и принудительное прерывание записи за 3 байта до конца сектора. Полезные данные в каждом из секторов имели размер на 5 байт меньше номинального. В двух из них записывалась контрольная сумма для программной проверки.

Загрузчик с такой дискеты использовал флаг "читать до конца дорожки" соответствующей команды ВГ93. После этого обработка считанной информации шла как будто ни в чем не бывало. Фокус в том, что при сбое контрольной суммы ВГ прекращала выполнение команды, считав всего один сектор. Если же (после копирования такого диска) сбоя контрольной суммы нет - то команда чтения секторов продолжает считывать следующие секторы с дорожки, пока они не закончатся. После этого происходило либо переполнение буфера и сбой, либо при попытке считать 6й сектор (на дорожках было 5 секторов по 1кБ) вылетала ошибка Sector Not Found, по обнаружению которой защита и вылетала.

Такая защита ставилась ASC на "фирменный" дистрибутив ASC Sound Master, а также музыкальный банк "AMS". Кроме того, мой дистрибутив ASC CP/M также имел такую защиту. Снималась она относительно легко, так как ксорок было мало, а для исправления загрузчика, чтобы он грузил сектора без сбоев контрольной суммы, требовалось изменить в нем всего один байт.

Dmitry
10.11.2013, 05:51
> Круто! Не думал, что это возможно. А на стандартной 5.03 это не работает?

Это работает и на стандартной 5.03. Адреса процедур те же.