рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Зміст звіту

Зміст звіту - раздел Образование, Дослідження коду програм 1. Постановка Задачі. 2. Блок-Схема Алгоритму Виконання Прикладу З Д...

1. Постановка задачі.

2. Блок-схема алгоритму виконання прикладу з детальним коментарем та описом роботи.

3. Лістинг програми та коментарі до всіх команд.

4. Рrint screen екрана 32-розрядного налагоджувача з виконанням програми та результатами виконання.

5. Висновки за результатами роботи.

 

Приклад 26.1.Написати програму на мові С++ з реєстрацією збереження ключа в програмі. Текст програми може бути таким, як наведено в лістингу 26.3.

 

Лістинг 26.3:

#include <iostream>

void main()

{

int password;

C:

system("cls");

std::cout << " Enter pssword " <<std::endl;

std::cin >> password;

if (password==12345)

{

std::cout <<"You entered a correct password"<< std::endl;

}

else

{

std::cout <<"You entered a wrong password"<< std::endl;

system("pause");

goto C;

}

system("pause");

}

 

Для програми з лістингу 26.3 отримати ехе-файл, при запуску якої виведеться повідомлення про регістрацію з вимогою ввести ключ. Якщо ключ співпадає із тим, що зберігається в програмі, то буде виведено повідомлення про реєстрацію програми. (рис. 26.2).

 
 

 


Якщо ж ключ введено невірний, то буде виведено відповідне повідомлення та меню про продовження роботи або вихід (рис. 26.3).

 
 

 

 


Щоб програма приймала будь-який ключ треба змінити її код у налагоджувачі. Відкриваємо ехе-файл у налагоджувачі OllyDbg (рис. 26.4).

 
 

 


При натисканні на функціональну клавішу F8 налагоджувач перейде на початок програми, вигляд якої наведено на рис. 26.5.

 
 

 

 


Натискаючи F8 починаємо покроково трасувати програму, поки не виведеться повідомлення про введення ключа. Ту команду, яка вивела відповідне повідомлення необхідно відмітити, тобто поставити контрольну крапку. Для цього, підводимо курсор на цю команду та натискуємо ліву клавішу мишки, а також функціональну клавішу F2. Адреса команди підсвітиться червоним кольором (рис. 26.6).

 

 

 

 

 
 
Рис. 26.6. Виділення команди виведення повідомлення

 


Після виділення цієї команди (як правило – команду call) знову перезапускаємо програму. Для цього натискаємо кнопку , а потім кнопку , або F9. Виконання програми зупиниться на цій виділеній команді. Входимо в цю команду натисканням кнопку F7. Натискуємо ще раз кнопку F7 (або F8) та в полі коментарів зразу видно команди, які відповідають за відповідні повідомлення (рис. 26.7).

 

 
 

 


Через декілька кроків буде порівняння введеного коду з заданим. Це команда переходу JNZ. Робимо подвійний клік на ній. З’являється вікно (рис. 26.8). Необхідно запам’ятати код цієї команди – 75 20.

 

 
 

 

 


Замінюємо цю команду на команду безумовного переходу JMP та перевіряємо адресу – чи правильно буде перенесено виконання програми (рис. 26.9). Якщо необхідно, то змінюємо й адресу.

 
 

 

 


Тепер треба „зашити” цей код у програму. Для цього скористаємося HEX-редактором XVI32, в який завантажуємо ехе-файл (рис. 26.10).

 
 

 


Викликаємо пункт меню Search і шукаємо 75 20.Замінюємо знайдений рядок на інший. Для цього натискаємо на кнопочку та змінюємо рядок (рис. 26.11).

 

 
 

 


Зберігаємо зміни, закриваємо редактор. Ця програма прийматиме будь-який ключ.

 

 

Література: Рисований О.М. Системне програмування [Текст]: підручник для студентів напрямку “Компютерна інженерія” вищих навчальних закладів. Видання друге: виправлено та доповнено – Х.: “Слово”, 2011. – 944 с.

 

– Конец работы –

Эта тема принадлежит разделу:

Дослідження коду програм

Дослідження коду програм... Мета заняття поглибити і закріпити знання з архітектури МП платформи х і навички його програмування...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Зміст звіту

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Эта работа не имеет других тем.

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги