Автор: Unknown BIOS (не проверено) , 3 апреля 2005
Модули AMI Bios

Хочу добавить совй код как модуль либо код в уже существующий модуль AMI BIOS.
Мат. Плата EliteGroup Via-P6 P4VVM2 (FC-478) Bios Date 01/24/03
e030123s.rom
(http://www.ecs.com.tw/ECSWeb/Downloads/ProductsDetail_Download.aspx?CategoryID=1&Typeid=1&detailid=140&DetailName=BIOS&DetailDesc=P4VMM2(3.1)&MenuID=35&LanID=6)

Для просмотра содержимого биоса пользуюсь программой amibcp.exe 7.51.03 (554336Byte)

Я искал место куда могу вставить свой кусок кода. Для моих нужд самым приемлимым вариантом будет вставка кода как раз перед передачей управления на MBR(0000:7C00). Распаковав каждый модуль (c помощью amibcp) и порывшись я нашёл что считывание MBR происходит в модуле runtime.
Но тут меня постиг небольшой обломс, потому-что этот модуль amibcp править не даёт(а алогритма паковки модулей в ami bios я на текущий момент не знаю - но вероятно через определённое время порывшись с idapro сумею его описать).
Поэтому я решил добавить уже свой кусок кода в модуль. Этот кусок кода у меня выполняет некоторые операции по работе с CMOS и HDD(cчитывание запись или точнее критовка раскриптовка критичной для меня информации) - код небольшой около 512 байт и я использую буфера в памяти для считывания/записи.

И тут у меня возникает несколько вопросов:
0) Какой порядок исполнения модулей в AMI Bios.
1) может ли мой код повлиять/испортить выполнение BIOS(учитывая что я пользуюсь 4kb буфеом в памяти и могу ли я вообще использовать память на момент исполнения моего кода)
как мне стоить добавить этот модуль в файл прошивки (с помощью amibcp)
как dynamic либо с фиксированным адресом ка например у runtime.
Какой указывать адрес в случае выбора фиксированного участка загрузки чтобы выполнение моего кода не повлияло на работу других модулей.
2) Нужно ли придерживаться определённой структуры для написания своих модулей для ami (имя заголовок CRC и т д )

ну и часть репорта(amibcp) может кому что-нибуудь подскажет что делать в этом случае
[code:1] 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)[/code:1]


P.S. Попутно собираю базу прошивок AMI , Phoenix и ASUS(преимущественно ноутбуков) для выковыривания оттуда заводских паролей(если таковые имеются).

C уважением Виктор.
Содержимое данного поля является приватным и не предназначено для показа.

BBCode

  • HTML-теги не обрабатываются и показываются как обычный текст
  • You may use the following BBCode tags:
    • [align]
    • [b]
    • [code]
    • [color]
    • [font]
    • [hr]
    • [i]
    • [img]
    • [list]
    • [quote]
    • [s]
    • [size]
    • [spoiler]
    • [sub]
    • [sup]
    • [table]
    • [u]
    • [url]
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.
В общем AmiDeco (Decompressor) лежит здесь:
http://biosgfx.narod.ru/v3/index.html
А вот Сompressor как бы есть, но на самом деле его нет...
Если б я шарил в асме, то попытался бы списаться с автором, а так ограничился только поковырянием...


Ok. Посмотрю что там внутри. Если разберусь , попробую написать обратную операцию компрессии, если не будет каких либо непонятностей с фиксированным местоположением модулей. Думаю для написания компрессора если будет предельно ясна структура(которую я попытаюсь выяснить сделав reverse анализ amideco) будет достаточно даже паскаля.

С уважением Виктор.

apple_rom

20 лет 10 месяцев назад

>Если б я шарил в асме, то попытался бы списаться с автором, а так ограничился только поковырянием...
Автор написал пакер для LZINT на базе исходников LHA.

apple_rom

19 лет 10 месяцев назад

> Phoenix = LZSS/LZARI/LZINT

а также LZHUF и LZINTUNF ...

Игорь Турусов писал(а):
>> Phoenix = LZSS/LZARI/LZINT
>а также LZHUF и LZINTUNF ...

Угу, именно...

А реальные биосы с оными назвать можно?

Сергей827 (не проверено)

16 лет назад

Подскажите пожалуста в чем беда, у меня 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?
Думаю да :-) Правда прямых ссылок на сайте нет, а жаль...
Оно?
http://support.asus.com/download/download.aspx?SLanguage=en-us&model=x59sl
Судя по количеству фиксов - тот ещё глюк в обёртке.
Какие скрытые настройки вы там ожидаете увидеть?
Думаю их там нет :-(
AMI AMIBCP 3.13 ни одной скрытой настройки не показывает. Открывает BIOS нормально.
AMI MMTool 3.22 тоже открывает BIOS нормально.

Сергей827 (не проверено)

16 лет назад

У меня 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 работают неадекватно.