Безопасность ВС
Лабораторная работа №1
Выполнили: , ,
Гр. 5103
Преподаватель:
Задание: Используя W32DSM89 найти проверку условия в коде программы. Изменить исполняемый код таким образом, чтобы программа работала без анализа условия выхода.
Доп.задание: Создать условия для работы программы без модификации исполняемого кода.
Проверка условия в программе осуществляется в следующем фрагменте:
Таким образом, если не срабатывает условный переход, выполняется функция выхода (KERNEL32.ExitProcess), вызов которой расположен по адресу :004013ED. Для того, чтобы анализ условия не проводился, необходимо по адресу :004013E9 заменить команду условного перехода JNE (75 08) заменить на команду безусловного перехода JMP (EB 08). После данного изменения, при запуске программы функция выхода стала в любом случае “перескакиваться”.
Доп.задание:
Так как по условию задания программа должна корректно работать и без модификации исполняемого кода, значит можно создать внешние условия для её работы. Например, программа может проверять существование какого-нибудь файла или читать какой-нибудь ключ из реестра Windows. В любом случае, имя файла/ключа должно быть заранее определено, а значит мы можем найти его в таблице строк при дизассемблировании. Заглянув в эту таблицу, находим в ней подтверждение нашей догадки. Это путь к ключу в реестре:
“Software\Microsoft\Explorer\Parameters”
И имя ключа:
“Value”
Чтобы не осталось никаких сомнений, запустим утилиту regmon, которая отслеживает все обращения к реестру Windows. Проанализировав лог обращений при запуске программы, мы видим, что программа действительно обращается к данному ключу, но попытка его чтения заканчивается неудачей. Этого ключа не существует. Создадим его сами. Для этого напишем *.REG файл со следующим содержимым:
[HKEY_CURRENT_USER\Software\Microsoft\Explorer\Parameters]
"Value"=dword:00000001
Значение данного ключа должно быть ненулевым, как видно из проверки перед условным переходом, который отвечает за ”перепрыгивание” вызова функции выхода.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.