Универсальное чтение BIOS из BIOS

Решил вынести в отдельную тему, хотя может можно было кинуть в теоретические вопросы. Ну если что , перекинте... 

Облазил форум, многие темы посвящены конкретной плате, а у меня вопрос следующий.
Очень хочется просто прочитать BIOS. Не перезаписать, а просто прочитать. Да, уточнение, чтение на этапе загрузки, то есть осуществляется из кода BIOS платы расширения. Прочитав умные книги, выяснил, что как минимум у AWARD и AMI BIOS отображается на область памяти (FFFFFFFFh - объем чипа BIOS). То есть возникает резонное предположение о возможности просканировать эту область памяти и соответственно быть отправленным южным мостом в чип BIOS (хотя может он уже в этот момент туда и не отправляет). Однако где-то в этой области возникают непонятки, в смысле, то ли что-то там отображается из внутренних регистров чипа, то ли код распакованного BIOS меняется после каждой загрузки, но в этой области памяти некоторые участки изменяются при перезагрузке, хотя остальные совпадают с образом, скачанным с сайта производителя. Кстати, как отображается память BIOS у других производителей, в том числе IBM? Кто дизассемблировал, подскажите!
В общем, вопрос следующий. Как можно просто прочитать BIOS на этапе работы самого BIOS ( то есть при выполнении  BIOS платы расширения), можно ли разрешить чтение напрямую из флеш-биос путем программирования его регистров, можно ли как-то универсализировать эту процедуру, хотя бы в рамках одного производителя (используются может одни и те же регистры для разрешения чтения)??? Или это вообще гиблое дело???
Пожалуйста, высказывайте мнения, Все интересно!!!

BIB   Остальной системный BIOS уже не виден, там FF   .....   Видит! Проверял! и сравнивал (на глазок середину и конец). А вот где-то (и есть подозрение, что во 2-ом 64-Кб сегменте) значения не прошивочные

Есть 3 непонятные вещи!!!!
1.  Что такое вышеупомянутые хуки???  Это биосовские? Где про них читать? (Или это виндовские хуки.... )


2.  Strelets привел исходники BIOS... Я порылся и нашел один раздел здесь на форуме и несколько ссылок ( да неработающих) в инете, скачал архив на 6 Мб и еще пару ОЧЕНЬ старых BIOS... А вообще , как дела с исходниками??? 
3. И из второго вопроса вытекает следующий... ДОКУМЕНТАЦИЯ РАЗРАБОТЧИКА BIOS... Должна поставляться или предоставляться производителем чипсетов, да?  Как её найти... Заходил на сайты - не нашёл.... Или опять я, чёрт, не там искал...   Откуда она берется? Помогите, совсем я что-то запутался.... 

Братцы! Куда пропали....!

lsvmo
> Есть 3 непонятные вещи!!!!

У меня к Вам два вопроса.
1. Опишите решаемую задачу. Зачем Вам читать биос? Что Вы собираетесь с ним потом делать?
2. Как связаться с Вашим начальником?:)

Strelets,

Вы почти правы, но немного не в том 
Задача миролюбивая, отчасти  исследовательская, и саморазвивающая :)
И всё-таки есть ответы на 3 вопроса???
P.S. Постучался бы в аську, но не пользуюсь ею по ненадобности ( и небезопасности), если желательно через нее, то....

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

Цитата:
И классическим методом успешно читаем прошивку. Естественно, что при этом не удалось определить флешку.
Спасибо за эксперимент, возможно Вы правы и моё утверждение слишком абсолютно, т.к. базируется на опыте работы с прошивкой (а не чтением) в первую очередь.
Цитата:
Первая инструкция на архитектуре IA-32 всегда выполняется по адресу 0xFFFFFFF0, это определенно.
Так (определённо) было раньше, до P4/Athlon-систем. Сейчас же подобная определённость осталась лишь в даташитах - видимо, с одной стороны, чтобы не расстраивать привыкших, с другой, чтобы не перепечатывать кучи изданных букварей, с третьих, чтобы не объяснять, почему же это не так...;)
Цитата:
Зачем Вам читать биос? Что Вы собираетесь с ним потом делать?
+1:)

Всё-таки ещё раз посоветую автору глянуть вышеприведенную ссылку и основательно разобраться с имеющимися (и простыми для понимания) исходниками uniflash - в них есть большинство интересующих ответов на прозвучавшие вопросы.

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

3. И из второго вопроса вытекает следующий... ДОКУМЕНТАЦИЯ РАЗРАБОТЧИКА BIOS... Должна поставляться или предоставляться производителем чипсетов, да?  Как её найти... Заходил на сайты - не нашёл.... Или опять я, чёрт, не там искал...   Откуда она берется? Помогите, совсем я что-то запутался....




Обычно к каждому чипу прилагается:

Datasheet, Application notes, drivers & applications, bios porting guide, Reference Board Schematics & PCB.



ищется гуглом

Либо нечему гореть, либо нечем поджечь!

Baza:

Документация доступна, но к сожалению не всех производителей. А уж к какой GPIO ноге припаян write protect, вообще нигде не прочитать:(

Кстати есть еще базовая документация разработчика BIOS, вроде "PnP BIOS specification".



apple_rom:

   

Цитата:
Так (определённо) было раньше, до P4/Athlon-систем.




Я конечно могу не знать всех деталей, но логика подсказывает что reset vector может быть прошит только в некую non-volatile memory внутри процессора, т.к. ножек для аппаратного выбора у него нет. Поделитесь, пожалуйста, как реализуется изменение reset-адреса. (Насколько я знаю, этот адрес задается начальными значениями регистров = FFF0 в EIP и FFFF0000 в shadow-регистре для CS.)

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

Цитата:
как реализуется изменение reset-адреса
Характерный случай последствий от слишком доверчивого чтения а-ля "Аппаратные средства IBM PC" уважаемого М.Гука. Написанное в начале далёких 1990-ых, до сих пор, почему-то, считается набором не стареющих аксиом. Вкратце ответ до неприятности прост - "также, как и задаётся" - чипсетом.

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

BIB писал(-а):
А уж к какой GPIO ноге припаян write protect, вообще нигде не прочитать




это можно прочитать из схемы мат-платы:)



И насколько я себе представляю программирование железа в этом ключе, то это можно так-же понять раздизасмив код биоса и имея перед носом даташит на чипсет. (тут я могу заблуждаться, так что критика приветствуется:)  )



Так-же можно исходить из того, что разработчики люди ленивые и будут использовать те-же GPIO , что и в других моделях.

Либо нечему гореть, либо нечем поджечь!

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • You can use BBCode tags in the text. URLs will automatically be converted to links.

Подробнее о форматировании текста

Антибот - введите цифру.
Ленты новостей