Главная страница
Навигация по странице:

  • Списать программу

  • Операционные системы 09.02.03 2 курс. Автономной некоммерческой образовательной организации профессионального образования


    Скачать 0.57 Mb.
    НазваниеАвтономной некоммерческой образовательной организации профессионального образования
    Дата17.02.2021
    Размер0.57 Mb.
    Формат файлаdoc
    Имя файлаОперационные системы 09.02.03 2 курс.doc
    ТипЛекция
    #177186
    страница9 из 20
    1   ...   5   6   7   8   9   10   11   12   ...   20

    Лекция №8

















    П рограмма


















    Л юбая программа, использующая 21h, может и изменять вектор, указывающий на какую-то область памяти, на адрес производной функции. Программа, которая ограничивает доступ, перехватывает 2 вида прерывания 13h и 21h ( прямое чтение записи секторов диска). Анализирует права, либо запрещает, либо разрешает доступ. Чтобы обойти: любая программа защиты – нужно каким-либо образом обойти защиту, определить истинный адрес данного вектора.

    1 способ:

    Устанавливаем int1 на свою программу обработки, затем режим пошаговой работы, а потом вызываем интегрирующую функцию (безопасную) – последние выполняемые команды всех программ, которые изменяли данный вектор прерывания, а затем обрабатывается программа обработки прерывания. После каждой команды будет вызываться функция, в которой анализируются наши прерывания.

    0




    AF2534B8




    21h имеет адрес AF2534B8
















    AD34:F328

    Система защиты установила в качестве обработчика прерывание 21h. Будет вызываться сначала функция по адресу.

    ПЗ
    Int 21h

    AD34:F328

    Jmp

    AF25:34B8

    Old int 21h
    Когда вместо …………………………………… приложение вызывает int 21h, т.е. будет вызываться функция в теле команды. Функция либо передает управление старшему адресу, либо нет. Злоумышленник должен при вызове int 21h должен попасть сразу на AF2534B8.

    Списать программу


    I nt 1




    Int 21




    Перехватив int1, выполняющее пошаговую работу, управление передано приложению. Надо пройти все команды. Управление сначала попадет в int 21. Команды попадают в приложение. Вызывается безопасная функция, выдача символов на экран (пример того, что выдает приложение). Доходим до перехода на адрес ……………………………………………………………………………………………………..

    Все стандартные обработчики имеет вход. Любое приложение может просканировать последовательность команд. Вместо вызова int 13h и int 21h можно делать переход на любой адрес.
    Для DOS:

    1. Для нахождения для нахождения адреса сегмента DOS нужно использовать недокументированную 34h и прерывание 21h, которое будет возвращать в регистрах ES и BX адрес так называемого флага активности DOS, расположенного в сегменте. Остается просканировать 64 КБ. Будет возвращать флаг активности.

    2. Можно вызвать недокументированную функцию 3, 12 и прерывание 2F, которое вернет в регистре DS адрес сегмента DOS.

    Косвенный вызов DOS: для её использования нужно поместить в регистр DS и DX указатель на массив системный регистров. В AX занести значение 5D00 и вызвать int 21h. При выполнении данной функции DOS заполнит регистры процессора значениями из массива и выполнит указанную в AX функцию.

    Программирование последовательного порта


    Изначально микросхема 8250 отвечает за программирование последовательного порта.

    Для доступа к последовательному порту существует базовый адрес (в ячейках 0040:0000 для COM1 и 0040:0002 для COM2).

    Для 0040 со смещением 1 – 1 порт.

    Для 0040 со смещением 2 – 2 порт.

    Базовый адрес для порт 1 – 3F8, 2F8.

    Микросхема имеет 10 программируемых однобайтовых регистров, которые занимаются инициализацией и передачей данных.

    3F8 – передает байт, если байт 7 в регистре 3FB равен 0. Из 3FB может читать байт. Регистр 3F8 является младшим делителем в скорости обмена при бите, установленном в регистре 3FB.

    3F7 – ……………………..

    3F9 – при установке бита 7 в 0 в 3FB – регистр разрешения прерывания.

    3FА – регистр идентификации прерывания

    3FВ – регистр управления линией

    3FС – регистр управления модемом

    3FD – регистр статуса линии

    3FE – регистр статуса модема

    Скорость обмена:

    Делитель скорости – число, на которое нужно разделить частоту системных часов для получения скорости обмена

    Частота системных часов – 100 190 000 Гц

    Скорость обмена:

    Минимальная – 110 бт\ с

    Максимальная – 115- 200 бт\ с

    ……………………………………………………………………………………………………………

    Для скорость 1200 – значения регистра 3F90.???????????
    Регистр контроля линии

    Биты 10 (один – ноль) задают длину символов. Можно закодировать 005……………………………….., 118……………….

    Второй бит – количество стопоковых бит.

    Если 0 – 1

    Если 1 – 2

    Бит четности:

    Если 0 – генерировать

    Если 0 – нет

    Тип четности: 0 – нечетный, 1 – четный.

    Фиксация четности заставляет бит четности быть либо 1, либо 0.

    Установка перерыва – данный бит приводит к передаче строке нулей.

    Бит 7 – меняет адреса ……………..
    Регистр статуса линии

    Установка бита 0 в 1 означает, что получен байт данных.

    Бит 1 – установка в 1 означает, что поученные данные перезаписаны.

    Бит 2 – установка в 1 означает, что произошла ошибка в четности

    Бит 5 – установлен в 1, когда регистр хранения передатчика пуст

    Бит 6 – установлен в 1, если регистр сдвига передатчика пуст

    Физические линии:

    1. DTR – готовность компьютера

    2. RTS – запрос на посылку

    3. DSR – готовность модема

    4. CTS – готовность к посылке

    5. DCD – обнаружен носитель данных

    6. RI – индикатор звонка

    Регистр статуса модема

    Бит 0 – устанавливает в 1: изменение CTS

    Бит 1 – устанавливает в 1: изменение в DSR

    Бит 2 – устанавливает в 1: изменение в RI

    Бит 3 – устанавливает в 1: изменение в DCD

    Бит 4 – устанавливает в 1: устанавливает сигнал в CTS

    Бит 5 – устанавливает в 1: устанавливает сигнал в DSR

    Бит 6 – устанавливает в 1: устанавливает сигнал в RI

    Бит 7 – устанавливает в 1: устанавливает сигнал в DCD

    При чтении данного регистра значения обнуляются.
    Регистр контроля модема

    Бит 0 установлен в 1, если готовность компьютера активна

    Бит 1 установлен в 1, если запрос на посылку активен

    Бит 4 установлен в 1, если мы хотим ………………………..
    1   ...   5   6   7   8   9   10   11   12   ...   20


    написать администратору сайта