Молот и топор Shturmovik (Shturmovik@bk.ru) Хакер, номер #073, стр. 073-108-3 Тип напоминания Выше мы рассмотрели методы защиты программ на уровне регистрации. Однако в самом начале программирования платного софта надо определить, каким образом вынудить пользователя его купить. Это достигается общеизвестными приемами, ставшими уже стандартом: наг-окно, триальный срок, демо-версия и баннер. Понятное дело, что взломщик может даже и не заглядывать в форму регистрации и не разбираться в алгоритмах генерирования ключа. Намного проще превратить 30-дневный срок в бесконечный, убрать наг и т.д. Из всего вышеперечисленного для лучшей защиты я предпочитаю баннер. Баннер - вещь достаточно надоедливая, поэтому уже после нескольких дней работы пользователь (маловероятно, что он русский) будет вынужден купить злосчастную программу, дабы избавиться от проклятого изображения. Корень проблемы состоит именно в процедуре отображения баннера. Теперь нам предстоит выяснить, каким образом можно защитить код нашей функции. Первым делом в качестве профилактики и небольшого осложнения отладки необходимо поставить большую частоту обновления главного окна программы, в связи с чем отладчик будет ежесекундно сообщать о появлении нового окна (это затруднит вычисление места создания баннера). На протяжении всей статьи я не раз прибегал к услугам генератора случайных чисел и таймера. Да-да, я намекаю на то, что для правильной защиты баннер должен появляться не сразу при создании главного окна программы, а через некоторое время, выдаваемое генератором случайных чисел. Тут же я хочу рассказать и о так называемом методе вложенных процедур. Простой пример - это использование нескольких таймеров, которые запускаются при одних условиях, но только один-два из них отвечают за построение баннера. При вложенности процедур таймера будет очень сложно построить логическую цепочку работы программы. |