Встраивание модифицированных модулей (в т.ч. ORIGINAL.TMP) в файл образа БИОС (AWARD)
реклама
(в т.ч. ORIGINAL.TMP)
в файл образа БИОС (AWARD)
Для того, чтобы записать обновленный ORIGINAL.TMP обратно в файл прошивки,
нужно:
1. Заархивировать его. Есть 2 способа:
а) архиватором LHA:
lha.exe a <ArchName> ORIGINAL.TMP
б) CBROM'ом:
CBrom207.exe <NulFile> /PCI <FileName>
-
* вместо /PCI может быть что угодно: /ACPI, /OEM0 ...
* <NulFile> любой файл, который не жалко (хоть нулевой длины)
* в результате CBROM ругается и подвиснет (это нормальная реакция на файл <NulFile>)
* жмем Ctrl+Break
* получаем нужный нам файл файл BIOS.ROM в текущей директории
2. В полученном архиве модифицировать с помощью HEX-редактора байты, находящиеся по следующим адресам:
а) сегмент и смещение (практически всегда равны 00h):
-
байт #0Fh=00h
байт #10h=00h
б) идентификаторы модуля:
-
байт #11h=00h
байт #12h=50h - идентификаторы основного образа;
(если архив создавался с помощью LHA, то по этим байтам обычно расположена ДАТА последней модификации файла)
в) и желательно ExtendedArea1, 2, 3 (=20h{OSID},00h,00h)
(если архив создавался с помощью LHA, то там обычно (=4Dh{MS-DOS},00h,00h))
г) если не устраивает регистр букв в названии файла, то можно изменить его;
можно также полностью сменить название на другое такой же длины;
3. Пересчитать (проверить) контрольную сумму заголовка (байт #01h).
Сделать это можно вручную или с помощью программки LhaHeaderViewer, последнюю версию которой всегда можно найти на моей персональной странице
LhaHdr01.exe BIOS.ROM
Программа не изменяет контрольные суммы, она их только отображает!
Все изменения придется делать вручную с помощью HEX-редактора.
В появившейся таблице:
-
Header CheckSum -- контрольная сумма, записанная в заголовке архива;
Real Header CheckSum -- настоящая контрольная сумма заголовка (та, что на самом деле)
Если это не так, то с помощью HEX-редактора заносим значение RealHeaderCheckSum по адресу байта (#01), соответствующего HeaderCheckSum.
4. Проверить полученный архив с помощью архиватора LHA:
-
lha t BIOS.ROM <-- если выдаст ошибку, то проблемы с CRC или ChkSum
lha -t BIOS.ROM <-- если выдаст ошибку, то проблемы с ChkSum
5. Далее подправленный архив BIOS.ROM (содержащий сжатый ORIGINAL.TMP) можно встраивать в файл образа БИОСа, как описано в статье apple_rom'a.
Правильность выполнения всех предыдущих этапов можно проверить, запустив, например:
CBrom207.exe <имя файла образа биос> /D
6. Если в биос встраивается модуль ORIGINAL.TMP, то в этом случае обязательно требуется рассчитать и подправить еще одну контрольную сумму.
(для остальных модулей этот пункт руководства не нужен)
Узнать эту сумму можно при помощи все той же утилиты:
LhaHdr01.exe BIOS.ROM
Интересующее нас значение будет находиться в последней строке под таблицей ( Whole Archive CheckSum). Его то и нужно внести с помощью HEX-редактора в файл образа биос сразу за модулем, содержащим сжатый ORIGINAL.TMP.
7. Важно не забыть поправить CRC всего файла образа БИОС с помощью CBROM v.2.07. Для этого нужно какой-нибудь модуль удалить и вставить обратно. Например:
-
CBrom207.exe <BiosFile> /ACPI extract
(на запрос об имени файла ввести ACPITBL.BIN)
CBrom207.exe <BiosFile> /ACPI release
CBrom207.exe <BiosFile> /ACPI ACPITBL.BIN
Если в файле БИОСа достаточно свободного места, то можно действовать в обратном порядке: что-нибудь вставить, а затем удалить. Лично мне этот вариант больше нравится.
Благдарности:
Неоценимую помощь в создании этого минируководства оказала информация с DANGAN's Homepage.
Так же хочется поблагодарить участников форума ROM.BY за помощь, оказанную в изысканиях способа расчета контрольной суммы, упомянутой в пункте 6.
2004 г.
---
Обсудить эту и другие статьи/записи с моей персональной страницы можно в соответствующей ветке конференции.
реклама
Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Сейчас обсуждают