Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
л.р.1-12.СПРГ-1(40, укр).doc
Скачиваний:
5
Добавлен:
27.08.2019
Размер:
2.33 Mб
Скачать

3.2.2. Розглянемо основні команди меню OllyDbg.

Меню File:

Open - відкрити файл;

Attach - приєднатися до вже запущеного процесу для налагодження;

Exit - вийти

Меню View:

Log - Переглянути інформацію про завантаження файлові й т. д. (Alt+L)

Executable modules - подивитися всі модулі, які використовуються в програмі, що налагоджується (Alt+E).

Memory - Переглянути карту пам'яті. Перший стовпчик - адреси, за якою завантажені різні секції файлові, DLL бібліотек Другий стовпчик - розмір у пам'яті секції. Третій стовпчик - звичайний назва модуля. Четвертий стовпчик - назва секцій. П'ятий стовпчик - що втримується в секції. Всі інші стовпчики не важливі, тому що в них відбиті атрибути секцій у пам'яті. При виконанні команди memory відкривається вікно, аналогічне нижній частині вікна CPU, у якому відображується вміст певної області пам'яті (Alt+M).

Threads - Подивитися всі потоки програми, заморозити їх, змінити їхній пріоритет, убити їх.

Windows - Переглянути інформацію про вікна, класи й т. д., що використовуються програмою.

Handles - Переглянути Handle.

CPU - Відкрити головешці вікно. (Alt+C)

SEH chain - Подивитися, поставити крапка зупину на всі оголошені SEH.

Patches - Переглянути список усіх змін, які Ви зробили в програмі, скасувати всі зміни й т. п. (Ctrl+P)

Call stack - Переглянути усі виклики виконання кодові в стеці. (Alt+K)

Breakpoints - Переглянути всі крапки зупину, відключити, видалити їх. (Alt+B)

Run trace - Переглянути лог трасування.

File - Шістнадцятирічний редактор файлів.

Меню Debug:

Run - запуск програми.

Pause - призупинити виконання програми.

Restart - перезавантажити програму, що налагоджується.

Close - закриття програми що налагоджується.

Step into - еквівалент F7.

Step over - еквівалент F8.

Animate into - еквівалент постійно натиснутої F7.

Animate over - еквівалент постійно натиснутої F8.

Execute till return - виконати програму до виходу з підпрограми.

Trace into - автотрасування із заходом у підпрограми.

Trace over - автотрасування без заходові в підпрограми.

Set condition - призначити умову для авто трасування.

Close ran trace - зупинити авто трасування.

Hardware breakpoints - перегляд hardware крапки зупинки.

Options:

Appearance - Настроювання інтерфейсу налагоджувана.

Just-in-time debugging - У даних настроюваннях, можна призначити Olly, як дебагер, що буде запускатися, коли яка-небудь програма викличе серйозну помилку.

Add to Explorer - додати в контекстне меню Explorer'a пункт для налагодження програми.

4. Завдання на лабораторну роботу.

  1. Описати в програмі (format pe) змінні усіх фундаментальних і логічних типів, розмістити в них довільні числа. Використовуючи усі основні способи адресації, розмістити значення змінних у пам'яті, регістрах МП та стеку. Проаналізувати дані отримані за допомогою OllyDbg.

  2. Описати в програмі (format pe) змінні відповідних типів і розмістити в них значення чисел із лабораторної роботи №1. Зробити висновки про правильність виконання лабораторної роботи №1.

  3. Поміняти місцями значення двох, трьох і чотирьох змінних розміром у байт, 2 байти і чотири байти за допомогою команд mov, xchg, push, pop. Навести алгоритм і програму для кожного із варіантів (3 алгоритми).

  4. Оголосити в програмі (format pe) одномірний масив:

а) із 10 однобайтних елементів прочитати в один з регістрів значення будь-якого елемента (непряма адресація по базі зі зсувом).

б) із 5 двохбайтних елементів.

Навести запис для команди mov. Дайте визначення масиву. У чому відмінність та схожість при роботі із варіантами 4. а та 4. б.?

  1. Оголосити в програмі (format pe) двомірний масив 5x5 із

а) із однобайтнихбайтних елементів

б) із двохбайтних елементів.

і прочитати в один з регістрів значення будь-якого елемента (непряма адресація по базі з індексуванням). Навести запис для команди mov. Дайте визначення двовимірного масиву. У чому відмінність та схожість при роботі із одномірними та двомірними масивами?

5. Методичні вказівки з оформлення звіту

Звіт до лабораторної роботи винний містити:

  • тему лабораторної роботи;

  • формулювання мети і задач, що вирішуються в ході виконання роботи;

  • докладний звіт про способи адресації;

  • докладний звіт про роботу із дебагером OllyDbg на прикладі використання команди mov.

  • докладний звіт про виконання завдань;

  • висновки.

6. Шаблон програми.

Шаблон призначений для розробки програми, що буде налагоджуватися у дебагері, а не виконуватися. У шаблоні опущено відповідні секції, що унеможливлюють його виконання.

Шаблон №1

format pe

start:

; код програми

ret

; місце для визначення даних

Шаблон №2

format pe

jmp start:

; місце для визначення даних

start:

; код програми

ret

7. Критерії оцінювання.

На 3 бали: уміти дати відповіді на питання для самоконтролю та самоперевірки. Виконати завдання 1,2

На 4 бали: додатково виконати завдання 3,4.

На 5 балів: додатково виконати завдання 5.

8. Питання для самоперевірки

Навіщо потрібна робота з налагоджувачем?

Як розміщуються змінні в пам'яті?

Що собою представляє одномірний масив?

Що собою представляє двомірний масив?

Як працювати з багатобайтними числами?

Назвіть, чим відрізняються команди “trace over” та “trace into”.

Назвіть сегментні регістри мікропроцесора і80х86 та їх призначення.

Назвіть види адресацій і наведіть приклади використовуючи команду „mov”

Назвіть, що власне відбувається у головному вікні дебагера.

При написанні програми на fasm, який формат файлу ви оберете і чому.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]