01 июня 2001

     ЗАЩИТА ОТ КОПИРОВАНИЯ     
                                         
(С) 2001 Макс                            
-----------------------------------------
   Привет, хакеры!  На прощание решил по-
делиться с вами  своим изобретением - за-
щитой от копирования Спектрумом. Сразу же
предупреждаю, что где-то какой-то маздай-
ный копировщик всё же копирует её, но это
не важно - спектрумист-реальщик не сможет
ничего скопировать, а это уже что-то!    
   В любом случае  на рекламу в последних
номерах ни одна  блядь не соизволила отк-
ликнуться, так что мой текст будет пустой
тратой времени...                        
   Ладно, хер с вами, читайте.  Итак, для
реализации данной фишки требуется наличие
кэша любого размера, лишь бы порты ВГ-шки
были в него заведены (читал где-то, что и
такая дурь бывает, как отсутствие заведе-
ния портов - зачем тогда кэш ставить?).  
   Выбери  трек для защиты и превратись в
автора DCU или FUT`а - придётся создавать
образы трека в ОЗУ, а затем их записывать
на диск... Да, мраки, но по другому никак
не получится. Итак, создай образ трека на
любое количество секторов, но в начале ты
сделай маленький сектор байт на 10. Да, и
не удивляйся! Форматни полученным образом
трек на диске.                           
   Следующим действием будет изврат: надо
набрать подпрограммы  (можешь взять гото-
вые из ПЗУ tr-dos`а  и переписать на дру-
гой адрес) работы с ВГ-шкой. Перебрось их
в кэш на  любой адрес, но по адресу #3D00
надо сделать переход на них.  Собственно,
весь алгоритм защиты можно всунуть в кэш,
т.к. он не велик.                        
   Короче, набери последовательность типа
#F5, #F6, #F7, #F7, #F7 или  что-то около
этого на количество 1-го короткого секто-
ра, а затем подпрограммой  записи сектора
(своей, естественно) запиши  эту последо-
вательность в короткий сектор.  Да, забыл
сказать, что в подпрограммах записи  надо
сделать цикл проверки на количество запи-
сываемых байт и по их  окончании прервать
операцию  командой "принудительное преры-
вание". Её код ищи в книге Родионова. По-
лучился  "нормально"  записанный короткий
сектор.                                  
   Далее надо немного потрахаться - зате-
реть начало сектора, чтобы осталась толь-
ко та последовательность, которая  была в
коротком секторе. Это делается элементар-
но: создаёшь поле пробелов и даёшь коман-
ду форматирования на  защищаемый трек, но
здесь тоже надо контролировать количество
записываемых пробелов, чтобы избежать за-
парывания данных сектора. Прервать опера-
цию "формат" надо всё той же командой для
пренудительного прерывания.              
   Работа эта чрезвычайно нудная вначале,
но  потом,  когда  параметры для удаления
заголовка сектора будут приблизительно по
норме  подобраны - всё будет просто и эф-
фективно!  Рекомендую весь процесс зацик-
лить, но с аварийным выходом при неудаче,
а также с успешным завершебнием работ.   
   Ну как, понятно изложил? Это не бред -
именно такая защита применялась на игруш-
ке "Чёрный Ворон. Новые Миссии" моего из-
готовления. Можете убедиться сами, если у
вас диски не взломанные.                 
   Ладно, пора закругляться. Извиняюсь, я
поленился выковыривать алгоритм защиты из
огромного листинга  программы-создателя и
поэтому ограничился только теорией. Коро-
че, прояви смекалку и сам напиши код! А я
уже ушёл в нирвану - мне пофиг всё...    



Other articles:


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Similar articles:
Life outside the Spectrum - the continuation of the story RULEZNIKI (Part 5).

В этот день...   21 November