Дизассемблирование BIOS

Вкратце попытаюсь обрисовать поставленную мне задачу: получить исходные коды модулей любого BIOS на ассемблере. Распаковывать модули проблемы не составляет, меня интересует как отделить код от данных в автоматическом режиме (т.е. программно) и найти точку входа. При этом как-то учесть перекрывающиеся блоки. Если у кого-нибудь есть хоть какие-нить соображения по этому поводу, напишите plz.

Аватар пользователя apple_rom

plz.

Аватар пользователя Root

соображение #1: использовать IDA. Sourcer/W32Dasm и пр. дизассемблеры отправляются отдыхать. Плюс иды в том, что она когда видит непонятный ей фрагмент не пытается угадать, что же там было, а спрашивает у юзера... У которого, конечно, интеллекта больше, чем у программы. Туда же - ИДА поддерживает скрипты... Удобно!:)


соображение #2: если подразумеваетя БИОСы у-в, зашитые в БИОС мамки в виде модулей, то есть смысл качать спеки на PCI Expansion ROM. Там будет описан формат этого дела, в т.ч. и точка входа.
соображение #3: в форуме давались исходники Авардовских БИОСов. Есть смысл поизучать их...

Аццкий ромбовод {:€
Я пока не волшебник - я только учусь! :-P

Подразумевается, что я буду подсказывать IDA где же нормпльный код, а надо, чтобы она сама это делала.
plz :)

Аватар пользователя apple_rom

Ждите биоскоммандера. Он это делает - генерит idc-файл для всех биосов.

apple_rom писал(-а):
Ждите биоскоммандера. Он это делает - генерит idc-файл для всех биосов.

А долго ждать? Может, готовые наработки скинешь? Мне голову снимут за эту работу, если ничего не получится :(

Аватар пользователя savely

[offtopic]Как меня умиляет эта детская непосредственность... Типа "у меня есть одна глобальная задачка, я за нее только сел, еще нефига не понимаю, но давайте-ка скидывайте мне все ваши наработки (которые годами разрабатывались и как правило используются в коммерческих проектах), а то мне голову снимут. А я вам спасибо скажу." Предваряя обиженный ответ - мне не жалко, но в таких случаях я предпочитаю либо работать на взаимовыгодной основе (т.е. у человека есть нужные МНЕ знания), либо поддерживать хорошие free-проекты (от которых мне тоже есть польза). Устраивать рассылки фирменных know-how первому встречному - уж увольте. [/offtopic]

Да, по делу - все, что можно было ответить на этот вопрос, уже сказано Root'ом. Учи скриптовый язык IDA, пиши скрипты. Хотя мое мнение - на 100% в общем случае задача нерешаема в мыслимые сроки.

А кому счас легко...

Аватар пользователя Pinczakko

savely_s писал(-а):
Как меня умиляет эта детская непосредственность... Типа "у меня есть одна глобальная задачка, я за нее только сел, еще нефига не понимаю, но давайте-ка скидывайте мне все ваши наработки (которые годами разрабатывались и как правило используются в коммерческих проектах), а то мне голову снимут. А я вам спасибо скажу." Предваряя обиженный ответ - мне не жалко, но в таких случаях я предпочитаю либо работать на взаимовыгодной основе (т.е. у человека есть нужные МНЕ знания), либо поддерживать хорошие free-проекты (от которых мне тоже есть польза). Устраивать рассылки фирменных know-how первому встречному - уж увольте.

lol

I guess mimicria hasn't grasp that yet.

Everyone is developing tool on their own for this stuff. I understand the reason for keeping the source code of such a tool propietary. This is big business, I know it very well coz I'm in the business as well lol

That's why I don't want to disclose mine. But the principle have been disclosed as articles and papers that everyone can learn from.

-- Human knowledge belongs to the world --
-- Знания людей принадлежат миру --

Статьи многоуважаемого Pinczakko а также Криса Касперски по поводу BIOS modding и IDA я проанализировал, так что утверждение "я за нее только сел, еще нефига не понимаю" немного неверно. Тем не менее согласен, что для меня подобная задача является первой, и знаний по этому вопросу не хватает. Я думал, что специалистам в данной области не так уж сложно поделиться или обсудить вместе некоторые непонятные лично мне вещи. А насчет обоюдной выгоды или free проекта могу сообщить только что сам делаю это по работе, т.е. за зарплату, и какой в конечном итоге получится продукт знает только мой шеф. Для чего это делается - для анализа кода BIOS на наличие недекларированных возможностей, такова конечная цель. Так что ЕСЛИ ЕСТЬ ЖЕЛАНИЕ помочь СОВМЕСТНО сделать подобный продукт, давайте его сделаем!

Аватар пользователя rgt

mimicria

Цитата:
Я думал, что специалистам в данной области не так уж сложно поделиться или обсудить вместе некоторые непонятные лично мне вещи.

Любезный, я пока что не увидел в Ваших сообщениях ни одного конкретного вопроса, на который можно было бы дать внятный ответ. Более того, есть у меня ощущение, что Вы и спрашивать то толком не умеете. В любом случае настоятельно советую воспользоваться ссылкой в ФАКе на перевод Smart Questions. Возможно после прочтения Вы научитесь по другому спрашивать, и ответы будете получать куда более приятные и содержательные, нежели в этой ветке.
P.S. Незнание Smart Questions не освобождает от ответственности за нарушение изложенных в нем принципов....

За несоответствие действительности Вашим о ней представлениям администрация форума ответственности не несет.

Аватар пользователя savely

To mimicria: Дополню rqt. Понимаете ли - чтобы мне поделиться моими знаниями - мне нужно написать ЗДЕСЬ ПЕРСОНАЛЬНО ДЛЯ ВАС статью не меньшую, чем статья Pinczakko (хотя на 90% повторяющуюся). После прочтения Вами этого мне нечем из теории с Вами делиться.

Практика - ну, Вы же прочитали Касперского! Насколько я знаю, по идовым скриптам есть 2 вещи - небольшой хелп и Касперский (название что-то вроде "Язык IDA"). И тут я Вам не могу помочь, ибо читал то же самое.

А кому счас легко...

Ленты новостей