Главная · Поиск книг · Поступления книг · Top 40 · Форумы · Ссылки · Читатели

Настройка текста
Перенос строк


    Прохождения игр    
SCP 090: Apocorubik's Cube
SCP 249: The random door
Demon's Souls |#15| Dragon God
Demon's Souls |#14| Flamelurker

Другие игры...


liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня
Rambler's Top100
Образование - Долгин А.Е. Весь текст 223.76 Kb

Как защитить информацию (пособие по борьбе с хакерами)

Предыдущая страница Следующая страница
1 ... 5 6 7 8 9 10 11  12 13 14 15 16 17 18 ... 20
строке EXEB прерывания (int ??). Схематично последовательность работы
EXEB представлена на рис. 7.1 - 7.3.
     После запуска задача EXEB выдает на экран сообщение о готовности
и ожидает нажатия любой клавиши. В этот момент пользователь при
желании может вставить дискету в дисковод (при исследовании задачи,
имеющей защиту по ключевой дискете).
                   ОСОБЕННОСТИ РАБОТЫ И НЕДОСТАТКИ
     Результирующая задача TASK.EXE не всегда способна воспринять
командную строку, указанную в аргументе  при ее создании.
     TASK.EXE должна запускаться примерно в той же среде, где она была
создана (объем свободной оперативной памяти). В случае какого-либо
несоответствия на экран выдается сообщение об этом и TASK.EXE
прекращает работу.
     Так как EXEB "снимает" в файл TASK.EXE практически всю
оперативную память, то его объем может быть очень большим. Для
уменьшения размера TASK.EXE можно использовать утилиту CHSIZE, формат
запуска которой вы можете выяснить запустив ее без аргументов.

                    СХЕМА РАБОТЫ ПРОГРАММЫ EXEB.EXE
        ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД¬
        ¦                                                             ¦
        ¦          ЗАХВАТ ПРЕРЫВАНИЯ И ЗАПУСК ЗАДАЧИ                  ¦
        ¦                                                             ¦
        ¦                               ЪД<¬                          ¦
        ¦                               ¦  ¦2                         ¦
        ¦ ДВДДДДДДДДДДДДДДДДДДДДДДВДДДДДДВДБДДДДДДДДДДД¬ 1) Захват    ¦
        ¦  ¦     a.exe     int 10 ¦вирус ¦ EXEB        ¦  обработки по¦
        ¦ ДБДДДДДДДДДДДДДДДДДДДДДДБДДДДДДБДДДДДДДДДДДДДЩ  10 вектору. ¦
        ¦  ДД>ДДДДДДДДДДД>ДДДДДДДДДДДД>ДДДДДДДДЩ         2) Запуск    ¦
        ¦          10 вектор        1                    задачи a.exe.¦
        ¦                                                             ¦
        ¦                      рис. 7.1                               ¦
        ¦                                                             ¦
        ¦                                                             ¦
        ¦                 ПЕРЕХВАТ УПРАВЛЕНИЯ                         ¦
        ¦                                                             ¦
        ¦ ДВДДДДДДДДДДДДДДДДДДДДДДВДДДДДДВДДДДДДДДДДДДД¬              ¦
        ¦  ¦     a.exe     int 10 ¦вирус ¦ EXEB        ¦              ¦
        ¦ ДБДДДДДДДДДДДДДДДДДДВДДДБДДДДДДБДДДДДДДДДДДДДЩ              ¦
        ¦                     ¦                ¦                      ¦
        ¦                     АД>ДДДДД>ДДДДД>ДДЩ                      ¦
        ¦                                                             ¦
        ¦                      рис. 7.2                               ¦
        ¦                                                             ¦
        ¦                                                             ¦
        ¦          ЗАПИСЬ СОДЕРЖИМОГО ПАМЯТИ В ФАЙЛ                   ¦
        ¦                                                             ¦
        ¦  ДВДДДДДДДДДДДДДДДДДДДДДДВДДДДДДВДДДДДДДДДДДДД¬             ¦
        ¦   ¦     a.exe     int 10 ¦вирус ¦ EXEB        ¦             ¦
        ¦  Д†ДДДДДДДДДДДДДДДДДВДДДДБДДДДДДБДДДДДДДДДДДДДЩ             ¦
        ¦   є                 є                                       ¦
        ¦   є                 є                                       ¦
        ¦   ИНННННННННННННННННКННННД> TASK.EXE (дискета)              ¦
        ¦                                                             ¦
        ¦                       рис. 7.3                              ¦
        АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

                        8. ПРОВЕРКА УСВОЕННОГО
     Если вы внимательно прочитали весь предшествующий материал, то
справиться с двумя головоломками будет несложно. Если же задания
оказались вам не под силу, вновь проштудируйте статьи.

                            ГОЛОВОЛОМКА 1
      На рис. 8.1 приведена программа, которая не работает под
отладчиком в пошаговом режиме. Проверьте это, оттранслировав и
запустив ее, например, под Turbo Debugger. Нажимая клавишу F8 (без
захода в п/п), благополучно доберетесь до ее конца. Если же попробуете
пройти программу в потактовом режиме (клавиша F7), с заходом в
подпрограмму "DEL", то после выполнения оператора STOSW продолжение
будет невозможно. Почему?

                            ГОЛОВОЛОМКА 2
     Программа на рис. 8.2 также не работает в пошаговом режиме, но
