Изменение инженерного пароля

Никак не могу победить сабж.
Мать: GigaByte GA6OMM7E
Версия БИОС: Award Modular BIOS v6.00PG

Что делаю:

1. Сливаю прошивальщиком биос в файл.
2. В модбине изменяю Security Default Password на свой.
3. Прогоняю БиосПатчер-ом
4. Зашиваю FLASH840.EXE - шником

Результат:
AWARD_SW идет на ура....

Думал, что модбин не сохраняет результат. Изменил BIOS Message - сохранилось... А пароль не сохраняется...

Пробовал модбины:
modbin6.1.00.37, modbin6.1.00.37 - оба при попытке сохранить вываливаются с ошибкой.
modbin6.2.00.00beta - сохраняет, но рез-ат см. выше...

StarGaz0r писал(-а):

1. инженерного пароля у конкретного биоса может и не быть - нет кода проверки (определяется через директиву условного ассемблирования ifdef Support_AWARD_Default_Password) - изменять modbin'ном его бесполезно - как определить наличие - см. предположение в п.2

2. хеш мастер-пароля хранится в распакованном образе гланого модуля биос по смещению 1EC60 - всего 8 байт - если они первоначально раны 0 - большая вероятность что в коде биос не определен Support_AWARD_Default_Password и соответственно нет мастер-пароля

я так понимаю главный модуль - находится по смещению 20000?
распаковал его, им оказался - 6omm7e.bin
т.к. у меня AWARD_SW весьма и весьма неплохо проходит, предполагаю, что Support_AWARD_Default_Password у меня определена...:)

по смещению 1EC60 нашел:
22 F2 22 52 82 FA 72 F2

это и есть хеш?

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

да - он самый - хэш по умолчанию
MASTER_PASS_HASH DB 22h,0f2h,22h,52h,82h,0fah,72h,0f2h

Хмм... или я что-то не так делаю, или у биосов какой-то странный метод LHA - паковки...

1. СBROM.EXE говорит, что:

No. Item-Name: 0. System BIOS
Original-Size: 20000h(128.00K)
Compressed-Size: 142DDh(80.72K)
Original-File-Name: 6omm7e.BIN

2. Вырываю его из биоса в файл 6omm7e.lzh
3. lha.exe x 6omm7e.lzh - извлекаю 6omm7e.bin
4. lha.exe a 6omm7ex.lzh 6omm7e.bin - запаковывыю 6omm7e.bin в другой архив

кто-нить знает из-за чего это?
итог: 6omm7ex.lzh больше чем 6omm7ex.lzh на 1 байт, который равен FF. Мало того:

Сравниваются файлы


C:\TMP\qwe\6OMM7E.lzh
C:\TMP\qwe\6OMM7EX.LZH
------------------------------

000002> 2A > 4B
000010> 00 > F6
000011> 00 > 8B
000012> 00 > 9D
000013> 50 > A6
000018> 6F > 4F
000019> 6D > 4D
00001A> 6D > 4D
00001C> 65 > 45
000023> 20 > 4D

------------------------------
Всего 10 несовпадений

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

хе-хе - там заголовок разный получается у архива

вот в том-то и дело... и че теперь никак? shock

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

а cbrom'ом через /other [address] добавлять?

неа, он только в конец добавляет...

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

че-нить придумаем

StarGaz0r
Bizquit

Может пригодится программка

Вот ReadMe.rus к ней:

==BEGIN of ReadMe.rus================================================================

Встраивание модифицированных модулей


(в т.ч. ORIGINAL.TMP)
в файл образа БИОС (AWARD)
==========================

{ Неоценимую помощь в создании этого минируководства оказала информация с
homepage1.nifty.com/dangan/en/Content/Program/Java/jLHA/Notes/Level0Header... }

Для того, чтобы записать обновленный ORIGINAL.TMP обратно в файл прошивки,
нужно:

1. Заархивировать его. Есть 2 способа:

а) архиватором LHA:

lha a

б) CBROM'ом :

CBrom /PCI

