Модули AMI Bios
Хочу добавить совй код как модуль либо код в уже существующий модуль AMI BIOS.
Мат. Плата EliteGroup Via-P6 P4VVM2 (FC-478) Bios Date 01/24/03
e030123s.rom
(ecs.com.tw/ECSWeb/Downloads/ProductsDetail_Download.aspx?CategoryID=1&...(3.1)&MenuID=35&LanID=6)
Для просмотра содержимого биоса пользуюсь программой amibcp.exe 7.51.03 (554336Byte)
Я искал место куда могу вставить свой кусок кода. Для моих нужд самым приемлимым вариантом будет вставка кода как раз перед передачей управления на MBR(0000:7C00). Распаковав каждый модуль (c помощью amibcp) и порывшись я нашёл что считывание MBR происходит в модуле runtime.
И тут у меня возникает несколько вопросов:
0) Какой порядок исполнения модулей в AMI Bios.
1) может ли мой код повлиять/испортить выполнение BIOS(учитывая что я пользуюсь 4kb буфеом в памяти и могу ли я вообще использовать память на момент исполнения моего кода)
как мне стоить добавить этот модуль в файл прошивки (с помощью amibcp)
как dynamic либо с фиксированным адресом ка например у runtime.
Какой указывать адрес в случае выбора фиксированного участка загрузки чтобы выполнение моего кода не повлияло на работу других модулей.
2) Нужно ли придерживаться определённой структуры для написания своих модулей для ami (имя заголовок CRC и т д )
ну и часть репорта(amibcp) может кому что-нибуудь подскажет что делать в этом случае
AMIBIOS ROM Information Report Name:VIA_P6 ROM File:E030123S.ROM File:repo2.dat Thu Mar 24 18:39:38 2005 BIOS MODULES ------------ (those marked '>' are compressed module) BIOS Version : 0700 BIOS Date : 01/24/03 BIOS Tag : P4VMM2 BIOS Size : 256 Kb Module ID/Name RomLoc SourceSize SizeInRom %% RunLoc INIT F000:C000 04000(016384) 04000(016384) 00.00 ---- ---- NVRAM/ESCD F000:8000 04000(016384) 04000(016384) 00.00 ---- ---- AMD SIP ROM F000:7E00 00200(000512) 00200(000512) 00.00 ---- ---- >02 Runtime F090:0006 0A3E0(041952) 074E2(029922) 28.68 F000:5C20 08 Interface F01E:000C 00706(001798) 0071A(001818) 00.00 Dynamic >00 POST EB92:000E 05BD6(023510) 048BE(018622) 20.79 F000:0000 >03 DIM E831:0004 04E18(019992) 0361A(013850) 30.72 E000:B1E0 >04 Setup Client E5F2:0004 03898(014488) 023F0(009200) 36.50 Dynamic >01 Setup Server E3EF:000D 02F12(012050) 02027(008231) 31.69 F000:0000 06 DMI Data E3C0:0002 002E7(000743) 002FB(000763) 00.00 Dynamic >09 MP E385:0005 0048A(001162) 003AD(000941) 19.02 Dynamic >0A Notebook D9B4:000A 10000(065536) 09D0B(040203) 38.66 Dynamic >0D Int-13 D498:0009 06C95(027797) 051C1(020929) 24.71 Dynamic >0F ACPI Table D45E:0006 0988E(039054) 003A3(000931) 97.62 Dynamic >10 ACPI AML D31A:0002 02E31(011825) 01444(005188) 56.13 Dynamic >12 Configuration D289:0007 00A6A(002666) 0090B(002315) 13.17 Dynamic >13 DMI Code D1F2:000A 00BBA(003002) 0096D(002413) 19.62 Dynamic 11 P6 Micro Code CD70:000E 04808(018440) 0481C(018460) 00.00 Dynamic >3C UserDefined CD2B:0002 0059C(001436) 0045C(001116) 22.28 Dynamic >32 Image Dsiplay Code CD0B:000E 002FF(000767) 001F4(000500) 34.81 Dynamic >31 EPA / OEM Logo CC85:000A 011B1(004529) 00864(002148) 52.57 Dynamic 0C ROM-ID CC83:000E 00008(000008) 0001C(000028) 00.00 Dynamic >60 ASCII Font CC2F:0000 01000(004096) 0054E(001358) 66.85 Dynamic >52 Language 2 CB29:0008 0246A(009322) 01058(004184) 55.12 Dynamic >20 PCI AddOn ROM C467:000B 0C000(049152) 06C1D(027677) 43.69 8D04:5333 >20 PCI AddOn ROM C1B6:000B 04000(016384) 02B10(011024) 32.71 3065:1106 50 Default Language C1B2:0003 00034(000052) 00048(000072) 00.00 Dynamic 51 Language 1 C1AD:0005 0003A(000058) 0004E(000078) 00.00 Dynamic >2A UserDefined C15A:0003 0073F(001855) 00532(001330) 28.30 5000:0000 Bytes Used 03EA65 ( 256613) Bytes Free 00159B ( 5531)
P.S. Попутно собираю базу прошивок AMI , Phoenix и ASUS(преимущественно ноутбуков) для выковыривания оттуда заводских паролей(если таковые имеются).
C уважением Виктор.
Ok. Посмотрю что там внутри. Если разберусь , попробую написать обратную операцию компрессии, если не будет каких либо непонятностей с фиксированным местоположением модулей. Думаю для написания компрессора если будет предельно ясна структура(которую я попытаюсь выяснить сделав reverse анализ amideco) будет достаточно даже паскаля.
С уважением Виктор.
>Если б я шарил в асме, то попытался бы списаться с автором, а так ограничился только поковырянием...
Автор написал пакер для LZINT на базе исходников LHA.
а также LZHUF и LZINTUNF ...
Угу, именно...
А реальные биосы с оными назвать можно?
Подскажите пожалуста в чем беда, у меня AMI BIOS 08.00.14 (НОУТБУК X59SL, мать F5SL) хочу активировать скрытые нстройки. На родном диска нашел его но с именем F5SLAS.300 пробывал утилитами amibcp75103 и AMIBCP 76004 выдают "Module ID is not found", пробывал ставить расширение ROM таже ошибка. Такие вещи как AMIBCP 3.13, AMIBCP3.37, MMTOOL 3.12 запускаю но на любое дествие выдает "error 196". Я уже незнаю ето все ети проги "фуфло" или я многое непонимаю?
Для начала проверьте не установлен ли атрибут ReadOnly на ваш файл прошивки.
Потом - мать ваша (ноутбук) ASUS?
Думаю да Правда прямых ссылок на сайте нет, а жаль...
Оно?
support.asus.com/download/download.aspx?SLanguage=en-us&model=x59sl
Судя по количеству фиксов - тот ещё глюк в обёртке.
Какие скрытые настройки вы там ожидаете увидеть?
Думаю их там нет
AMI AMIBCP 3.13 ни одной скрытой настройки не показывает. Открывает BIOS нормально.
AMI MMTool 3.22 тоже открывает BIOS нормально.
Дрессируем коров
У меня AMI AMIBCP 3.13 и AMI MMTool 3.22 запускаются но вокне этих програм что ненажму выскакивает "error 196" исразу выбрасывает, единственная версия это AMI AMIBCP 225beta работае но BIOS не открывает. А вот как проверить и снять атрибут ReadOnly незнаю.
В скрытых настройках я ожыдал увидеть к примеру :
STANDARD CMOS SETUP
ADVANCED CMOS SETUP
ADVANCED CHIPSET SETUP
AUTO CONFIGURATION WITH BIOS DEFAULTS
AUTO CONFIGURATION WITH POWER-ON DEFAULTS
CHANGE PASSWORD
HARD DISK UTILITY
WRITE TO CMOS AND EXIT
DO NOT WRITE TO CMOS AND EXIT
У меня во вкладке "Advanced" кроме (предуприждения что изменение нстроек на штото там повпияет) по сути ничего нету, только информация о ЦП серым шрифтом в пункте CPU CONFIGURATION.
А вы когда открывали мой BIOS там что ничего этого небыло ?
В BIOS ноутбуков вы таких пунктов не найдёте, большинство ноутбучных БИОСов довольно узкопрофильные.
В вашем есть разделы (большинство не подразумевает изменений)
SETUP SCREENS
-------------
Main
Advanced
IDE Configuration
Primary IDE Master :
Primary IDE Slave :
Third IDE Master :
Third IDE Slave :
Fourth IDE Master :
Fourth IDE Slave :
Onboard Device configuration
CPU Configuration
Start Easy Flash
Security
TPM Security Clear
I/O Interface Security
Boot
Boot Settings Configuration
Boot Device Priority
Hard Disk Drives
Removable Drives
CD/DVD Drives
Exit
Save Changes and Exit
Discard Changes and Exit
Discard Changes
Load User Defaults
Всё это видно при помощи AMI AMIBCP 3.13 или 3.37
Дрессируем коров
Я наверное Вас расстрою, но там нет ни одного скрытого пункта, который можно было бы включить, все пункты видимые.
Аттрибут ReadOnly (только чтение) проверяется в проводнике Windows - правой кнопкой по файлу, Свойства, вкладка Общие там птички - первая так и называется Только чтение. При установленной на файле птичке (он ставится на все файлы, скопированные с CD/DVD) многие программы работы с BIOS работают неадекватно.
Дрессируем коров
Отправить комментарий