(TD.exe) - відладчик.
Для зручного написання коду на мові асемблера використовувалося додаток Notepad + + - вільний текстовий редактор для Windows з наступними базовими можливостями:
підсвічування синтаксису;
згортання коду;
автодоповнення;
закладки;
регулярні вирази для пошуку і заміни;
запис і відтворення макросів;
порівняння файлів;
перевизначення будь-яких гарячих клавіш;
резервне копіювання файлів, що зберігаються;
автоматичне оновлення вмісту файлу при зміні його в зовнішньому редакторі.
програма дешифрация пароль додаток
В
Малюнок 2.1 Вид текстового редактора Notepad + +
3. Розробка алгоритмів
3.1 Алгоритм роботи шіфровщіка
В
Малюнок 3.1 Блок-схема алгоритму шіфровщіка
Структура розроблювального додатка, завантаженого в оперативну пам'ять, показана на малюнку 3.2. Так як код шіфровщіка не слід записувати в захищений виконуваний файл, код расшифровщика поміщається для зручності за молодшим адресами (на початку виконуваного файлу програми, що розробляється). Так як програма односегментної, її виконання починається зі зсуву 100h, отже, з цього зсуву необхідно помістити код переходу до процедури шифратора. Блок-схема алгоритму шіфровщіка наведена на малюнку 3.1. Код шіфровщіка виконується лише один раз в процесі створення захищеної програми і не копіюється у вихідний файл. Підрахувавши довжину початкового. Com файлу захищається програми, шіфровщікі обчислює адреса розміщення процедури дешифратора в створюваному виконуваному файлі і записує його восьмим і дев'ятим байтом у вихідний файл. Перші сім байтів - код для завантаження адреси переходу й сама команда переходу (див. рис. 3.3). br/>В
3.2 Алгоритм розшифровки образу захищеного програми
На початку захищеного файлу (див. рис. 3.3) знаходиться код переходу до процедури розшифровки, який при запуску. com файлу на виконання поміщається в пам'яті по зсуві 100h і виконується. Арес переходу зчитується по зсуві 107h. p align="justify"> Одержавши керування, процедура розшифровки копіює свій код в сьому сторінку відеопам'яті по правильному зміщення. Цей метод був опублікований О. Калашніковим у книзі "Асемблер? Це просто! "[1] і потрібен для налаштування адрес расшифровщика, який завантажується в пам'яті після коду способу захищеного програми за адресою, залежному від довжини образу. По завершенню копіювання коду процедури розшифровки в сьому сторінку відеопам'яті в стек заноситься адреса повернення і управління передається скопійованого кодом расшифровщика. Далі прог...