Автор: Unknown BIOS (не проверено) , 11 октября 2007

<font size="1">"Сначала было слово"

</font><font size="1">www.rom.by/forum/Shell_Cbrom</font>



Эта ветка форума посвящена процессу создания программы <font color="#3366ff">BIOStrip</font>.



Назначение программы:

- прочитать файл с прошивкой

- выбрать плагин для препарирования файла прошивки

- записать отредактированную прошивку в файл

- копировать все упакованные модули в виде отдельных файлов

- копировать текущий (упакованный или распакованный) модуль в файл

- добавить новый модуль в прошивку

- удалить модуль из прошивки

- переставить соседние модули в прошивке

- др. 





<font color="#3366ff"><font color="#000000">Другими словами, функционально</font> BIOStrip </font>- это универсальный cbrom с графическим интерфейсом.

Универсальность реализуется через расширяемый набор плагинов.



PS

<font size="1">"Наши цели ясны, задачи определены. За работу, товарищи!" (Все встают.) 

</font>

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

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-адреса преобразовываются в ссылки автоматически.

Strelets

18 лет 4 месяца назад

В последующих версиях оболочка будет поддерживать многоязычный интерфейс

Это реализовано посредством переноса всех ресурсов программы (меню, диалоги, строки) в отдельную динамическую библиотеку <font color="#0000ff">BIOStripRes.dll</font>, которая загружается оболочкой при старте. Эта dll должна находиться в одной папке с оболочкой BIOStrip.exe

Теперь для смены языка достаточно сменить только BIOStripRes.dll на новую. 

Пока существует только один экземпляр - английский.



PS

Всё вышесказанное не относится к плагинам. Но ничто не мешает эту же технологию использовать и для них.

Strelets

18 лет 4 месяца назад

В процессе всенародного обсуждения проявились следующие типы плагинов:

1-й тип - плагины, которые не работают с прошивкой (например, <font color="#0000ff">BsPciProbe</font>)

2-й тип - плагины, не учитывающие модульную структуру прошивки (<font color="#0000ff">BsCrc, BsIntelGlue</font>)

3-й тип - плагины, учитывающие модульную структуру прошивки (<font color="#0000ff">BsAward</font>)


В связи с этим интерфейс <font color="#339966">IPlugin </font>упростился, но появились два новых интерфейса - <font color="#339966">IBiosImage</font> и <font color="#339966">IBiosModules</font>. Теперь плагины 1-го типа должны реализовывать только интерфейс IPlugin, 2-го типа - IPlugin и IBiosImage, 3-го типа - IPlugin, IBiosImage и IBiosModules.


Для MS Visual Studio v.6.0 планируется изменить визард WizBs.awx таким образом, чтобы он умел создавать заготовки проектов для плагинов трех типов.


Программисты могут ознакомиться с интерфейсами (см. файл plugin.h). Сейчас идет доработка оболочки и визарда.

Strelets

18 лет 4 месяца назад

Предлагается для ознакомления очередная альфа-версия оболочки <font color="#0000ff">BIOStrip.exe (v.1.1)</font>.

Теперь она умеет работать с плагинами всех трех типов.


Выкладываю исходные тексты для двух простых плагинов:


<font color="#0000ff">BsCalendar</font> - плагин (тип 1), с прошивкой не работает. Создан в тестовых целях.

<font color="#0000ff">BsCrc </font>- плагин (тип 2), считает CRC-8 для заданного пользователем диапазона адресов прошивки.


Плагин <font color="#0000ff">BsAwardTest </font>переделан в тип 3, его исходные тексты выкладывать пока рано.


Заготовки этих проектов были созданы с помощью новой версии визарда <font color="#0000ff">WizBs.awx</font> (старую версию нужно смело удалить).


Итак, архитектурные изыскания для программы практически завершены.

Оболочка стабилизируется, сейчас она вполне рабочая.

Процесс создания плагинов максимально автоматизирован с помощью визарда. Желающие могут попробовать.

maco

18 лет 4 месяца назад

Формальное замечание
CRC - cyclic redundancy check
Checksum - контрольная сумма
Может поправить название плагина, чтобы дальше не путаться.

Strelets

18 лет 4 месяца назад

Согласен.

Плагин BsCrc будет переименован в <font color="#0000ff">BsHash</font>.

При желании набор реализованных алгоритмов контрольного суммирования можно будет расширять. Надо будет прикрутить к нему какую-нибудь готовую крипто-библиотеку.



И чтобы два раза не вставать.

1. Плагин <font color="#0000ff">BsIntelGlue</font><font color="#000000"> - относится к 1-му типу, а не ко 2-му. Он не использует образ BIOS, который был прочитан оболочкой из файла. Он самостоятельно создает такой файл. А вот уже после того, как файл создан, его содержимое можно будет "скормить" другим плагинам (3-го типа).

2. Кнопка <font color="#993300">Parse </font>исчезла. Теперь парсинг прошивки выполняется автоматически, если плагин относится к 3-му типу. 

santa и maco - респект </font>

Strelets

18 лет 4 месяца назад

Сегодня у оболочки появился новый дополнительный интерфейс - <font color="#99cc00">IMemport</font>.

Теперь у плагинов есть доступ к любому участку физической памяти, а также ко всем портам ввода-вывода.

Этот интерфейс будет полезен, например, при создании плагина <font color="#3366ff">BsReadFlash</font> (чтение прошивки BIOS Вашего компьютера), а также для любых других плагинов, которым требуется доступ к железу.

Strelets

18 лет 4 месяца назад

Родился ещё один новый дополнительный интерфейс оболочки - <font color="#99cc00">IPci</font>.



Он появился на свет для обслуживания плагина <font color="#3366ff">BsPciProbe</font>.

Интерфейс состоит из функций, обеспечивающих доступ к конфигурационным регистрам Pci-устройств. Идет тестирование.

Strelets

18 лет 4 месяца назад

Реализованный в оболочке интерфейс  <font color="#99cc00">IMemport </font>позволил легко создать плагин <font color="#3366ff">BsCmos </font>для чтения регистров CMOS.

Strelets

18 лет 4 месяца назад

Интерфейс  <font color="#99cc00">IMemport </font>используется в плагине <font color="#3366ff">BsReadFlash</font>, который предназначен для чтения прошивки BIOS. 

Этот плагин требует записи в конфигурационные регистры устройств чипсета (через интерфейс <font color="#99cc00">IPci</font>), чтобы полностью отобразить адресное пространство в конце 4гб, занятое флэшкой. Настройка чипсета для чтения всей флэшки пока не реализована, сейчас правильно читается только последние 64кб.



Можно читать и видео BIOS.
Цитата:
Реализованный в оболочке интерфейс  <font color="#99cc00">IMemport </font>позволил легко создать плагин <font color="#3366ff">BsCmos </font>для чтения регистров CMOS.




Strelets,

А как под ХР прочитать CMOS, через 70/71 он же не позволяет?