Март 08

Защита Бейсик-программ и… борьба с ней [1]

Автор: admin | Категория: Без рубрики | Опубликовано: 08-03-2010
Спонсоры этой страницы:
Печать бумажных пакетов schwarzkopf. Пакеты майка, производство полиэтиленовых пакетов, печать.

Эта тема уже поднималась в журнале, однако хотелось бы кое-что добавить. Рассмотрим вкратце все известные методы защиты.

Метод нулевых строк (N10/91r., N 3/92г.). В дополнение следует заметить, что в программе со всеми нулевыми строками не должно быть не только операторов GO ТО и GO SUB, но и операторов DATA…READ, FOR…NEXT.

Управляющие символы (N11/91 г.). Кроме символов смены атрибутов, могут быть применены и другие управляющие символы, например, CHR$8, CHR$22.

Защита от MERGE’"’. Если в программе будет строка с номером большим, чем 9999 или слишком длинная строка, то такую программу нельзя будет считать без запуска, т.е. с помощью оператора MERGE".

Изменение системных переменных. При изменении некоторых системных переменных. например, DF_SZ(23659), ERR_SP (23613), программу невозможно остановить —она сбрасывается или зависает при нажатии на клавишу "BREAK".

"Спрятанные числа". Этот метод усложняет понимание и изменение программы. Суть его в том, что числа, которые программист видит в листинге программы отличаются от тех, которые участвуют в работе самой программы. Как известно, каждое число в Бейсик-программе записывается дважды: как последовательность кодов входящих в него цифр, после чего следует байт 14, и как пятибайтная последовательность в удобной для интерпретатора форме. Первая запись числа применяется только при выводе листинга программы и при ее редактировании, ее можно изменить с помощью оператора РОКЕ.

Комментарии закрыты.