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