ЗАЩИТА БЕЙСИК-ПРОГРАММ
Вообще говоря, коммерческие программы, которые
требуют защиты, обычно пишутся не на Бейсике. Но ради интереса немного
поговорим и на эту тему.
Простую (не защищенную) программу в любой
момент можно запустить, остановить, просмотреть, внести изменения
— в общем, сделать с ней все, что душе угодно.
Защита программы может происходить на трех
этапах. Во-первых, делают так, чтобы ее невозможно было загрузить в
память компьютера без специального загрузчика. Во-вторых, чтобы ее
нельзя было нормальным образом остановить (по Break'). И, в-третьих,
если уж ее остановили, то нельзя было бы ее просмотреть с помощью LIST.
От просмотра программы можно защититься,
расставив в ее тексте коды управления цветом, окрашивающие листинг в
одинаковый цвет тона и фона. Например, если после написания программы
вызвать на редакцию ее первую строку и нажать комбинацию клавиш
CS/SS+CS/7 (белый цвет тона), то строка «пропадет». После
ввода этой строки (Enter) бесцветным станет и весь текст программы.
Против принудительного останова программы при
нажатии клавиши Break (CS/Space) можно использовать ненормальную
реакцию интерпретатора Бейсика на отсутствие служебного экрана. Надо
только в системную переменную DF_SZ записать нулевое значение:
РОКЕ 23659,0
После нажатия Break компьютер должен
отреагировать на него выводом сообщения BREAK — CONT repeats на
служебный экран. Но не тут-то было. Дальше может быть все что угодно,
но только не просмотр листинга.
Информации, приведенной в данной главе, явно
недостаточно для обсуждения более изощренных способов защиты
бейсик-прог-рамм и, тем более, способов ее «взламывания».
Но мы надеемся еще вернуться к этому разговору в другой книге.