<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>
Скриншот и ссылка для скачивания альфа-версии программы.
Предлагается обсудить практическую ценность реализации следующих плагинов.
1. <font color="#3366ff">BsCrc</font> - плагин для расчета CRC (по пожеланию Baza)

- читаем файл (с помощью оболочки)
- вызываем плагин
- указываем диапазон адресов
- указываем алгоритм вычисления CRC
- вычисляем CRC, печатаем в лог оболочки
2. <font color="#3366ff">BsIntelGlue</font> - плагин для склеивания биос Intel из файлов *.bio, *.bi*
https://rom.by/forum/ФАК_Интеловские_БИОСы
- вызываем плагин
- указываем папку с файлами *.bio, *.bi*
- склеиваем образ прошивки
- передаем оболочке образ прошивки
- в оболочке образ пишем в файл, смотрим дамп, вызываем др. плагины для анализа
3. <font color="#3366ff">BsPciProbe</font> - плагин для получения списка и регистров PCI-устройств Вашего компьютера
- вызываем плагин
- анализируем железо Вашего компьютера
- в оболочке пишем протокол анализа в файл
4. <font color="#3366ff">BsReadFlash</font> - плагин для чтения прошивки BIOS Вашего компьютера
- вызываем плагин
- анализируем железо Вашего компьютера
- читаем образ прошивки BIOS из флэш-памяти
- передаем оболочке образ прошивки
- в оболочке образ пишем в файл, смотрим дамп, вызываем др. плагины для анализа
5. <font color="#3366ff">BsWriteFlash</font> - плагин для перепрошивки BIOS Вашего компьютера
- читаем файл (с помощью оболочки)
- вызываем плагин
- анализируем железо Вашего компьютера
- записываем образ прошивки BIOS в флэш-память
- перезагружаем компьютер
- no comments
6. <font color="#3366ff">Др</font>. - ваши предложения?
даже не знаю что сказать... Это все, конечно, полезно и нужно, но только при одном раскладе - что каждый из плагинов будет полностью заменять отдельные программы и быть даже лучше, чем они. В противном случае с уже наработанного инструментария МЕНЯ фиг пересадишь.
Т.е.
1) Bit от stargaz0r'а для Award'ов вполне сам высчитывает CRC модулей УЖЕ собранного БИОСа.
2) для начала надо понять какой алгоритм сборки "правильный" - так что это к ув. maco
3) нафиг. Craig Hurt's PCI32 или Alter'овский PciDump вполне справляется с этой функцией. И сразу же нужна возможность подгружать список с соответствием м/у VenID/DevID и у-вом из файла...
4) аналогично. Bit или Uniflash.
5) Uniflash и его ромбайские эдишны.
Так что я даже не знаю....
А так на вид ничего инструментик. Из замечаний - кнопка "Парсинг" имхо лишняя, автоанализ нужно включать сразу после выбора плагина(plugin), ради красивости хорошо бы сделать веселую расцветку расположения модулей прошивки. Блок микрокодов процессора (сейчас это модно) не видно.
Огромный плюс то, что можно менять/заменять/удалять /вставлять Original.bin. только ради этого стоило трудится...+1
<font size="1">Это все, конечно, полезно и нужно, но только при одном раскладе - что каждый из плагинов будет полностью заменять отдельные программы и быть даже лучше, чем они. В противном случае с уже наработанного инструментария МЕНЯ фиг пересадишь.
</font><font size="2">
Полностью разделяю Вашу позицию.
По поводу п.1,2,3. Цитата - "Пусть расцветают сто цветов".
Никакого вреда не будет, если какой-то плагин будет функционально эквивалентен уже существующей программе. Но при этом для пользователя появляются плюсы:
- "всё в одном флаконе" (в папке Plugins
- возможность воспользоваться дополнительными возможностями (если они есть), которые предоставляет плагин
- доступ к исходным текстам (можно ознакомиться с алгоритмом, подправить, дополнить)
- обсудить проблемы с конкретным разработчиком плагина (обсудить здесь, на этом сайте)
По поводу п.4,5. Это весьма амбициозные проекты, хотя и вполне реализуемые. Они потребуют отдельного обсуждения.
По поводу п.6. Уважаемый Root, каких новых инструментов Вам не хватает в вашем богатом инструментарии при решении практических задач?</font>
<font size="2">Santa</font>

<font size="1">кнопка "Парсинг" имхо лишняя, автоанализ нужно включать сразу после выбора плагина(plugin)
<font size="2">Не согласен. Не каждый плагин будет предназначен для парсинга прошивки.
Santa</font>
ради красивости хорошо бы сделать веселую расцветку расположения модулей прошивки.
<font size="2">Вы можете предложить варианты расцветки (в виде граф. файла)? Рассмотрим, утвердим, вставим в программу.
</font><font size="2">Santa
</font><font size="1">Блок микрокодов процессора (сейчас это модно) не видно.
<font size="2">Дайте, пожалуйста, ссылку на биос, в котором это проявляется.</font></font></font>
По пункту 2 - добавить указание алгоритма "склейки", можно попытаться автоматизировать, но в этом случае придется либо выделять характерные зоны, либо действовать методом перебора и автоматического анализа полученного образа (например, попытка открыть как AMI'шный BIOS, кстати, не всегда будет работать).
Хотелось бы добавить возможность сравнения образа и внешнего файла с указанием диапазона адресов, а еще возможность автоматического поиска определенного участка из внешнего файла/образа в образе/внешнем файле.
По поводу кнопок "Parse", "Up", "Down" - лишние.
А ля Awdbedit..
Есть несколько прошивок от 865/945 чипсетов - нигде нет. -> Ссылки давать не имеет смысла...
maco Кнопки туда/сюда не лишние - пусть останутся. (иначе и original.bin на место не поставить :-))
Может проще вставлять сразу куда надо, чем потом переставлять ;).
[/justify]
[justify]Strelets
Пусть плагины, которые предназначены для парсинга прошивки, автоматически пытаются это делать.[/justify]
Итак, у Вас есть оболочка BIOStrip.exe и яростное желание написать собственный плагин.
С чего начать?
Для яростных плагинописателей, знакомых с MS Visual Studio v.6.0, предлагается специальный визард (мастер) <font color="#0000ff">WizBs.awx</font> .
Визард WizBs.awx предназначен для создания заготовки плагина, который будет работать под управлением оболочки BIOStrip.exe
Визард WizBs.awx необходимо скопировать в папку MS Visual Studio v.6.0: Program Files\Microsoft Visual Studio\Common\MSDev98\Template\
После этого он будет появляться в списке других визардов MS Visual Studio при создании нового проекта: File/New.../закладка_Projects
Основные правила и рекомендации:
1. Имя плагина желательно начинать с префикса <font color="#000000">Bs</font> (например, BsCoolPlugin)
2. Новый проект необходимо создавать в той же папке, где находится оболочка BIOStrip.exe, на одном уровне (рядом) с папкой Plugins
3. В папке Plugins должен быть файл plugin.h (его редактировать нельзя!)
4. После создания с помощью этого визарда нового проекта желательно изменить настройки проекта так, чтобы получающаяся dll записывалась в папку Plugins. Для этого в поле Poject_Settings/закладка_Link/поле_Output_File_Name необходимо указать ../Plugins/имя_плагина.dll
Внимание! Интерфейс IPlugin еще не устаканился. Поэтому возможны изменения и появление новых версий визарда.
Желаю удачи!