Сообщите IDA Pro, что область памяти содержит таблицу указателей

У меня есть двоичный образ для встроенного процессора, где область памяти содержит несколько указателей на точки входа в двоичный файл. Это таблица векторов прерываний в двоичном формате, используемом ЦП. Как намекнуть IDA, что это за память, чтобы она использовала точки входа для своего анализа?


person nitro2k01    schedule 09.05.2013    source источник


Ответы (1)


Я предполагаю, что у вас уже есть настройка IDB с использованием правильного процессора для загруженного двоичного образа.

Если файл изображения является необработанным файлом (т. е. без заголовка), вы можете определить нижний/высокий пределы подозрительности адреса на вкладке Разборка в Параметры->Общие.

С этим набором вы можете установить первый элемент в этом векторе как смещение, поместив текстовый курсор на первый байт и нажав «O» или «Ctrl + O». Вы также можете нажать «Ctrl + R» для «определенного пользователем» смещения (открывает диалоговое окно с несколькими вариантами). Все различные смещения можно просмотреть в меню Правка->Тип операнда->Смещение->...

С первым набором элементов и текстовым курсором на нем вы можете нажать клавишу «*» на цифровой клавиатуре, чтобы создать фактический массив (при условии, что вы знаете, сколько элементов находится в векторе). Это должно применить одну и ту же информацию о типе операнда ко всем элементам в массиве. Так как в этом случае операнд является смещением, IDA должна (автоматически) попытаться дизассемблировать байты, на которые ссылаются.

Примечание: если значение элемента выходит за пределы подозрительности, оно не будет преобразовано в смещение.

Если это необработанное изображение, вы можете настроить некоторую информацию о сегментах (Shift + F7), если вы знаете, что двоичный файл содержит разделы чистого кода или чистых данных. Я не уверен, что упомянутая выше «автоматическая разборка» выполняется только тогда, когда класс сегмента определен как «КОД» или если это вообще имеет значение.

Примечание: вы всегда можете повторно запустить анализ, нажав значок цветного круга на панели инструментов (он должен быть зеленым, иначе IDA чем-то занят) или нажав «Повторный анализ программы» на вкладке «Анализ» в меню «Общие» -> «Параметры».

person kornman00    schedule 05.08.2013