Иван Трещев - Безопасность вычислительных сетей. Практические аспекты
- Название:Безопасность вычислительных сетей. Практические аспекты
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:9785449894540
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Иван Трещев - Безопасность вычислительных сетей. Практические аспекты краткое содержание
Безопасность вычислительных сетей. Практические аспекты - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:

Рисунок 60 – Окно быстрого старта.
Выберем дизассемблирование нового файла. Загрузим на анализ любой exe. Далее появится окно, изображённое на рисунке 61.

Рисунок 61 – Загрузка файла на анализ.
Иногда после компиляции в файле остаётся отладочная информация. Тогда IDA покажет окно, изображённое на рисунке 62 с предложением загрузить отладочную информацию.

Рисунок 62 – Загрузка отладочной информации.
После окончания автоматического анализа IDA покажет графовое представление функции, где находится точка входа (если она найдена), либо первой функции в файле.
Кроме графового представления существует множество других важных вкладок, доступных в меню View-> subviews: шестнадцатеричное представление, список строк в файле, список имён из библиотек или отладочной информации, список импортированных функций и значений с указанием библиотеки.
Кроме того, в IDA существует возможность представить функцию в виде псевдокода, синтаксис которого копирует синтаксис языка программирования Си. Для просмотра функции в виде псевдокода нужно нажать клавишу F5.
1.2 Ручной анализ
Качественное отличие IDA Pro от других дизассемблеров – интерактивность. Пользователь может сам сообщать дизассемблеру дополнительную информацию.
Рассмотрим метод ручного анализа на практике. Часто бывает так, что IDA не может в автоматическом режиме найти функцию main, которая чаще всего является точкой входа. Эта функция принимает два обязательных аргумента: argc (количество аргументов) и argv (список аргументов). То есть можно косвенно предположить что если функция в программе работает с этими аргументами то она и есть main.
Откроем вкладку списка имён. Нажатием Ctrl+F включаем поиск по именам.
С помощью поиска находим имена _argv и _argc. В IDA Pro есть функция просмотра ссылок на объект. Выбираем _argc (или _argv), нажимаем клавишу X. Появляется окно ссылок.
1.3 Отладка
В составе IDA Pro дополнительно есть отладчик. Он позволяет пошагово выполнять программу, исследовать и модифицировать память во время выполнения программы.
Панель запуска отладки находится в верхней части окна, она изображена на рисунке 63. С её помощью можно запустить отладку, приостановить отладку, остановить отладку. Также можно выбрать отладчик (локальная машина, виртуальная машина, удалённая машина).

Рисунок 63 – Панель отладки.
Для исследования программы в нужном месте следует использовать точки остановы (breakpoints). Они устанавливаются с помощью панели, которая находится справа от панели отладки. Панель содержит стандартные функции по работе с точками останова.
При запуске программы она выполнится до точки остановы и будет ожидать дальнейших действий пользователя. Затем программу можно выполнять в таком же режиме (до следующей точки остановы), для этого нужно нажать кнопку запуска отладки. Либо можно исследовать программу, выполняя её пошагово. Для этого существуют команды step into (шаг со входом в функцию, F7) и step over (шаг без входа, F8).
Исследуя код можно заметить, что при некотором условии на экран будет выводиться строка та или иная строка. Также мы знаем, что за сравнения в языке ассемблера отвечает инструкция cmp. IDA позволяет редактировать программу в процессе выполнения. Для этого выбираем нужную часть кода, выбираем Edit -> Patch Program -> Assembly. И пишем нужную часть кода.
Конец ознакомительного фрагмента.
Текст предоставлен ООО «ЛитРес».
Прочитайте эту книгу целиком, на ЛитРес.
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.
Интервал:
Закладка: