Оконные сообщения, входящие в Piugin_dig_proc, Обрабатываются оператором Switch, И по результатам обработки предпринимается соответствующее действие. Один из «обработчиков» этого большого оператора Switch Осуществляет полуавтоматический анализ двоичного файла Award BIOS. Вы сможете самостоятельно разработать такой анализатор двоичных файлов BIOS после прочтения Главы 5, посвященной рассмотрению основных концепций анализа двоичного кода BIOS. Анализатор запускается нажатием кнопки Analyze в пользовательском интерфейсе модуля. Рассмотрим механизм работы этой кнопки. Как видно из листинга 2.7, Оконная процедура диалогового окна называется Plugin_dlg_proc. В этой функции имеется обширный оператор Switch, Который проверяет тип поступающих Оконных сообщений. В случае оконного сообщения Wm_command, т. Е. при нажатии кнопки, параметр Low_word wparam Оконной прогедуры будет содержать Resource_id Соответствующей кнопки. Этот параметр используется для определения кнопки Analyze, как показано. По нажатию кнопки выводится новое диалоговое окно. Это окно создается необычным образом — вызовом экспортируемой функции IDA Pro AskUingForm_c. Определение этой функции можно найти в файле Kemwin. hpp, Который находится во вложенной папке include установочного каталога IDA Pro SDK. В этом диалоговом окне пользователю предлагается ввести начальный и конечный адреса подлежащей анализу области двоичного файла, загруженного в IDA Pro. При нажатии кнопки ОК, Начальный адрес и Конечный адрес передаются Функции Anaiyze_binary В качестве входных параметров. Функция Апаlyze_binary Анализирует дизассемблированный двоичный файл BIOS в текущей открытой базе данных IDA Pro. Чтобы понять внутренние механизмы Работы этой функции, необходимо глубокое понимание принципов дизассемблирования BIOS. Данная функция сканирует Двоичный файл BIOS и дизассемблирует его на основании «двоичной сигнатуры», найденной в нем. Впоследствии, приобретя более полные знания обратной разработке BIOS, вы сможете разработать более эффективный анализатор.
Рубрика: Женский интерес