Black Crow
#06
01 июня 2001 |
![]() |
Программистам - The hacker club: Зашита от копирования.

ЗАЩИТА ОТ КОПИРОВАНИЯ (С) 2001 Макс ----------------------------------------- Привет, хакеры! На прощание решил по- делиться с вами своим изобретением - за- щитой от копирования Спектрумом. Сразу же предупреждаю, что где-то какой-то маздай- ный копировщик всё же копирует её, но это не важно - спектрумист-реальщик не сможет ничего скопировать, а это уже что-то! В любом случае на рекламу в последних номерах ни одна блядь не соизволила отк- ликнуться, так что мой текст будет пустой тратой времени... Ладно, хер с вами, читайте. Итак, для реализации данной фишки требуется наличие кэша любого размера, лишь бы порты ВГ-шки были в него заведены (читал где-то, что и такая дурь бывает, как отсутствие заведе- ния портов - зачем тогда кэш ставить?). Выбери трек для защиты и превратись в автора DCU или FUT`а - придётся создавать образы трека в ОЗУ, а затем их записывать на диск... Да, мраки, но по другому никак не получится. Итак, создай образ трека на любое количество секторов, но в начале ты сделай маленький сектор байт на 10. Да, и не удивляйся! Форматни полученным образом трек на диске. Следующим действием будет изврат: надо набрать подпрограммы (можешь взять гото- вые из ПЗУ tr-dos`а и переписать на дру- гой адрес) работы с ВГ-шкой. Перебрось их в кэш на любой адрес, но по адресу #3D00 надо сделать переход на них. Собственно, весь алгоритм защиты можно всунуть в кэш, т.к. он не велик. Короче, набери последовательность типа #F5, #F6, #F7, #F7, #F7 или что-то около этого на количество 1-го короткого секто- ра, а затем подпрограммой записи сектора (своей, естественно) запиши эту последо- вательность в короткий сектор. Да, забыл сказать, что в подпрограммах записи надо сделать цикл проверки на количество запи- сываемых байт и по их окончании прервать операцию командой "принудительное преры- вание". Её код ищи в книге Родионова. По- лучился "нормально" записанный короткий сектор. Далее надо немного потрахаться - зате- реть начало сектора, чтобы осталась толь- ко та последовательность, которая была в коротком секторе. Это делается элементар- но: создаёшь поле пробелов и даёшь коман- ду форматирования на защищаемый трек, но здесь тоже надо контролировать количество записываемых пробелов, чтобы избежать за- парывания данных сектора. Прервать опера- цию "формат" надо всё той же командой для пренудительного прерывания. Работа эта чрезвычайно нудная вначале, но потом, когда параметры для удаления заголовка сектора будут приблизительно по норме подобраны - всё будет просто и эф- фективно! Рекомендую весь процесс зацик- лить, но с аварийным выходом при неудаче, а также с успешным завершебнием работ. Ну как, понятно изложил? Это не бред - именно такая защита применялась на игруш- ке "Чёрный Ворон. Новые Миссии" моего из- готовления. Можете убедиться сами, если у вас диски не взломанные. Ладно, пора закругляться. Извиняюсь, я поленился выковыривать алгоритм защиты из огромного листинга программы-создателя и поэтому ограничился только теорией. Коро- че, прояви смекалку и сам напиши код! А я уже ушёл в нирвану - мне пофиг всё...
Другие статьи номера:
Похожие статьи:
В этот день... 1 октября
Scream #04(scl),
Bred #02,
Screamergy #01,
Bred #01,
Open Letters #08,
Millenium #01,
Body #2F,
Deja Vu #0A,
X-Magazine #17,
ZX Chart #01,
Skimer #02,
X-Magazine #12,
Body #17,
Bugs #01,
Adventurer #10,
X-Magazine #07,
Wallpaper #05,
Proton #48,
ZX Pilot #29,
Cheat #03 demo,
Proton #48,
Deja Vu #06,
Deja Vu #02,
ZX-News #41,
Spectrum Progress #01,
Nicron #01,
Maximum #18,
ZX Digest #02,
Speccy #01,
Emulate #02,
Speccy #01,
200 #B,
Spectrofon #09,
ZX Revija #01