Добавить код или работа с модулями AMI Bios

Модули 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.


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

И тут у меня возникает несколько вопросов:
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 уважением Виктор.

LKA писал(-а):
В общем AmiDeco (Decompressor) лежит здесь:
biosgfx.narod.ru/v3/index.html
А вот Сompressor как бы есть, но на самом деле его нет...
Если б я шарил в асме, то попытался бы списаться с автором, а так ограничился только поковырянием...

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

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

Аватар пользователя apple_rom

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

Аватар пользователя apple_rom

Цитата:
> Phoenix = LZSS/LZARI/LZINT

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

Цитата:

Игорь Турусов писал(а):
>> Phoenix = LZSS/LZARI/LZINT
>а также 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". Я уже незнаю ето все ети проги "фуфло" или я многое непонимаю?

Аватар пользователя Compiller

Для начала проверьте не установлен ли атрибут 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 там что ничего этого небыло :( ?

Аватар пользователя Compiller

В 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

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

Дрессируем коров :)

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • You can use BBCode tags in the text. URLs will automatically be converted to links.

Подробнее о форматировании текста

Антибот - введите цифру.
Ленты новостей