![]() Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Лабораторна робота ⇐ ПредыдущаяСтр 9 из 9
“Дослідження коду програм”
Мета заняття: – поглибити і закріпити знання з архітектури МП платформи х86 і навички його програмування; – придбати практичні навички в дослідженні коду програм з використанням АРІ-функцій під Win32 для МП платформи х86.
Постановка задачі Написати програми на мові асемблеру та знайти в ехе-файлах місця знаходження ключів регістрації програм: 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). Забиваем Сайты В ТОП КУВАЛДОЙ - Уникальные возможности от SeoHammer
Каждая ссылка анализируется по трем пакетам оценки: SEO, Трафик и SMM.
SeoHammer делает продвижение сайта прозрачным и простым занятием.
Ссылки, вечные ссылки, статьи, упоминания, пресс-релизы - используйте по максимуму потенциал SeoHammer для продвижения вашего сайта.
Что умеет делать SeoHammer
— Продвижение в один клик, интеллектуальный подбор запросов, покупка самых лучших ссылок с высокой степенью качества у лучших бирж ссылок. — Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта. — Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы). — SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание. SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Зарегистрироваться и Начать продвижение
Якщо ж ключ введено невірний, то буде виведено відповідне повідомлення та меню про продовження роботи або вихід (рис. 26.3).
Щоб програма приймала будь-який ключ треба змінити її код у налагоджувачі. Відкриваємо ехе-файл у налагоджувачі OllyDbg (рис. 26.4).
При натисканні на функціональну клавішу F8 налагоджувач перейде на початок програми, вигляд якої наведено на рис. 26.5.
Натискаючи F8 починаємо покроково трасувати програму, поки не виведеться повідомлення про введення ключа. Ту команду, яка вивела відповідне повідомлення необхідно відмітити, тобто поставити контрольну крапку. Для цього, підводимо курсор на цю команду та натискуємо ліву клавішу мишки, а також функціональну клавішу F2. Адреса команди підсвітиться червоним кольором (рис. 26.6).
![]()
Після виділення цієї команди (як правило – команду call) знову перезапускаємо програму. Для цього натискаємо кнопку
Через декілька кроків буде порівняння введеного коду з заданим. Це команда переходу JNZ. Робимо подвійний клік на ній. З’являється вікно (рис. 26.8). Необхідно запам’ятати код цієї команди – 75 20.
Замінюємо цю команду на команду безумовного переходу JMP та перевіряємо адресу – чи правильно буде перенесено виконання програми (рис. 26.9). Якщо необхідно, то змінюємо й адресу.
Тепер треба „зашити” цей код у програму. Для цього скористаємося HEX-редактором XVI32, в який завантажуємо ехе-файл (рис. 26.10).
Викликаємо пункт меню Search і шукаємо 75 20. Замінюємо знайдений рядок на інший. Для цього натискаємо на кнопочку
Зберігаємо зміни, закриваємо редактор. Ця програма прийматиме будь-який ключ.
Література: Рисований О.М. Системне програмування [Текст]: підручник для студентів напрямку “Комп’ютерна інженерія” вищих навчальних закладів. – Х.: “Слово”, 2010. – 924 с.
Сервис онлайн-записи на собственном Telegram-боте
Попробуйте сервис онлайн-записи VisitTime на основе вашего собственного Telegram-бота:— Разгрузит мастера, специалиста или компанию; — Позволит гибко управлять расписанием и загрузкой; — Разошлет оповещения о новых услугах или акциях; — Позволит принять оплату на карту/кошелек/счет; — Позволит записываться на групповые и персональные посещения; — Поможет получить от клиента отзывы о визите к вам; — Включает в себя сервис чаевых. Для новых пользователей первый месяц бесплатно. Зарегистрироваться в сервисе
|