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

ЗАЩИТА ОТ КОПИРОВАНИЯ (С) 2001 Макс ----------------------------------------- Привет, хакеры! На прощание решил по- делиться с вами своим изобретением - за- щитой от копирования Спектрумом. Сразу же предупреждаю, что где-то какой-то маздай- ный копировщик всё же копирует её, но это не важно - спектрумист-реальщик не сможет ничего скопировать, а это уже что-то! В любом случае на рекламу в последних номерах ни одна блядь не соизволила отк- ликнуться, так что мой текст будет пустой тратой времени... Ладно, хер с вами, читайте. Итак, для реализации данной фишки требуется наличие кэша любого размера, лишь бы порты ВГ-шки были в него заведены (читал где-то, что и такая дурь бывает, как отсутствие заведе- ния портов - зачем тогда кэш ставить?). Выбери трек для защиты и превратись в автора DCU или FUT`а - придётся создавать образы трека в ОЗУ, а затем их записывать на диск... Да, мраки, но по другому никак не получится. Итак, создай образ трека на любое количество секторов, но в начале ты сделай маленький сектор байт на 10. Да, и не удивляйся! Форматни полученным образом трек на диске. Следующим действием будет изврат: надо набрать подпрограммы (можешь взять гото- вые из ПЗУ tr-dos`а и переписать на дру- гой адрес) работы с ВГ-шкой. Перебрось их в кэш на любой адрес, но по адресу #3D00 надо сделать переход на них. Собственно, весь алгоритм защиты можно всунуть в кэш, т.к. он не велик. Короче, набери последовательность типа #F5, #F6, #F7, #F7, #F7 или что-то около этого на количество 1-го короткого секто- ра, а затем подпрограммой записи сектора (своей, естественно) запиши эту последо- вательность в короткий сектор. Да, забыл сказать, что в подпрограммах записи надо сделать цикл проверки на количество запи- сываемых байт и по их окончании прервать операцию командой "принудительное преры- вание". Её код ищи в книге Родионова. По- лучился "нормально" записанный короткий сектор. Далее надо немного потрахаться - зате- реть начало сектора, чтобы осталась толь- ко та последовательность, которая была в коротком секторе. Это делается элементар- но: создаёшь поле пробелов и даёшь коман- ду форматирования на защищаемый трек, но здесь тоже надо контролировать количество записываемых пробелов, чтобы избежать за- парывания данных сектора. Прервать опера- цию "формат" надо всё той же командой для пренудительного прерывания. Работа эта чрезвычайно нудная вначале, но потом, когда параметры для удаления заголовка сектора будут приблизительно по норме подобраны - всё будет просто и эф- фективно! Рекомендую весь процесс зацик- лить, но с аварийным выходом при неудаче, а также с успешным завершебнием работ. Ну как, понятно изложил? Это не бред - именно такая защита применялась на игруш- ке "Чёрный Ворон. Новые Миссии" моего из- готовления. Можете убедиться сами, если у вас диски не взломанные. Ладно, пора закругляться. Извиняюсь, я поленился выковыривать алгоритм защиты из огромного листинга программы-создателя и поэтому ограничился только теорией. Коро- че, прояви смекалку и сам напиши код! А я уже ушёл в нирвану - мне пофиг всё...
Другие статьи номера:
Похожие статьи:
В этот день... 1 января
SibNews #08,
Woot! #01,
Spectrum Magazine #01,
ACNews #25,
Psychoz #14,
ACNews #14,
Last 128 #08,
Last 128 #06,
Last 128 #05,
Last 128 #04,
Last 128 #03,
Last 128 #02,
Last 128 #09,
Last 128 #3.5,
Last 128 #8.025,
Sinclair Club #05,
Last 128 #M!R 01,
Fantadrom #01,
Buzz #20,
Last 128 #01,
DonNews #13,
Nicron #120,
Promised Land #01,
Inferno #01,
Marazm #25,
Ultimathum #01,
Marazm #21,
Hooy Mag #02,
KrNews #11,
Marazm #22,
Marazm #23,
ZX Football 2000 #01,
Codemania #01,
Always #03,
Bugs #02,
IzhNews #08,
Virtual Worlds #01,
Listok #04,
Scenergy #02,
Flash Info #18,
Marazm #16,
Marazm #17,
Zed #01,
Balagan #02,
ZX Format #08,
ZX Power #03,
Shock #01,
Impulse #02,
Deja Vu #03,
ZX Club #08,
ZX Club #06,
Numberology #01,
Marazm #13,
Marazm #12,
Marazm #14,
Gorodok #02,
Zodiac #01,
Marazm #15,
Deja Vu #07,
Marazm #11,
Deja Vu #07,
Playboy #03,
Crazy News #2,
Crazy News #4,
ZX Light #01,
Crazy News #5,
Playboy #02,
ZX News #03,
ZX Review #1-2,
Read Me #02,
Crazy News #3,
Nicron #13,
Read Me #01,
Public Spirit #01,
Faultless #06,
Faultless #05,
ZX Software #01,
Stump #04,
Speccy #07,
Возраждение #0,
Speccy #03,
On-Line #17,
Scene+ #01,
Welcome Press #01,
ZX Konig #04,
Adventurer #01,
Faultless #05,
Faultless #04,
Di Halt #01,
Faultless #01,
Playboy #01,
Crazy News #1,
Faultless #03,
Pioneer #03,
Sinclair Town #02,
ZX Magazine #01,
Eldorado #01,
ZX Magazine #02,
Spectron #01,
ZX News #01,
ZX Konig #02,
200 #W,
Welcome Press #00,
Dune #07,
Subliminal Extacy #01,
Subliminal Extacy #02,
ZX Konig #01,
Subliminal Extacy #00,
Muchomor #01,
Spectrofon #01,
ZX Revija #02,
Outlet #01,
Outlet #1-3