Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
💸 Как сделать бизнес проще, а карман толще?
Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое раписание, но и напоминать клиентам о визитах тоже.
Проблема в том, что средняя цена по рынку за такой сервис — 800 руб/мес или почти 15 000 руб за год. И это минимальный функционал.
Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.⚡️ Для новых пользователей первый месяц бесплатно. А далее 290 руб/мес, это в 3 раза дешевле аналогов. За эту цену доступен весь функционал: напоминание о визитах, чаевые, предоплаты, общение с клиентами, переносы записей и так далее. ✅ Уйма гибких настроек, которые помогут вам зарабатывать больше и забыть про чувство «что-то мне нужно было сделать». Сомневаетесь? нажмите на текст, запустите чат-бота и убедитесь во всем сами! Лабораторна робота ⇐ ПредыдущаяСтр 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).
Якщо ж ключ введено невірний, то буде виведено відповідне повідомлення та меню про продовження роботи або вихід (рис. 26.3).
Щоб програма приймала будь-який ключ треба змінити її код у налагоджувачі. Відкриваємо ехе-файл у налагоджувачі OllyDbg (рис. 26.4).
При натисканні на функціональну клавішу F8 налагоджувач перейде на початок програми, вигляд якої наведено на рис. 26.5.
Натискаючи F8 починаємо покроково трасувати програму, поки не виведеться повідомлення про введення ключа. Ту команду, яка вивела відповідне повідомлення необхідно відмітити, тобто поставити контрольну крапку. Для цього, підводимо курсор на цю команду та натискуємо ліву клавішу мишки, а також функціональну клавішу F2. Адреса команди підсвітиться червоним кольором (рис. 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).
Зберігаємо зміни, закриваємо редактор. Ця програма прийматиме будь-який ключ.
Література: Рисований О.М. Системне програмування [Текст]: підручник для студентів напрямку “Комп’ютерна інженерія” вищих навчальних закладів. – Х.: “Слово”, 2010. – 924 с.
|