Доброго времени суток.
У меня стоит задача, пропатчить биос так, что бы запретить загрузку с устройств, кроме первого жесткого диска.
Биос, для начала надо патчить любой AWARD или AMI из современных, но, в конечном итоге, задача -- разработать общий метод патча который подойдёт для наиболее широкого множества прошивок BIOS.
До этого момента я видел два возможных пути:
1) При помощи конфигуратора, вроде AMICP или AWARD'овского MODBIN просто убрать (или задизейблить) из BIOS setup utility пункт меню, который меняет порядок загрузки.
2) Пропатчить как-то код загрузки BIOS, так, что бы при загрузке мы всегда грузились с нужного мне устройства, вне зависимости от настроек, сохранённых в CMOS.
Я сейчас в тупике, т.к. попробовав первым способом пропатчить прошивку AWARD BIOS на гигобайтовской двухбиосной материнки я со второй попытки убил мать. Оригинальная и пропатченная прошивки в аттаче.
Сейчас изучаю второй способ - ищу подходящие сигнатуры в дебаге на VmWare Phoenix BIOS, и попутно разбираюсь, как поисходит последний этап загрузки биос, прямо перед тем местом, когда он передаёт управление на 0x7C00.
Где-то в тех краях и надеюсь внедряться. Как возможный маркер сейчас рассматриваю пару команд mov al, 00 и out 80h, al.
Но как-то меня пугает смерть материнки от первого способа.
Итого у меня 3 вопроса:
1) Как бы вы действовали, если бы вам нужно было бы пропатчить конкретный биос с целью запретить загрузку со всех устройств, кроме первого жосткого диска.
2) У всех ли BIOS ов одного и того-же производителя BIOS одинаковые POST коды?
3) Что я мог сделать не так, что бы убить материнку модификацией BIOS от AWARD при помощи AWARD MODBIN? Кстати, писка, характерного для неправильной контрольной суммы мать не издаёт, да и в случае с неправильной контройльной суммой должен был бы активизироваться механизм восстановления BIOS из резервной копии (Dual BIOS).
Подсунуть другой винт -- не проблема. Но для этого надо открывать системник и знать, что ты делаешь (хотя бы минимально). Большенство людей на это просто не пойдёт. Кроме того -- если системники опломбированы как-то радикально (амбарным замком, например), то такой запрет почти наверняка гарантирует, что юзер будет пользоваться сугубо тем, что у него на компе есть.
Ну и да. У меня какой-то фейл получился с редактированием менюшек в биосе.
ASUS - F8
Gigabyte - F12
BIOSTAR - F9
EPoX - Esc
HP - F9
И потом этот код минимально изменить - либо отключить вызов процедуры выбора, либо поменять код на неизвестное рядовым пользователям сочетание клавиш. Но это не спасёт от продвинутых пользователей - умеющих запускать прошивалку BIOS - :-(
На ту же тему https://rom.by/forum/Otkljuchenie_Boot_menu
Из личного опыта - на Серверах HP Proliant и тонких клиентах HP ThinClient USB - приоритетное направление загрузки - то есть стоит себе весь такой защищённый сервер, приходит хакер с загрузочной флэшкой - усё - защите кердык - её будто-бы и не было.