Автор: Crawler , 30 октября 2014
Здравствуйте, уважаемые друзья!

Материнская плата - ASUS P7F-M.

Я разбираю прошивку этой платы на составные части (зачем - не спрашивайте :) и описываю каждый из модулей, однако немногое известно по поводу модуля SLAB (0x1B). Перерыл весь гугл, выяснил, что распаковать SLAB можно при помощи ami_1b_splitter.exe из пакета ami_1b_utils. Однако описания конкретных модулей и структуры SLAB нигде нет.

Допустим, что я хочу посмотреть SLAB в IDA. Есть ли скрипты / методики загрузки отдельных модулей SLAB (или SLAB целиком)? Описан ли где нибудь состав / метод исследования SLAB? Иными словами - какие сегменты создавать, нужно ли что перемещать в памяти и так далее?


Кроме того, очень и очень интересует любая информация, касающаяся структуры, методов дизассемблирования AMI BIOS, а также инструменты (если таковые есть - помимо MMTOOL). Я работал с UEFI, а AMI BIOS для меня в новинку, буду рад любой помощи.

Искал русский перевод статьи "Pinczakko's Guide to AMI BIOS Reverse Engineering". Читаю ее на английском, удручает, хочется на русском :)


Заранее благодарю за помощь.

Добавление от 18.011.2014

Хотелось бы узнать, есть ли описание сегментов, входящих в SLAB (например, DIM_CSEG, SMI_AP2ENTRYSEG и так далее). Хотя бы приблизительное их назначение - нигде никакой информации.

Если же нет описания, хотелось бы узнать, есть ли скрипты для IDA, которые помогут разложить SLAB по памяти? :) Формат его в самых общих чертах мне знаком (заголовок, модули и т.д.).
Содержимое данного поля является приватным и не предназначено для показа.

BBCode

  • HTML-теги не обрабатываются и показываются как обычный текст
  • You may use the following BBCode tags:
    • [align]
    • [b]
    • [code]
    • [color]
    • [font]
    • [hr]
    • [i]
    • [img]
    • [list]
    • [quote]
    • [s]
    • [size]
    • [spoiler]
    • [sub]
    • [sup]
    • [table]
    • [u]
    • [url]
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.

uhci

11 лет 2 месяца назад

и как успехи ?

GetinakS

11 лет 2 месяца назад

Для работы с AMI есть пара полезных утилит, правда линуксовых, bios_extract и ami_slab (входят в стостав утилит coreboot). Оные позволяют раздербанить формат модуля 1B и написаны вполне понятным кодом, структуру можно выцепить оттуда. Взяв за основу этот исходник можно сделать и обратный запаковщик, мне хватило раздербана, остальное правил потом вручную.

uhci

11 лет 2 месяца назад

вопрос в том чтобы собрать из запакованного биоса распакованный образ как он располагается в RAM. Эти утилиты смогут это сделать?
Т.е. раскидать сегменты по физическим адресам чтобы потом дизассемблировать
В структуре слаба торчат адреса, по которых улетают эти модули. Такчто отреверсить и исследовать можно без особого гемороя. Вроде как ami_slab при распаковке писал, что куда грузилось бы.