|
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
Другие статьи номера:
Похожие статьи:
В этот день... 18 ноября