Эта настройка означает «не добалять SLIC специально», удалять существующую таблицу PhoenixTool не будет.
Я бы посоветовал попробовать UEFITool в качестве альтернативы, чтобы не искать строки Total Commander'ом, но это дело вкуса, конечно.
Boot Firmvare Volume не отображается в оперативную память, ибо памяти этой просто нет еще на данном этапе инициализации. Вот тут есть хорошее описание процесса загрузки UEFI с самого начала.
Я говорю вот об этом:
From the reset vector, execution starts directly from nonvolatile flash storage. This operating mode is known as execute-in-place.
А вы — об этом:
The read performance of nonvolatile storage is much slower than the read performance of DRAM. The performance of code running from flash is therefore much lower than code executed in RAM. Most firmware is therefore copied from slower nonvolatile storage into RAM. The firmware is then executed in RAM in a process known as shadowing.
На самом деле, там еще до копирования в память часть данных копируется в кэш 2 уровня, для которого затем включается No-Eviction Mode (NEM).
Тем не менее, часть кода, хоть и небольшая, действительно исполняется прямо из микросхемы.
Использование протокола QuadSPI дает пропускную способность микросхемы до 40 Мбит\с со временем доступа в 12.5 нс, конечно это намного медленнее RAM, но не настолько, чтобы было заметно человеку.
Код PEI исполняется прямо из микросхемы, т.к. в момент его исполнения память еще не инициализированна. Чипсет отображает микросхему SPI по адресу 0xFFFFFFFF и ниже, выполнение кода начинается с адреса 0xFFFFFFF0, и обычно там пара нопов и переход на начало секции кода в ядре PEI.
Именно поэтому для PEI-драверов должно быть выполнено требование executable-in-place, т.е. адреса всех переходов должны быть пропатчены заранее, а не при запуске.
Добавлю про RealView ICE: он устарел и купить этот отладчик сейчас довольно трудно, на смену ему пришел DSTREAM, цены на комплект начинаются с $3500. Других отладчиков с поддержкой ETM11 и ETB11 я не знаю. В общем, от народа JTAG на чем-то посложнее Cortex-M пока еще очень далек.
Много, но в обычной речи они используются не очень часто. Отличие в том, что в русском сложные слова редко содержат более трех корней без разделителей («самолетостроение»), а в канцелярском немецком корней без разделеителей редко бывает меньше трех.
Хрестоматийный пример — Rindfleischetikettierungsüberwachungsaufgabenübertragungsgesetz, признаный самым длинным словом в общеупотребительном официальном немецком на сегодняшний день.
Метод этот применять не стоит вообще, я думаю.
Вместо него стоит выделить платформозависимый код в отдельный DXE-драйвер и вызывать этот самый код через стандартные механизмы взаимодействия. Драйвер не загружен — до свиданья, никакого неопределенного поведения при запуске на ARM.
Бытовая техника будет работать как кофеварки с капсулами или на тех же принципах, что и субсидируемые смартфоны у мобильных операторов
Идите к черту, инноваторы. В погоне за каким-то мнимым «прогрессом» и «модой» уже сейчас практически невозможно купить нормальную бытовую технику с простым управлением парой кнопок, не являющуюся при этом пластмассовой фигней из нижнего ценового диапазона.
Очень советую добавить что-нибудь «железное», хотя-бы немного. Программирование микроконтроллеров, Verilog/VHDL, архитектуры CPU и GPU и т.п.
Я недавно закончил магистратуру по CS в OTH Regensburg, где у нас были два очень интересных «железячных» предмета, которых я до этого в России не видел ни у кого (хотя, можно сказать, что плохо смотрел) — это Embedded Systems Design, т.е. основы разработки встраеваемой в самолеты, корабли и автомобили электроники и ПО, со всеми их специфическими требованиями к надежности, резервированию, методологиям разработки и стандартам ЯП, и Integrated Application Systems из двух частей — в первой было введение в разработку на FPGA, т.е. немного VHDL, немного Verilog, немного симуляторов и немного SystemC, а во второй — введение в совместный дизайн железа и софта, когда критические по времени выполнения части выносятся из софтовой части на FPGA. Возможно, в России этому учат электронщиков, но и специалистам по CS они точно лишними не будут.
Внутренние войска еще, тоже практически каждый второй день проходил в обнимку с автоматом.
На вопрос о том, много ли пришлось стрелять (хоть он был задан и не мне) отвечу, что по людям, к счастью, не пришлось, а вот по мишеням за время учебы в сержанской школе и дальнейшей службы отстреляно было прилично и всякого калибра, так что стрелять более или менее в армии научить смогли. Да и вообще очень многому смогли научить, о том, что служил — не жалею ни секунды.
С праздником, друзья.
Я хоть и не электронщик по образованию, но сейчас приходится заниматься в том числе и ей. И у меня от увиденного тоже кровь в висках застучала. Практически готовая инструкция для книги «1000 сравнительно легких способов бросить жить».
Правильно понимаете.
Свои реализации есть также у поставщиков коммерческих систем виртуализации, (к примеру, у VmWare) и у Microsoft (используется на их смартфонах с WP8).
Сравнивать реализации довольно непросто, т.к. для обычного пользователя отличия будут несущественные (иначе выглядит BIOS Setup), а для продвинутого их будет слишком много. Но я обещаю подумать в этом направлении.
Даже дизассемблировать ничего не придется, достаточно записать единицу в нужный регистр EC.
Вообще говоря недорогие машины Dell (у меня Vostro 3360) оказались изнутри очень сильно так себе. Алюминиевый корпус алюминиевый только снаружи, внутри все крепится к пластику, в том числе и верхняя крышка (черех пару лет постоянных открываний-закрываний гайки вылетят из пластиковых стоек), чтобы сменить HDD на SSD пришлось разбирать корпус полностью, а крепежные винты оказались завинчены так туго, что один даже пришлось высверливать. Микросхема БИОСа расположена в 5 мм от края окна быстрого доступа к компонентам, а доступ к ней ограничен только специально добавленым пластиком (удаляем пластик паяльником и можно надевать клипсу программатора в случае сбоя прошивки, не разбирая весь ноутбук целиком). Батареи, занимающей 2/3 корпуса, едва хватает на 4 часа работы в Visual Studio, управление кулером сделано топорно и он излишне шумный (думаю написать свой драйвер, когда дойдут руки), на клавиатуре при быстрой печати ощутимо шатаются клавиши, причем часть дополнительных клавиш посылает скан-коды, а другая работает только через DMI, и сама клавиатура до сих пор имеет интерфейс PS\2. В качестве вишенок для торта — HDA-чип Cirrus Logic и динамики, слушать которые без слез невозможно, и кривой Phoenix SCT 2.3 с неработающим восстановлением после сбоя вместо нормального UEFI.
Я понимаю, что нельзя купить «почти ультрабук» за 500 евро и хотеть от него слишком многого, но это точно мой последний ноутбук Dell.
В таком случае наиболее удобный инструмент — SOIC-клипса, только лучше купить не китайскую за 10 центов, а нормальную, производства Pomona или 3M. Также не стоит забывать, что программатору, подключенному клипсой к припаянному к плате чипу, придется еще и половину платы запитывать, поэтому нужно либо выпаивать чип (это надежнее), либо организовавать дополнительное стабильное питание, чтобы во время чтения\записи не было ошибок. То, то микросхема поддерживает Dual или QuadSPI — ничего страшного, обыкновенный SPI она от этого поддерживать не перестает, а если ваш программатор умеет QuadSPI — просто будет прошиваться 30 секунд вместо 2 минут.
Идея адекватная, но встает вопрос «кто будет контролировать контролеров?». Ничего не мешает производителю оборудования запускать в этой TrustZone любые закладки АНБ программы, а если технология будет скомпрометирована — исправить что-то можно будет только заменой оборудования.
Практически на всех AMI, которые я встречал, регион BIOS либо не защищен вообще, либо защищен только установкой BIOS Lock, которую можно снять либо прошивкой через AFU в ключом /GAN, либо редактированием NVRAM. Цифровая подпись там хранится только в заголовке Aptio Capsule и в микросхему не попадает, а на некоторых платах (не будем показывать пальцем на Asrock) для обхода этой проверки можно просто удалить заголовок. В SMM там есть только обработчик установки бита BIOS Write Enabled, который ставит этот бит обратно, но и это можно отключить, сняв вышеупомянутый BIOS Lock редактирвоанием NVRAM.
Для Phoenix'ов имеются утекшие инженерные версии PFlash, которые прошивают что угодно даже на ноутбуках с последней версией платформы (SCT 2.3), где прошивка должна осуществляться описанным в вышеупомянутом докладе способом через оставление капсулы в памяти и софт-ресет, но по факту происходит обычным способом. Правда, на моем ноутбуке старая версия PFlash вызывает повреждение NVRAM, и после прошивки ноутбук перестает работать, но сам факт осуществления этой прошивки — на лицо.
Каких-то фундаментальных статей по безопасности UEFI я давно уже не видел, но скорее потому, что не слежу за темой, чем потому, что их нет. Вот тут можно посмотреть на практическую сторону «защиты» от прошивки модифицированных БИОСов, большая часть прозьб удовлетворяется вполне успешно.
Я бы посоветовал попробовать UEFITool в качестве альтернативы, чтобы не искать строки Total Commander'ом, но это дело вкуса, конечно.
Вот тут есть хорошее описание процесса загрузки UEFI с самого начала.
Я говорю вот об этом: А вы — об этом:На самом деле, там еще до копирования в память часть данных копируется в кэш 2 уровня, для которого затем включается No-Eviction Mode (NEM).
Тем не менее, часть кода, хоть и небольшая, действительно исполняется прямо из микросхемы.
Использование протокола QuadSPI дает пропускную способность микросхемы до 40 Мбит\с со временем доступа в 12.5 нс, конечно это намного медленнее RAM, но не настолько, чтобы было заметно человеку.
Именно поэтому для PEI-драверов должно быть выполнено требование executable-in-place, т.е. адреса всех переходов должны быть пропатчены заранее, а не при запуске.
Базовая версия стоит 300 евро, а это уже совсем другие деньги.
Хрестоматийный пример — Rindfleischetikettierungsüberwachungsaufgabenübertragungsgesetz, признаный самым длинным словом в общеупотребительном официальном немецком на сегодняшний день.
Вместо него стоит выделить платформозависимый код в отдельный DXE-драйвер и вызывать этот самый код через стандартные механизмы взаимодействия. Драйвер не загружен — до свиданья, никакого неопределенного поведения при запуске на ARM.
Идите к черту, инноваторы. В погоне за каким-то мнимым «прогрессом» и «модой» уже сейчас практически невозможно купить нормальную бытовую технику с простым управлением парой кнопок, не являющуюся при этом пластмассовой фигней из нижнего ценового диапазона.
Я недавно закончил магистратуру по CS в OTH Regensburg, где у нас были два очень интересных «железячных» предмета, которых я до этого в России не видел ни у кого (хотя, можно сказать, что плохо смотрел) — это Embedded Systems Design, т.е. основы разработки встраеваемой в самолеты, корабли и автомобили электроники и ПО, со всеми их специфическими требованиями к надежности, резервированию, методологиям разработки и стандартам ЯП, и Integrated Application Systems из двух частей — в первой было введение в разработку на FPGA, т.е. немного VHDL, немного Verilog, немного симуляторов и немного SystemC, а во второй — введение в совместный дизайн железа и софта, когда критические по времени выполнения части выносятся из софтовой части на FPGA. Возможно, в России этому учат электронщиков, но и специалистам по CS они точно лишними не будут.
На вопрос о том, много ли пришлось стрелять (хоть он был задан и не мне) отвечу, что по людям, к счастью, не пришлось, а вот по мишеням за время учебы в сержанской школе и дальнейшей службы отстреляно было прилично и всякого калибра, так что стрелять более или менее в армии научить смогли. Да и вообще очень многому смогли научить, о том, что служил — не жалею ни секунды.
С праздником, друзья.
Свои реализации есть также у поставщиков коммерческих систем виртуализации, (к примеру, у VmWare) и у Microsoft (используется на их смартфонах с WP8).
Сравнивать реализации довольно непросто, т.к. для обычного пользователя отличия будут несущественные (иначе выглядит BIOS Setup), а для продвинутого их будет слишком много. Но я обещаю подумать в этом направлении.
Вообще говоря недорогие машины Dell (у меня Vostro 3360) оказались изнутри очень сильно так себе. Алюминиевый корпус алюминиевый только снаружи, внутри все крепится к пластику, в том числе и верхняя крышка (черех пару лет постоянных открываний-закрываний гайки вылетят из пластиковых стоек), чтобы сменить HDD на SSD пришлось разбирать корпус полностью, а крепежные винты оказались завинчены так туго, что один даже пришлось высверливать. Микросхема БИОСа расположена в 5 мм от края окна быстрого доступа к компонентам, а доступ к ней ограничен только специально добавленым пластиком (удаляем пластик паяльником и можно надевать клипсу программатора в случае сбоя прошивки, не разбирая весь ноутбук целиком). Батареи, занимающей 2/3 корпуса, едва хватает на 4 часа работы в Visual Studio, управление кулером сделано топорно и он излишне шумный (думаю написать свой драйвер, когда дойдут руки), на клавиатуре при быстрой печати ощутимо шатаются клавиши, причем часть дополнительных клавиш посылает скан-коды, а другая работает только через DMI, и сама клавиатура до сих пор имеет интерфейс PS\2. В качестве вишенок для торта — HDA-чип Cirrus Logic и динамики, слушать которые без слез невозможно, и кривой Phoenix SCT 2.3 с неработающим восстановлением после сбоя вместо нормального UEFI.
Я понимаю, что нельзя купить «почти ультрабук» за 500 евро и хотеть от него слишком многого, но это точно мой последний ноутбук Dell.
закладки АНБпрограммы, а если технология будет скомпрометирована — исправить что-то можно будет только заменой оборудования.Для Phoenix'ов имеются утекшие инженерные версии PFlash, которые прошивают что угодно даже на ноутбуках с последней версией платформы (SCT 2.3), где прошивка должна осуществляться описанным в вышеупомянутом докладе способом через оставление капсулы в памяти и софт-ресет, но по факту происходит обычным способом. Правда, на моем ноутбуке старая версия PFlash вызывает повреждение NVRAM, и после прошивки ноутбук перестает работать, но сам факт осуществления этой прошивки — на лицо.
Каких-то фундаментальных статей по безопасности UEFI я давно уже не видел, но скорее потому, что не слежу за темой, чем потому, что их нет. Вот тут можно посмотреть на практическую сторону «защиты» от прошивки модифицированных БИОСов, большая часть прозьб удовлетворяется вполне успешно.