ПредишенСледващото

Опиша моите жестове, както той беше обещал:

Стартиране mmtool (v2.22.1). Аз избирам от там всички модули в отделни файлове. (Извадка меню - В некомпресиран вид, Модул ID Изместване и сегменти не докосвайте). Напомням ви, че програмата е малко бъгав и катастрофи, така че аз го направих така при навигация в менютата (имам повече от 3 смени): Стартира mmtool. Избрана "Мощност MMtool".
Избрах Load ROM. Тогава мишката избра Extract. След това изберете правилната mozhud мишката и Екстракт подменю. Опиша това, защото, докато той не разбираше. че програмата изглежда да виси, защото на движението в менюто. Аз започнах да се съмнявам в програмата.

Ако някой се интересува от защо аз избрах тази (втората част от код с установено CD 13 и каква стойност става дл преди 13Н на вътр питам - ще опиша по-подробно). Струваше ми се, че това е тривиално аргумент, така че да ги пусна.

Така че на мястото, където на зареждащия сектор се чете в памет намерен.
Започваме да редактирате този модул (по време на работа).

Търси hiew Опитах се да намеря необходимите части от код за мен от FF. Там се оказа едно парче (офсет 00000644). Дължина 32 байта. достатъчно Не, помислих си, и реших да гледам по-внимателно в парчетата поредна 00, а да не забравяме, че по принцип, той лесно може да бъде информацията, която се използва за инициализиране (obnulyaeniya) нишка на структурата на данните, използвани за BIOS. Тук съм малко skhalyavil - ponyadeyavshis на български случаен и не се рови много нули е да се инициализира или просто празно пространство. Владее proshvyrnuvshis IDAPro станах много сигурен, че тези нули сайтове, които използвам - празни места.

Така че ние имаме следните парчета свободни да пишем код.


00000616: дължина 90 байта
00005590: дължина 110 байта
000057S9: дължина 108 байта
0000598E: дължина 44 байта
000091A7: дължина 44 байта

По пътя, все още има области, 000046B0 (по-малко от 32 байта, че не са включили - за факта, че това е достатъчно за мен, по принцип)
Плюс това все още има достатъчно големи парцели 0 (но аз не се занимавам с тях заради близостта до данните в низ тип - може би ги и може да се използва, но тя трябва да бъде сигурен и отделете време за солидна част от BIOS следа - дори IDAPro тази дейност не е много интелигентен - и рутинно проследяване BIOS започва в пъти много уморително)
И в края на изпълнение има солидна част от 20h (това пространство), които биха могли да се използват като направи малка промяна на BIOS.

000055B0: CLI (труден курс от прекъсването, което е могло да бъде извършено дори и в BIOS, но аз предпочитам да се увери, че всичко трябва да се променя регистрите особено сс SP)
000055B1: Pusha (запазите всички регистри)
000055B2: pushf (освен регистрирате флагове)
На следващо място, аз имам много разточителни загуба на пространство (имам нужда от часовник от BIOS)
Целият код, и по-специално основната процедура (операция в HDD) Водя няма да замени го NOP но няколко парчета код може да доведе
000055B3:
Mov брадва, 09
от 070, ал
в Ал, 071 (вземем последните две цифри на годината)
натиснете Ал
NOP (I отстранява тази част от код, за да не aktvizirovat местни майстори работят в грешната посока)
NOP
поп Ал
000055D6: обадете 000057E0 (E80702)
NOP (6shtuk)
000055DF: обадете 000057E0 (E8FE01)
000055E2: popf
000055E3: Попа
000055E4: бутнете 000
000055E6: поп ове
000055E8: на забавяне

на 000057E0 процедура (отидете разговори и се връща към останалата част 3 безплатно блока). Аз ги опиша тук няма, но в затворен форум, който мисля, че би могъл

Напомням - дължина по време на работа модул не се е променило.
Сега поставете този модул в главния файл ROM BIOS.
Все още предпазливи употреба mmtool. Тогава potratl малко време, опитвайки се да се уточни сегмента и отклонението от мястото, което бе дешифриран от mmtool. Но тогава аз научих разпадането по някаква причина след Заменете, по мое mmtool смяна точка извличане на модула в паметта. Твърди podnadoblamavshis поради glyuchnosti mmtool (макар че аз не отричам работата, която е нейно дело) Аз веднъж не са имали сегмент от пристрастност, и като цяло всичко мина добре модул подмяна и всички входна точка INFA, и така са останали същите.

Следваща тя прибра мигач и светна нов ROM.
Testud в продължение на 9 дни. Нормално полет.
Бъгове все още не са забелязали.

С Виктор отношение.

Послепис Не знам дали някой се нуждае от тези файлове (по време на работа например), дадох линк в началото на поста, където ROM могат да бъдат изтеглени. Е, мисля, mmtool и hiew naydti ако търсите. В случай, че не се намери правилният инструмент vsilu (hiew mmtool) отпишете към Администраторите на форума. Ако те ми позволиха на сол с помощта на които експериментира.

Подкрепете проекта - споделете линка, благодаря!