Настройки компьютера и операционной системы


Редактируем BIOS (Award Modular v.4.51) - часть 5


Последнее найденное “lh5” отбрасываем, так как видно даже по адресам, что это область бутблока. Чтоб найти конец awardext.rom, просто пролистываем прошивку после предпоследнего “lh5” до начала пустого места (заполнено “00” или “FF”).

00016E70: 11 85 2A F7-D0 82 2D 90-76 0A E6 27-39 FB FC 17 <Е*ў¦В-Рv0ц'9v№¦

00016E80: 5B EC 16 B0-C0 00FF FF-FF FF FF FF-FF FF FF FF [ь--L           

00016E90: FF FF FF FF-FF FFFF FF-FF FF FF FF-FF FF FF FF                 

Т.е. с 16E86h начинается пустое место, значит awardext.rom – 1507D-16E85h.

Если записать найденные куски кода в файлы, дать им расширение “*.lha”, то с помощью LHA (или любого другого «современного» архиватора) сможем их разархивировать и получить нужные нам файлы для просмотра/правки.

Теперь, подробно зная «скелет» прошивки нам не составит труда её разобрать и собрать. После наших (ваших;) исправлений, отредактированный файл original.tmp запаковываем с помощью LHA

(название архиву можно дать любое). В конец полученному “*.lha”-файлу дописываем предварительно сохранённый кусок кода 14DDB-16E85h, т.е. все остальные «модули» (в т.ч. байт CRC), кроме original.tmp. Это можно сделать с помощью любого hex-редактора или, например, выбрав “Append” вместо “Overwrite” в WindowsCommander-е. Таким образом получим новый «слепок» заархивированных «модулей». Его и записываем в начало файла прошивки (поверх имеющегося). Конечно, после наших действий изменится контрольная сумма, поэтому для того, чтоб пересчитать/перезаписать CRC полученной прошивки, просто открываем её в модбине и, ничего не изменяя, нажимаем “Update File”.

Если модбин при открытии не «возмутится», значит, всё было проделано правильно.

Мы рассмотрели алгоритм замены для 1Mbit-ных (128kB) биосов. Для 2Mbit- ных всё ещё проще, т.к. original.tmp лежит отдельно от других модулей:

Таблица 2. Структура и адреса для 2Mbit-ного (256kB) биоса.




Начало  Назад  Вперед



Книжный магазин