Никак не могу победить сабж.
Мать: 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 - сохраняет, но рез-ат см. выше...
я так понимаю главный модуль - находится по смещению 20000?
распаковал его, им оказался - 6omm7e.bin
т.к. у меня AWARD_SW весьма и весьма неплохо проходит, предполагаю, что Support_AWARD_Default_Password у меня определена... :)
по смещению 1EC60 нашел:
22 F2 22 52 82 FA 72 F2
это и есть хеш?
MASTER_PASS_HASH DB 22h,0f2h,22h,52h,82h,0fah,72h,0f2h
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 несовпадений
Bizquit
Может пригодится программка
Вот ReadMe.rus к ней:
==BEGIN of ReadMe.rus================================================================
Встраивание модифицированных модулей
(в т.ч. ORIGINAL.TMP)
в файл образа БИОС (AWARD)
==========================
{ Неоценимую помощь в создании этого минируководства оказала информация с
http://homepage1.nifty.com/dangan/en/Content/Program/Java/jLHA/Notes/Level0Header.html }
Для того, чтобы записать обновленный 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 остальных образов можно глянуть на:
https://rom.by/phpBB2/viewtopic.php?t=2079&postdays=0&postorder=asc&start=30 }
(если архив создавался с помощью LHA, то по этим байтам обычно расположена
ДАТА последней модификации файла)
в) и желательно ExtendedArea1,2,3 (=20h{OSID},00h,00h)
(если архив создавался с помощью LHA, то там обычно (=4Dh{MS-DOS},00h,00h))
г) если не устраивает регистр букв в названии файла, то можно изменить его;
можно также полностью сменить название на другое такой же длины;
3. Пересчитать и подправить ChkSum (байт #01h)
{вручную или с помощью моей программки:
http://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 можно встраивать в
файл образа БИОСа, как описано в статье { https://rom.by/biosedit.htm }
Единственное, чего там не нет, но что очень важно: как рассчитать байт CRC,
который расположен в файле биоса сразу же за пожатым ORIGINAL.TMP.
На форуме ROM.BY я спрашивал об этом местного Гуру.
{ https://rom.by/phpBB2/viewtopic.php?p=15149#15149 }
Но Гуру молчит, как партизан.
Либо блюдет профессиональную тайну, либо сам не знает, а использует какой-то
обходной путь, но стыдится в этом признаться.
Со временем может сам разберусь с этим проклятым CRC.
Может и не нужен он вовсе.
==END of ReadMe.rus================================================================
PS: Пункт 5 актуален, конечно же, только при добавлении ORIGINAL.TMP
PPS: Программа только показывает правильную контрольную сумму. Заносить его в файл придется вручную с помощью HEX-редактора.
Мысль, IMHO, достаточно интересная чтобы зажечь кого-нибудь... :roll: