Однажды мне написал друг с ноутбуком Samsung R60. Процессор в этом ноутбуке поддерживает аппаратную виртуализацию, но по умолчанию она отключена, и в BIOS нет опции включения.
Биос - Феникс.
Мы не будем патчить биос, мы будем патчить NVRAM! Нам понадобится: • Средство извлечения модулей прошивки Samsung • Редактор BIOS Phoenix • SYMCMOS — устройство чтения/записи cmos • NDISASM — дизассемблер кода x86. • Загрузочная флэшка/дискета с DOS. Что ж, давайте начнем! Загрузите прошивку с сайта Samsung. Прошивка поставляется в одном .
exe файле вместе с прошивальщиком; вам нужно получить сам файл прошивки.
Для этого мы воспользуемся программой Samsung FW Modules Extractor.
Не все файлы распаковались, но это не важно.
Откройте прошивку в редакторе Phoenix BIOS, сверните ее и извлеките файлы BIOSCOD*.
ROM из папки TEMP редактора Phoenix BIOS. Он распаковал нашу прошивку.
Скопируйте файлы в другую папку, закройте Phoenix BIOS Editor. Веселье начинается.
Разберем файлы из прошивки, в моем случае их было 7 (0-6): $ for i in {0.6}; do ndisasm -a -p intel -b 16 BIOSCOD0$i.ROM > BIOSCOD0$i.dasm; done
Погуглив выяснилось, что нужно искать команду mov ecx,0x3a: $ grep 'mov ecx,0x3a' *.
dasm
BIOSCOD04.dasm:0000BE99 66B93A000000 mov ecx,0x3a
Отлично, команда найдена в файле BIOSCOD04.dasm! 0000BE99 66B93A000000 mov ecx,0x3a
0000BE9F 0F32 rdmsr
0000BEA1 668BD8 mov ebx,eax
0000BEA4 83E305 and bx,byte +0x5
0000BEA7 B86F06 mov ax, 0x66f
0000BEAA 9A355400F0 call word 0xf000:0x5435
0000BEAF C1E002 shl ax,0x2
0000BEB2 40 inc ax
0000BEB3 38D8 cmp al,bl
0000BEB5 7432 jz 0xbee9
Из кода видно, что значение по адресу 0x66f записывается в регистр ax, производится сравнение al и bl, и если оба значения совпадают, переходим на адрес 0xbee9 — адрес отключения виртуализации.
Пришло время для SYMCMOS. Создаем загрузочную флешку/дискету, записываем программу на носитель, загружаемся и выполняем symcmos -v2 -lNVRAM.TXT
Теперь у нас есть файл nvram.txt примерного содержимого: ( SYMBOLIC CMOS EDITOR - Version 643710-035 )
CRC = 350F
(0015) [0000]
(0018) [0001]
(001B) [0001]
(0021) [0000]
(0024) [0001]
(0027) [0001]
(002A) [0000]
(002D) [0001]
(0030) [0000]
(0036) [0000]
(0039) [0000]
(003F) [0001]
(0042) [0000]
.
(066F) [0000]
(0672) [0000]
(0675) [0000]
(0678) [0002]
(067B) [0000]
(067E) [0000]
(0681) [0002]
Видно, что значение параметра, отвечающего за виртуализацию, установлено в 0. Изменяем его прямо в этом файле: (066F) [0001]
Давайте снова загрузимся в DOS и выполним: symcmos -v2 -uNVRAM.TXT
Давайте перезагрузимся.
Та-дам! Аппаратная виртуализация активирована! Интересные ссылки: http://tjworld.net/wiki/Sony/Vaio/FE41Z/HackingBiosNvram - программа для активации VT-x без прошивки CMOS под linux http://forum.notebookreview.com/acer/465936-acer-laptop-phoenix-bios-enable-virtualization-test-machine-acer-aspire-9420-a.html - Как это все началось Теги: #Сделай сам или Сделай сам #Феникс БИОС #Феникс БИОС #VT-x #производители - крупный рогатый скот
-
Дублирование Законно И Выгодно Для Вас
19 Oct, 24 -
Это Паранойя?
19 Oct, 24 -
Эволюция Свп. Путешествие Бесплатно
19 Oct, 24 -
Вызов Общих Библиотек Из Simulink
19 Oct, 24