Автор: lsvmo , 29 октября 2007

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

Облазил форум, многие темы посвящены конкретной плате, а у меня вопрос следующий.

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

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

Пожалуйста, высказывайте мнения, Все интересно!!!

Содержимое данного поля является приватным и не предназначено для показа.

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-адреса преобразовываются в ссылки автоматически.

lsvmo

18 лет 4 месяца назад

<font color="#777777" size="1">BIB   Остальной системный BIOS уже не виден, там FF   .....  <font size="2"> <font color="#000000">Видит! Проверял! и сравнивал (на глазок середину и конец). А вот где-то (и есть подозрение, что во 2-ом 64-Кб сегменте) значения не прошивочные</font></font></font>

lsvmo

18 лет 4 месяца назад

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

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

2.  Strelets привел исходники BIOS... Я порылся и нашел один раздел здесь на форуме и несколько ссылок ( да неработающих) в инете, скачал архив на 6 Мб и еще пару ОЧЕНЬ старых BIOS... А вообще , как дела с исходниками??? 

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

lsvmo

18 лет 4 месяца назад

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

Strelets

18 лет 4 месяца назад

lsvmo

<font size="1">> Есть 3 непонятные вещи!!!!

</font>

У меня к Вам два вопроса.

1. Опишите решаемую задачу. Зачем Вам читать биос? Что Вы собираетесь с ним потом делать?

2. Как связаться с Вашим начальником? :)

lsvmo

18 лет 4 месяца назад

Strelets,


Вы почти правы, но немного не в том 

Задача миролюбивая, отчасти  исследовательская, и саморазвивающая :-)

И всё-таки есть ответы на 3 вопроса???

P.S. Постучался бы в аську, но не пользуюсь ею по ненадобности ( и небезопасности), если желательно через нее, то....

apple_rom

18 лет 4 месяца назад

Цитата:
И классическим методом успешно читаем прошивку.
Естественно, что при этом не удалось определить флешку.

Спасибо за эксперимент, возможно Вы правы и моё утверждение слишком абсолютно, т.к. базируется на опыте работы с прошивкой (а не чтением) в первую очередь.
Цитата:
Первая инструкция на архитектуре IA-32 всегда выполняется по адресу 0xFFFFFFF0, это определенно.

Так (определённо) было раньше, до P4/Athlon-систем. Сейчас же подобная определённость осталась лишь в даташитах - видимо, с одной стороны, чтобы не расстраивать привыкших, с другой, чтобы не перепечатывать кучи изданных букварей, с третьих, чтобы не объяснять, почему же это не так... ;)
Цитата:
Зачем Вам читать биос? Что Вы собираетесь с ним потом делать?

+1 :)

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

Baza

18 лет 4 месяца назад

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




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

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



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

BIB (не проверено)

18 лет 4 месяца назад

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

18 лет 4 месяца назад

Цитата:
как реализуется изменение reset-адреса

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

Baza

18 лет 4 месяца назад

А уж к какой GPIO ноге припаян write protect, вообще нигде не прочитать




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



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



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