Автор: 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 (не проверено)

15 лет 12 месяцев назад

Подскажите пожалуста в чем беда, у меня 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". Я уже незнаю ето все ети проги "фуфло" или я многое непонимаю?

Compiller

15 лет 11 месяцев назад

Для начала проверьте не установлен ли атрибут 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 (не проверено)

15 лет 11 месяцев назад

У меня 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 там что ничего этого небыло :( ?

Compiller

15 лет 11 месяцев назад

В 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

Compiller

15 лет 11 месяцев назад

Я наверное Вас расстрою, но там нет ни одного скрытого пункта, который можно было бы включить, все пункты видимые.
Аттрибут ReadOnly (только чтение) проверяется в проводнике Windows - правой кнопкой по файлу, Свойства, вкладка Общие там птички - первая так и называется Только чтение. При установленной на файле птичке (он ставится на все файлы, скопированные с CD/DVD) многие программы работы с BIOS работают неадекватно.