русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Лекция №8


Дата добавления: 2013-12-23; просмотров: 804; Нарушение авторских прав


 
 
 
4.
Программа
 
 
 
 
 

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

1 способ:

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

 
AF2534B8
 

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


 
 
 
AD34:F328

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

 

 

ПЗ

 

Int 21h

AD34:F328

Jmp

AF25:34B8

Old int 21h

 

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

 

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

Int 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 функцию.



<== предыдущая лекция | следующая лекция ==>
Прерывание. Обработка прерываний | Программирование последовательного порта


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 3.048 сек.