KrNews
#09
18 мая 1999 |
|
Защита - Проблемы защиты и взлома программ.
─ ПРОБЛЕМЫ ЗАЩИТЫ И ВЗЛОМА ПРОГРАММ ─ (C) ALS'99 Вечная проблема ПО - это защита своей программной продукции от взлома, и копи- рования... На эту тему было написано достаточное количество статей и поэтому я раскажу об основных методах. Началось это, когда появились только первые защиты. Я тогда имел слабое пред- ставление о защитах и плохо разбирался в ассемблере. Но когда продавцы начали за- щищать свои диски меня это не очень уст- роило. Теперь при покупке диска ни я, ни мои друзья не могли переписывать программы. Сначала было трудно разбираться, прихо- дилось платить деньги за ANTIPROTECTоры, но потом затраты оправдали себя. Лично я доработал несколько защит, но послед- нюю ни один копировщик так и не копи- рует, а антизащиту написать на нее не просто, а все потому что используется метод RND. Совет: всегда при написании PROTECTора используйте метод RND, чтобы при защите каждого нового диска информация кодиро- валась по новому ключу. Ну и напишу еще пару советов. Самая главная проблема - это чтобы ваш заг- рузчик был полностью защищен от клавиши Magic(@) т.е. при нажатии на нее прог- рамма просто сбрасывалась или делала еще что либо. Следующее - это чтобы ваш бейсик заг- рузчик был хорошо защищен от просмотра. На данное время их защищают довольно круто и даже простое использование STSа может не помочь если вы не знаешь как работает защита. Все блоки должны раско- дироватьса с конца адреса и вверх при взломе их наиболее трудно ломать, так же при защите встречаются команды переб- роса типа LDIR когда один байт перебра- сывается сам на себя и в итоге изменяет себя же. Пример : 40000 #18 XXXX-не нужная информация 40010 LD HL,40000 LD DE,40001 LD BC,114 40019 #EDBO LDIR XXXX-не нужная информация Посмотрим на эту программу. Все ясно и понятно, но это вы так думаете ! При пе- реброске блока команда LDIR произведет переброску байтов до адреса 40019 и за- менит код #ED на то число которое нахо- дится в HL, в данном случае это число #18 и у нас уже в этом месте адреса стоит команда не LDIR а JR 39941 и прог- рамма переходит на этот адрес. Если же использовать STS в режиме отладки вы этого не получите почему думайте сами. Есть еще варианты, когда нужно чтобы дисковод не выключался -в противном случае программа зависнет или раскоди- руется не так как надо. Пожалуй на этом пока что все, т.к. у меня совершенно не хватает времени для дальнейшего рассказа, но я думаю, что к следующему номеру напишу более подроб- ную информацию как делать и ломать. time 23.33.10 date 23.04.99 Специально для KrNews Hacker Als
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября