Как работают проги для работы с BIOS, команды, ссылки.

Решил я эту тему создать, т.к. хочу научиться ковырять BIOS ну и вообще всё. Вся беда в том, что я полный лох в программировании. Я с удовольствием бы врубился, но все книги и статьи в инете пишутся из расчёта наличия элементарных знаний в этой области. Причём мне кажется под этими элементарными знаниями подразумевается маленькая научная степень. Поэтому убедительно прошу ответы давать ОЧЕНЬ разжёваные.
1. Я хочу знать как работают архиваторы. Не алгоритмы архивирования, а структуру архива. Здесь очень нужен LHA. В инете кроме инфы, что он поддерживается не нашёл ни .... А нужны примеры командных строк и описание их действий. Та короткая справочка, что вылазит если просто ткнуть на .ехе - НУ НЕ КАНАЕТ ОНА ДЛЯ ЛОХОВ! Эксперимент конечно хорошо, но слишком много вариантов. Причём вариантов этих результаты вместе могут давать error.

2. Есть такая проблема : я беру свой BIOS от мамы, открываю его в HEX, нахожу основной модуль, выделяю его и копирую, создаю новый файл и вставляю, сохраняю как 1.lzh, разархивирую так - lha.exe e 1.lzh, полученный 1006.bin правлю с сохранением размера и сохраняю как 1007.bin, архивирую обратно в новый чтобы не путаться архив - lha.exe a 2.lzh 1007.bin и получаю больший размер. Мне вообще не ясно почему размер теперь больше. Ведь механизм одинаков - как было заархивировано так туда и обратно. Где-то подобное описывалось. Но решения не найдено, а здесь я видел вроде поборол кто, но не объяснил как. Поэтому я не стал запоминать ту страницу. Я пробовал лепить BIOS дальше, дописывая к полученному архиву всё остальное, но сами понимаете из-за несоразмерности не шьется. Я пробовал просто удалять в разных местах 00000000&FFFFFFFF или укорачивать имя архивируемого файла, но checksum error.
3. Я вообще не знаю как считать checksum, какого она д.б. размере-формата и куда её потом писать. Как узнать, подсчитала и всунула-ли такая-то прога в нужное место этот checksum или это был вообще CRC.
4. Какая разница между ними и где в осном используются.
5. Поскольку я тоже использую ХР, а проги корректно работают из под DOS, в частности modbin6.exe 1.00.38, то что мне сделать, если под руками нет старого компа, а на этот старые ОС не ставятся?
6. CBROM - знаю только 2.07 версией пользоваться надо. Рабочие команды. Кто что как делал, ПОЛУЧИЛОСЬ - сюда пожалуста. Та короткая справочка, что вылазит если просто ткнуть на .ехе - НУ НЕ КАНАЕТ ОНА ДЛЯ ЛОХОВ! Знаю команду для просмотра какие модули есть : cbrom.exe 1006.bin /d. Извлечь картинку : cbrom.exe 1006.bin /epa extract. Удалить cbrom.exe 1006.bin /epa release. А вставить уже нужно указывая имя вставляемого файла cbrom.exe 1006.bin /epa имя romfile.

При работе желательно использовать корневые дирректории, снимать атрибуты у файла и использовать короткие английские имена. Вот кому понятно, а кому нет : атрибуты можно увидеть нажав правой клавишей мышки по файлу и выбрав свойства. Снять галочки. Вот такое д.б. объяснение.

Я конечно понимаю, что для начала надо..... Но как я уже посетовал - везде какая-то середина. Ну помогите по чуть-чуть!

apple_rom писал(-а):
а почему на винт не пишешь?

ИМХО проще и надежнее все-таки на дискетку.:) Если с винтом что случиться, то всегда можно оказаться крайним.

ЗЫ: Кстати, там в обсуждении кто-то предлагал встроить подобную фишку в BP. Не заинтересовало ?:)

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

>ЗЫ: Кстати, там в обсуждении кто-то предлагал встроить подобную фишку в
BP. Не заинтересовало ?
Дык это не меня должно интересовать, патчер это и так делает - бери да встраивай.:)
Глянь в теме про недокументированные возможности сам-знаешь-где.
А так - можно сказать "техподдержке", делов по добавлению подобного "по умолчанию" - всего ничего.

Более полезна
globaltrust.ru/security/knowbase/Integrity/integrity_control_mechanisms.htm

Не допрошиваюсь. Я знаю, что надо замкнуть, чтобы запустить аварийную прошивку.

8. А у LHA можно выбрать параметры сжатия? Я кроме параметра на максимальное сжатие вроде -0h ничего подобного не видел, хотя и с этим параметром не сжалось сильнее.
9. Я так понимаю, что какая-то программа сравнивает контрольные суммы. Ну для bios это boot-блок. Но кто их создаёт? Программист, когда состряпает файл? Куда эта сумма дописывается? В конец файла? Откуда такая-то программа знает где кончается тело файла и начинается его CRC? В статье по редактированию написано модуль плюс байт CRC. Однако я только около original.bin вижу этот байт FF. Остальные модули следуют без дополнений.

Ну да это asus. И этот original.bin лежит вначале.

В выше указанной ссылке сказано, что не трудно написать прогу, которая будет подгонять изменённый файл под нужный crc. Ну очевидно кто-то написал. Есть инфа где её взять?
Я здесь видел кто-то написал прогу просто для подсчёта, но ссылка не работает. Тоже нужна рабочая ссылка или в почту.

CheckSum = Sum mod (MaxVal+1) = 40C mod (FF+1) = 1036 mod (255+1) = 12 Как получилось это число? Я брал калькулятор в HEX и что только у меня не получалось, но не 12.

Кстати по одной методе я попробовал взял понимаемый modbin-ом bios от gigabyte. Взял ручками достал из своего биоса этот original.bin, поправил его, переименовал в originar.bin и запихал в гиговский биос. Потом достал то, что сделал модбин и соединил со своим хвостом. В результате модбин теперь открывает и хотя и странно просматривает асусовский биос, однако прошиваться он не хочет, т.к. типа не award. Ну ине знаю каким образом модбин шифровал original.bin, но получился он существенно меньше и на контрольные суммы не ругался.

Для себя понял важную вещь : размер всего BIOS и отдельных его разархивированных модулей одинаков. Однако размер архивов м.б. различен. Варьируется длина пустого места во всём биосе. Какое-то пространство забивается FF-ами или 0-ями до нужного размера. Это пространство идёт сразу после всех запакованных модулей.

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

Цитата:
Как получилось это число? Я брал калькулятор в HEX и что только у меня не получалось, но не 12.

mod = остаток от деления.
Цитата:
CheckSum = Sum mod (MaxVal+1) = 40C mod (FF+1) = 1036 mod (255+1) = 12

40Ch = 1036
1036 = (255+1)*4 + 12

скажу по-другому - без изучения мат. части явно будет трудно:(

Аццкий ромбовод {:€
Я пока не волшебник - я только учусь! :-P

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

Цитата:
А у LHA можно выбрать параметры сжатия?

Секретный ключик: lha.exe /? все выдаст.

А читалась ли указанная в самом начале статья? Ибо:

Цитата:
В статье по редактированию написано модуль плюс байт CRC. Однако я только около original.bin вижу этот байт FF. Остальные модули следуют без дополнений.

Цитата:
...Cразу же дальше (т.е. без разрыва) идёт файл следующего запакованного модуля, например, awardext.rom (на конце уже никаких «дополнительных» байтов)

Цитата:
Для себя понял важную вещь : размер всего BIOS и отдельных его разархивированных модулей одинаков. Однако размер архивов м.б. различен. Варьируется длина пустого места во всём биосе. Какое-то пространство забивается FF-ами или 0-ями до нужного размера. Это пространство идёт сразу после всех запакованных модулей.

Цитата:
...Дальше (также без разрыва) – следующий. И так все имеющиеся в конкретном биосе модули
zzzzz - ~17FFEh* - Свободное место, обычно заполняется «00» или «FF»

Да читалась. Просто не отложилось. Статья она большя как-бы и интересная. А вот так в виде цитат оно сразу видно и вспоминается. Тьфу чёрт.
И пока я до нужной книги не добрался не могу разобраться : если в десятичной 1036/(255+1)*4 остаток=12 - никак. Во первых уж это никак остатком назвать нельзя, ибо 1064 однако больше 1036. Ну и не получается ни 12 ни -12. А если в HEX калькуляторе посчитать, то там вообще никаких остатков не показано было. Чёрт и знакомых таких чтобы в азах шарили нет и по крупицам книги какие видел это тыщь на 10 тянет. Я же не открываю контору по заколачиванию на биос. Не в обиду говорю - я вас не пытаюсь напрягать.

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

Откуда взялось 1064?
256*4 = 1024.

А кому счас легко...

Подскажите пожалуста про AMI биос. Я не вижу привычных lha модулей. Как находить их и определять вручную в архиве они или нет? Где определяется тип проца и пишется его название? .
В модуле 06 - DMI есть куча надписей : to be filled by oem. Это я понимаю скрываются какие-то меню БИОС? Разгон на маме ms-7228 oem v1.0 отсутствует полностью.

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

Содержание этого поля является приватным и не предназначено к показу.
  • Разрешённые 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.

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

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