Из журнала 'Чёрная Ворона 2' Украина, Донецкая область, г.Дмитров-1, 08.1998 ОБЩИЙ ОБЗОР ЗАЩИТ  1998 MAX -------------------------------- А обозревать, собственно, и нечего. Не из-за того, что лень, а просто крутых и довольно серь- ёзных защит в последнее время практически никто не делал. При- чина тривиальна - программы и игры почти не выпускаются. А то, что выходит в свет - защищено слабо или вовсе не защищено. В большинстве случаев (повторяюсь, мне так кажется) отсутствие ума заменяется огромным количеством ксорок или ещё каким-либо идиотизмом. Я так понял, что ав- торы трёх-четырёх десятков ксо- рок надеятся на то, что хаккер устанет их хлопать в STS'е и бросит ломать "защиту". Но там, тобишь в STS'е, есть режим "TRACE", который позволяет па- раллельно чаепитию ковырять ка- кое-нибудь дерьмецо... Как круто (и это тоже повто- рение, но оправданное) выглядит защита на Чёрном Вороне. Мастер- ски завуалированые считалки контрольных сумм не допускают внесения изменений в алгоритм программы. Любые "приклеивания" вирусов или даже отключения "стационарных" считалок не дадут никаких результатов, так как вместе с некоторыми новыми игро- выми уровнями, догружаемыми с диска, приходят новые считалки, которые сверят свои контрольные суммы. Есть, конечно, и здесь недостаток - все контрольные суммы находятся в виде одного байта в основном алгоритме прог- раммы. Они идут вперемешку с системными переменными игры и отвечают только своей считалке. Таких считалок что-то около двадцати или чуть более. И ника- ких "перехлёстываний"! А если бы считалки контролировали раннее посчитаные КС, тогда хаккеру нужно вычислять очерёдность под- счёта контрольных сумм алгорит- ма, что затруднит общий взлом игры. Или на крайний случай (т.к. есть один немаловажный нь- юанс - стационарные пять счита- лок работают хаотически, т.е. вызываются к "работе" по совпа- дению нескольких условий дабы хаккер не сразу на них набрёл и вырезал) контролировать контрольные коды стационарок. А ещё лучше - я сделал бы именно так - приходящие считалки контролируют изменения алгоритма по КС, находящимся во вновь заг- руженом уровне. Сложность в та- ком случае представляет компрес- сировать игровые уровни таким же методом, как сделал автор. Мож- но, конечно, поизвращаться и с подбором подобного метода, и с его воссозданием, но всё это требует от хаккера лишних затрат времени, что влечёт за собой по- терю денег от левой реализации. В конечном счёте получится полу- рабочая версия игры или вообще изуродованая параша. Все "напряги" с установкой контрольных сумм и их проверкой сделаны в "Чёрном Вороне" по двум весьма важным причинам: 1. Второй диск имеет физическую защиту. 2. Второй диск имеет левый формат. Объясню подробнее. Все про- верки на формат, царапины и про- чие "штучки" делаются програм- мно. Обычно в слабозащищённых программах достаточно найти эти проверки, затем отключить и всё - shareware продукт. Здесь поп- робуй что-то изменить - максимум через 10 секунд всё погибнет. А менять то, собственно, особо и нечего - в loader'е замени нуме- рацию секторов, а в нулевой page откуси проверку на царапины - все проблемы закончены. Вот что- бы никто своими лапами там не лазил и стоит куча считалок. Очень и очень нравится мне формат второго диска на "Чёрном Вороне"!!! До сих пор, как ни прискорбно сие сообщить, я поня- тия не имею о способе установки нумерации секторов кодами #F5, #F6, #F7. Дело в том, что данные байты воспринимаются ВГ'шкой как команды при форматировании, поэтому для нумерации секторов они "запрещены". Но русский ум круче всех умов в мире!!! Мы нашли способ их туда ставить. Осталось дело за малым - узнать данный способ. У меня есть пара подозрений на этот счёт, но вви- ду отсутствия свободного времени в должном объёме для проведения экспериментов я до сих пор не имею определённого понятия на этот счёт. Если кто имеет более- менее достоверную информацию по этому поводу - пиши мне сейчас же!!!!!!!!!!! Второй метод защиты не хуже первого - царапины на диске. Ну это нам по зубам:))) Сначала бе- рётся диск и форматируется. Ну, например, на 720 килобайт под MS-DOS. Размер сектора 512 байт. Затем изобретается специальный царапающий станок. Способ нане- сения царапин: отверстие в диске для датчика вращения диска со- поставляем с таким же отверскием в самом диске. Затем наносим ца- рапину строго по середине в той прорези, где юзают головки дис- ковода. После нанесения царапины следует провернуть диск на неко- торое количество градусов в лю- бом направлении и повторить опе- рацию энное количество раз. Для точности прокручивания диска следует применять транспортир или что-то в этом роде. Короче, станок сам смастеришь. Царапать диск "от фонаря" тоже не сле- дует, т.к. теряется возможность проверить достоверность нанесе- ния царапины и её наличие вооб- ще. Царапина ОБЯЗАНА находиться на каком-либо секторе или же на конкретном номере или номерах, что более приемлемо с точки зре- ния точности и краткости провер- ки данной защиты. Теперь программная проверка на наличие царапины: допустим, что царапины должны быть на 2, 4 и 6 секторе. !СЛУЧАЙНЫМ! образом выбери один из этих номеров и сделай на него запись не ме- няющегося фрагмента алгоритма или чего-то ещё. Затем сразу же куда-нибудь считай с этого же сектора информацию и сверь 512 байт оригинала и считанного. Ты должен где-то обломиться. Если этого не произошло - царапины, тобишь твоей защиты, нет и в по- мине!!! Если облом произошёл раннее или позже установленых тобой границ - это подделка за- щиты!!! Границы легко вычислить при создании защиты - из 512 байт нормально будет считано, ну к примеру, 300/360. Таким обра- зом разброс составляет в среднем 25/40 байт для разных скоростей и прочих факторов, которые могут появиться у официальных дистри- бьютеров, распространяющих твою программу. Остаётся очень краси- во спрятать такую проверку в де- брях алгоритма и всё - хаккерам есть работа!!! Теперь ясно - почему мне не сильно охота тратить дисковое пространство в журнале на рас- сказы о чём-то примитивном и скучном после того, как разоб- рался с подобными шикарными штучками? Если хотите поделиться своими секретами по взлому или созданию защит - пишите - посмо- трим, подумаем, поламаем... --------------------------------