Появляется такая задача не часто, но все-же, нужно преобразовать уже установленную систему, загружаемую в BIOS (или UEFI режиме) в UEFI режим (в BIOS соответственно).
Кому интересно, читаем далее:
Читать полностью »
Рубрика «UEFI» - 7
Миграция Windows между BIOS <-> UEFI
2016-02-24 в 18:42, admin, рубрики: gpt, mbr, UEFI, windows, системное администрированиеПишем DXE-драйвер для снятия скриншотов с BIOS Setup и других UEFI-приложений
2016-01-04 в 1:06, admin, рубрики: BIOS Setup, C, DXE-драйвер, open source, UEFI, костыли и подпорки, разработка, системное программирование, скриншоты В прошлой статье про SecureBoot мне очень не хватало возможности сделать снимок экрана при настройке UEFI через BIOS Setup, но тогда выручило перенаправление текстовой консоли в последовательный порт. Это отличное решение, но доступно оно на немногих серверных материнских платах, и через него можно получить только псевдографику, а хотелось бы получить настоящую — она и выглядит приятнее, и вырезать ее каждый раз из окна терминала не надо.
Вот именно этим мы и займемся в этой статье, а заодно я расскажу, что такое DXE-драйвер и как написать, собрать и протестировать такой самостоятельно, как работают ввод с клавиатуры и вывод на экран в UEFI, как найти среди подключенных устройств хранения такое, на которое можно записывать файлы, как сохранить что-нибудь в файл из UEFI и как адаптировать какой-то внешний код на С для работы в составе прошивки.
Если вам все еще интересно — жду вас под катом.
Читать полностью »
Укрощаем UEFI SecureBoot
2015-12-19 в 2:32, admin, рубрики: AMI, Insyde, microsoft, open source, openssl, phoenix, SecureBoot, UEFI, информационная безопасность, криптография, системное программирование, укрощение строптивого Данные обещания надо выполнять, тем более, если они сделаны сначала в заключительной части опуса о безопасности UEFI, а потом повторены со сцены ZeroNights 2015, поэтому сегодня поговорим о том, как заставить UEFI SecureBoot работать не на благо Microsoft, как это чаще всего настроено по умолчанию, а на благо нас с вами.
Если вам интересно, как сгенерировать свои обственные ключи для SecureBoot, как установить их вместо стандартных (или вместе с ними), как подписать ваш любимый EFI-загрузчик, как запретить загрузку неподписанного или подписанного чужими ключами кода, как выглядит интерфейс для настройки SecureBoot у AMI, Insyde и Phoenix и почему это, по большому счету, совершенно не важно — добро пожаловать под кат, но опасайтесь большого количества картинок и длинных консольных команд.
Читать полностью »
Возвращаем оригинальные страницы меню в Phoenix SCT UEFI
2015-02-16 в 8:09, admin, рубрики: DXE, HII, phoenix, radare2, SCT, UEFI, UEFITool, реверс-инжиниринг, системное программирование Здравствуйте, уважаемые читатели Хабра.
С вами снова я и мы продолжаем копаться в различных реализациях UEFI во имя добра. Есть у меня один старый китайский GSM-модем, который на моем Dell Vostro 3360 определяется через раз, а на более старых ноутбуках — нормально. После нескольких экспериментов с подключением его через переходник к основному ПК выяснилось, что ему почему-то не нравится подключение через PCIe Gen2, и хотелось бы переключить порт на Gen1, но в UEFI Setup нужной настройки не оказалось. Печально, но не смертельно, ведь очень часто производители устройств не удаляют оригинальные меню производителя UEFI, а просто скрывают их, либо показывают на их месте свои, поэтому после небольшого реверс-инжиниринга оригинальное меню можно вернуть на место, что у меня и получилось. В этот раз одной IDA Demo уже не обойтись, т.к. DXE-драйверы в большинстве современных UEFI собираются для архитектуры x86-64, поэтому вместо нее будем использовать radare2.
На лавры первооткрывателя не претендую и подобным модификациям сто лет в обед, но постараюсь показать, как сделать подобную модификацию самостоятельно.
Если вам все еще интересно — добро пожаловать под кат.
Читать полностью »
Еще немного реверс-инжиниринга UEFI PEI-модулей на другом полезном примере
2015-02-07 в 1:05, admin, рубрики: ida, PEI, TE2PE, UEFI, UEFITool, реверс-инжиниринг, системное программирование И снова здравствуйте, уважаемые хабрачитатели.
В рамках борьбы за возможность модификации UEFI на ноутбуках HP пришлось отломать еще одну защиту, на этот раз более современную. Видимо, отдел разработки прошивок в HP догадался, что предыдущая защита была не ахти, и потому они решили радикально её улучшить, поэтому метод обхода защиты DXE-тома из предыдущей статьи перестал работать, и мне опять понадобилось вооружаться дизассемблером, разрабатывать конвертер из TE в PE и отвечать на те же вопросы: где находится цифровая подпись, кто именно ее проверяет и как сделать так, чтобы проверка всегда заканчивалась успехом.
Если вас интересуют ответы и описание процесса их поиска — прошу под кат.
Читать полностью »
Простые приемы реверс-инжениринга UEFI PEI-модулей на полезном примере
2015-02-04 в 22:27, admin, рубрики: ida, PEI, UEFI, ассемблер, реверс-инжиниринг, системное программирование Здравствуйте, уважаемые читатели Хабра.
После долгого перерыва с вами опять я и мы продолжаем копаться во внутренностях UEFI. На этот раз я решил показать несколько техник, которые позволяют упростить реверс и отладку исполняемых компонентов UEFI на примере устаревшего-но-все-еще-популярного PEI-модуля SecureUpdating, который призван защищать прошивку некоторых ноутбуков HP от модификации.
Предыстория такова: однажды вечером мне написал знакомый ремонтник ноутбуков из Беларуси и попросил посмотреть, почему ноутбук с замененным VideoBIOS'ом не хочет стартовать, хотя такой же точно рядом успешно стартует. Ответ оказался на поверхности — не стартующий после модификации ноутбук имел более новую версию UEFI, в которую добрые люди из HP интегрировали защиту от модификации DXE-тома (а там и находится нужный нам VideoBIOS вместе с 80% кода UEFI), чтобы злобные вирусы и не менее злобные пользователи ничего там не сломали ненароком. Тогда проблема решилась переносом PEI-модуля SecureUpdating из старой версии UEFI в новую, но через две недели тот же человек обратился вновь, на этот раз на похожем ноутбуке старая версия модуля работать отказалась, и моя помощь понадобилась вновь.
Если вас заинтересовали мои дальнейшие приключения в мире UEFI PEI-модулей с дизассемблером и пропатченными переходами — добро пожаловать под кат.
Читать полностью »
Как избавиться от ступенчатого градиента после переустановки Windows 8.1 на ноутбуке
2014-10-10 в 15:34, admin, рубрики: asus, gradient banding, UEFI, windows, ноутбук, Ноутбуки, ступенчатый градиентПривет!
Этот пост в помощь тем, кто столкнётся с такой же проблемой, переустанавливая систему на своём ноуте.
Недавно приобрёл ноутбук Asus k551ln. Как истинно жадный студент через неделю использования решил сделать отказ от системы, благо по Dreamspark в универе дают ключи от Enterprise. После установки новой системы сразу в глаза бросилась «ступенчатость» градиентов. Например солнышко на экране блокировки у меня больше напоминало рифлёный чипс.
Читать полностью »
Лирика
Купить ноутбук Asus я мечтал ещё 10 лет назад, когда был молодым инженером с в/п и без ж/п в одном НИИ, выпускающем изделия специального назначения. По легенде, гражданские радары.
В те времена ноутбук был скорее роскошью, чем средством для решения повседневных задач и даже имел некий намек на статусность. Ноутбуки выдавали некоторым начальникам и особо ценным специалистам, которые, не покладая рук, оттачивали аппаратно-программные комплексы в постоянных командировках.
Стоило тогда это удовольствие от 20 тыс руб, бум кредитования был впереди, о программах «0-0-0-24» не было и речи и на зарплату в червонец о ноутбуке можно было только помечтать. К тому же, тогда ещё сильно было влияние идей «апгрейда», в том смысле, что можно купить минимальный набор, а потом довесить, что понадобится. Например, видюху помощнее или винчестер побольше. Поэтому я купил обычный «ящик» с пузатым 15" ЭЛТ монитором.
Иметь ноутбук с убунтой на борту я хотел последние лет 5, с тех пор как поигрался с 8.04-9.10 на своем тогда ещё новом компьютере (но тоже стационарном). Примерно тогда же начался бум нетбуков и я уже было зарезервировал в эльдорадо 10" ЕЕЕ-шку по акции за 8 тыр. Но что-то тогда помешало, а потом молодая семья и дети поглотили все мое время и деньги. Ну и в какой-то момент получилось классическое «имею возможность, но не имею желания».
Иметь планшет с Ubuntu даже не мечтал.
И вот, буквально на днях произошла цепь случайных событий, сделавших меня счастливым обладателем 12" нетбука Asus X200MA, на который я таки поставил Ubuntu.
Читать полностью »
Разработка и отладка UEFI-драйверов на Intel Galileo, часть 2: готовим плацдарм
2014-09-17 в 19:41, admin, рубрики: diy или сделай сам, galileo, isp, jtag, uart, UEFI, отладка, разработка, системное программирование
Здравствуйте, уважаемыее.
Опрос в первой части показал, что тема разработки UEFI-драйверов достаточно интересна сообществу, поэтому я приступаю к написанию дальнейших частей этого цикла. В этой речь пойдет о подготовке платы Intel Galileo к работе, необходимом и желательном железе и ПО, сборке и установке BSP. В результате получится недорогая аппаратная платформа, пригодная для аппаратной отладки UEFI-драйверов и доступная любому энтузиасту.
Читать полностью »
Разработка и отладка UEFI-драйверов на Intel Galileo, часть первая, вводная
2014-09-14 в 10:44, admin, рубрики: galileo, UEFI, отладка, разработка, системное программирование
Здравствуйте, уважаемые хабрачитатели.
Многим из вас может быть интересна тема разработки и отладки кода UEFI-драйверов и приложений, которая пока еще недостаточно широко освещена в сети, но к которой мне посчастливилось иметь непосредственное отношение.
В связи с этим я планирую написать цикл статей о разработке и отладке UEFI-драйверов на аппаратной платформе Intel Galileo Gen 1, т.к. эта платформа обладает, на мой взгляд, наилучшим соотношением цена/ качество для вышеуказанной задачи.
Первая часть статьи является вводной, в ней я расскажу о стандарте UEFI, проекте TianoCore и его недостатках, o внезапном решении Intel и их плате Galileo, о причинах выбора именно этой аппаратной платформы в качестве базовой и о планах на следующие части.
Читать полностью »