причина здесь иная. В чем тут дело?

                            ГОЛОВОЛОМКА 1
        ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД¬
        ¦ cseg        segment para public 'code'                     ¦
        ¦         assume cs:cseg                                     ¦
        ¦ exam        proc                                           ¦
        ¦ start:                                                     ¦
        ¦         jmp        frwd                                    ¦
        ¦ del:                                                       ¦
        ¦                 pushf                                      ¦
        ¦                 cld                                        ¦
        ¦                 mov        ax,cs                           ¦
        ¦                 mov        es,ax                           ¦
        ¦                 rep        stosw                           ¦
        ¦                 popf                                       ¦
        ¦                 ret                                        ¦
        ¦ frwd:                                                      ¦
        ¦         push        cs                                     ¦
        ¦         pop        ds                                      ¦
        ¦         mov        cx,12                                   ¦
        ¦         mov        di,offset start                         ¦
        ¦         call        del                                    ¦
        ¦         mov        dx,offset msg                           ¦
        ¦         mov        ah,9                                    ¦
        ¦         int        21h                                     ¦
        ¦         mov        ax,4c00h                                ¦
        ¦         int        21h                                     ¦
        ¦ msg        db 'Hellow, boys!',0ah,0dh,'$'                  ¦
        ¦ exam        endp                                           ¦
        ¦ cseg        ends                                           ¦
        ¦         end        start                                   ¦
        АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

                               рис. 8.1


                            ГОЛОВОЛОМКА  2
        ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД¬
        ¦ TEXT:       segment byte public 'CODE'                     ¦
        ¦         assume cs:TEXT                                     ¦
        ¦         org 100h                                           ¦
        ¦                                                            ¦
        ¦ start:        mov        dx,offset prv                     ¦
        ¦         mov        ah,9                                    ¦
        ¦         int        21h                                     ¦
        ¦         db        2eh                                      ¦
        ¦         pushf                                              ¦
        ¦         pop        ax                                      ¦
        ¦         sahf                                               ¦
        ¦         mov        ah,9                                    ¦
        ¦         jb        Glk                                      ¦
        ¦         mov        dx,offset mes1                          ¦
        ¦         int        21h                                     ¦
        ¦         mov        ax,4c00h                                ¦
        ¦         int        21h                                     ¦
        ¦ Glk:                                                       ¦
        ¦         mov        dx,offset mes2                          ¦
        ¦         int        21h                                     ¦
        ¦         mov        ax,4c01h                                ¦
        ¦         int        21h                                     ¦
        ¦                                                            ¦
        ¦ prv        label byte                                      ¦
        ¦         db 'dbtest',0ah,0dh,024h                           ¦
        ¦                                                            ¦
        ¦ mes1        label byte                                     ¦
        ¦         db 'Ok',0ah,0dh,24h                                ¦
        ¦                                                            ¦
        ¦ mes2        label byte                                     ¦
        ¦         db 'Trace',0ah,0dh,24h                             ¦
        ¦                                                            ¦
        ¦ TEXT        ends                                           ¦
        ¦         end start                                          ¦
        АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ

                               рис. 8.2


                      9. АНОНС ВМЕСТО ЗАКЛЮЧЕНИЯ

     Второй номер компьютерного приложения к журналу
"Техника-молодежи" продолжит тему защиты информации. В нем будут даны
ответы на некоторые вопросы по вирусологии, возникающие у неискушенных
пользователей, состоится знакомство с программами-отладчиками и
детально описаны способы защиты исполняемых модулей от исследования:
  - вирусы и их функции;
  - отладчики: состояние, перспективы; как "доработать" имеющийся
отладчик;
  - библиотека подпрограмм для защиты исполняемого кода от
исследования;
  - распределенные программные модули; генерация исполняемого
кода;
  - программный замок с псевдослучайным ключом;
  - DLOCK ver 3.0;
  - рекомендации по защите программ для ПЭВМ типа "Enterprisse" и
"Spectrum" ("Синклер");
  - квалификационная тест-программа.
  Дискета, как всегда, содержит исполняемые модули и исходные тексты
программ на Ассемблере, Си, Бейсике.

     Подписаться на оптовую поставку компьютерного приложения можно в
редакции журнала "Техника-молодежи" (125015, Москва, Новодмитровская
ул., д. 5а, тел. 285-16-87, 285-89-80), приобрести единичные
экземпляры - там же или у наших диллеров (у которых Вы купили первый
выпуск).

                                        Приложение 1

               СЛОВАРЬ ТЕРМИНОВ

Аномалии МП - специфические особенности выполнения некоторых команд
            микропроцессора.

Байт - единица информации, в системе MS DOS байт может принимать
            значения кодов от 0 до 255, 2 байта составляют машинное
            слово (значение от 0 до 65536).

Блок (подпрограмма, процедура) - часть программы (хранящаяся на диске
            внутри .EXE файла), имеющая собственный набор команд и
            данных, и предназначенная для выполнения некоторых
            действий с последующей передачей управления тому блоку
            основной программы программы, который ее вызвал.

Дизассемблер - программа, позволяющая получить текст других программ
            на языке ассемблер.

Дисперсия - мера рассеяния значений случайной величины около ее
            математического ожидания.

Драйвер - (англ. "водитель") резидентная программа, постоянно
            находящаяся в оперативной памяти и активизирующаяся от
            соответствующего прерывания, обработка которого за ней
            закреплена. В отличие от других резидентных программ,
            драйвер, как правило, создается для сопровождения одного
Предыдущая страница Следующая страница
1 ... 5 6 7 8 9 10 11  12 13 14 15 16 17 18 ... 20
Ваша оценка:
Комментарий:
  Подпись:
(Чтобы комментарии всегда подписывались Вашим именем, можете зарегистрироваться в Клубе читателей)
  Сайт:
 
Комментарии (4)

Реклама