Page 94 - 33
P. 94

3.8.5  Захист програм від несанкціонованого користування



                      Є багато способів, які забезпечують той чи інший ступінь захисту, але ми

              розглянемо найбільш прості, що можуть бути здійснені в рамках вже відомого

              матеріалу.

                      Команда  LIST  .  Розміщення  цієї  команди  на  початку  програми  робить

              неможливою  роботу  програми,  бо  при  запуску  (F2)  кожного  разу  буде

              виконуватись  вивід  тексту  програми  на  екран.  Розміщення  цієї  команди  десь

              усередині програми призведе лише до часткового виконання операцій, після чого


              знову  почнеться  вивід  тексту  на  екран.  Нормальне  функціонування    програми
              буде відновлено тільки після видалення команди LIST. Для цього треба набрати


              номер рядка з цією командою  і натиснути клавішу ENTER.
                      Команда GOTO.  Цією командою можна порушити нормальний порядок


              виконання програм. Так, наприклад, направивши програму з будь-якого місця на

              її  кінець,  ми  робимо  неможливим  виконання  команд,  що  розташовані  нижче.

              Якщо  ж  спрямувати  перехід  на  власний  номер  рядка,  то  ми  зробимо

              зациклювання,  наприклад,  50  GOTO  50.  Для  відновлення  нормальної  роботи

              також слід видалити цю збурювальну команду. Для захисту можна використати

              команду  GOTO,  змінивши  адресу  переходу  (наприклад,  на  початок  програми).

              Тоді для відновлення достатньо виправити адресу.

                      Команда RUN. Це – команда на виконання. Якщо без адреси, то програма

              починає  виконуватись  спочатку  (аналогічно  натискуванню  клавіші  F2);  якщо  з

              адресою  (наприклад,  RUN  100),  то  починаючи  із  вказаного  рядка.  Це  можна

              використати  для  порушення  нормальної  послідовності  операцій.  Наприклад,

              розміщення  команди  RUN  без  адреси  усередині  програми  (припустимо,  перед

              виводом  результатів)  призведе  до  повернення  на  початок,  тобто  відбудеться

              своєрідне  зациклювання  без  можливості  побачити  результати  розрахунків.

              Цікаво, що якщо спочатку програми до команди RUN немає команд PRINT або

              INPUT, на екрані взагалі нічого відбуватись не буде. А якщо першою є команда

              CSL, то користувач буде бачити лише темний екран.

                                                              94
   89   90   91   92   93   94   95   96   97   98   99