(вместо /PCI может быть что угодно: /ACPI, /OEM0 ...)
любой файл, который не жалко (хоть нулевой длины)
в результате CBROM ругается и подвиснет
(это нормальная реакция на файл )
жмем Ctrl+Break
получаем нужный нам файл файл BIOS.ROM в текущей директории

2. В порлученном архиве модифицировать следующие байты (в HEX-редакторе):

а) #0Fh=00h #10h=00h
(если архив создавался с помощью LHA, то по этим байтам обычно расположено
ВРЕМЯ последней модификации файла)

б) #11h=00h #12h=50h - идентификаторы основного образа;
{ID остальных образов можно глянуть на:
rom.by/phpBB2/viewtopic.php?t=2079&postdays=0&postorder=asc&st... }

(если архив создавался с помощью LHA, то по этим байтам обычно расположена
ДАТА последней модификации файла)

в) и желательно ExtendedArea1,2,3 (=20h{OSID},00h,00h)
(если архив создавался с помощью LHA, то там обычно (=4Dh{MS-DOS},00h,00h))

г) если не устраивает регистр букв в названии файла, то можно изменить его;
можно также полностью сменить название на другое такой же длины;

3. Пересчитать и подправить ChkSum (байт #01h)
{вручную или с помощью моей программки:
cp.people.overclockers.ru/cgi-bin/dl.pl?id=1535&filename=myLHAhdr.rar }

4. Проверить полученный архив с помощью LHA:

lha t BIOS.ROM <-- если выдаст ошибку, то проблемы с CRC или ChkSum
lha -t BIOS.ROM <-- если выдаст ошибку, то проблемы с ChkSum

5. Далее подправленный архив с пожатым ORIGINAL.TMP можно встраивать в
файл образа БИОСа, как описано в статье { rom.by/biosedit.htm }
Единственное, чего там не нет, но что очень важно: как рассчитать байт CRC,
который расположен в файле биоса сразу же за пожатым ORIGINAL.TMP.
На форуме ROM.BY я спрашивал об этом местного Гуру.
{ rom.by/phpBB2/viewtopic.php?p=15149#15149 }
Но Гуру молчит, как партизан.
Либо блюдет профессиональную тайну, либо сам не знает, а использует какой-то
обходной путь, но стыдится в этом признаться.
Со временем может сам разберусь с этим проклятым CRC.
Может и не нужен он вовсе.
==END of ReadMe.rus================================================================

PS: Пункт 5 актуален, конечно же, только при добавлении ORIGINAL.TMP
PPS: Программа только показывает правильную контрольную сумму. Заносить его в файл придется вручную с помощью HEX-редактора.

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

Поскольку на мой вопрос на конфе Оверклокерсов уважаемый xKVtor не ответил отрицательно wink , привожу здесь выдержку из его поста в тамошней теме:

xKVtor писал(-а):
Все упирается в злополучный байт CRC. А пока неизвестен метод его расчета, можно было бы пойти другим путем.

Например, несложно написать программу-ревизор, которая проверяла бы содержимое CMOS-памяти и сравнивала бы его с эталоном.


Во время ПОСТ, если она находит отличие/отклонение, то немедленно исправляет его и принудительно ребутит компьютер.
Много места программка не займет -- всего то потребуется пересылать/читать байты по двум портам.
Ее можно было бы запихнуть в биос, оформив в виде дополнительного ROM-модуля.
Это даст возможность использовать ее на большинстве материнских плат практически без изменений.
Желательно предусмотреть откат, иначе любая мало-мальская необходимость в смене настроек биоса может потребовать перешивки хот-свапом. Откат можно реализовать способом, который я предлагал здесь. Его преимущества по сравнению с откатом по отсутствию клавиатуры: он проще (меньше кода), надежнее (потому что проще и нет зависимости от контроллера клавиатуры), безопаснее (злоумышленнику сложнее сбросить CMOS, чем вытащить клавиатуру).

Вот только кто бы взялся за реализацию этого CMOS-ревизора ?
Мысль, IMHO, достаточно интересная чтобы зажечь кого-нибудь... roll

- Ситчик веселенький есть?..
- Приезжайте, обхохочетесь!..

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

Содержание этого поля является приватным и не предназначено к показу.
  • Разрешённые 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.

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

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