Комментарии 40
cscript.exe SetConfig.vbs SecurityChip Active
Перезагружаемся и, если в биосе включен aes путем редактирования прошивки, во время загрузки услышим пять бипов. Но ОСь TPM всё равно видеть не будет, хотя он и активирован — нужно править биос.
И TPM, как я говорил, даже можно активировать, но в ОСи его не видно.
Ламерский вопрос — если я замыкая ноги 1 и 5 замкну ещё случайно шестую, очень страшно будет? Понятно что лучше этого избегать, но походу на моём ноуте всё слишком близко расположено, и удобных площадок куда можно подцепиться просто нету рядом с аудиочипом, так что придётся прямо к самим ножкам видимо цепляться.
Было бы круто если CodeRush бы ответил — насколько я понял, он известный специалист в этой области. Был бы весьма признателен.
Как бонус — производитель вложил в драйвера все системные тулзы и даже PreProduction и Production бинари ME-региона!
Отвечаю: замыкать надо вывод чипсета HDA_SDO на единицу (т.е. на 3.3В или 1.8В на Атомах). Если удобных площадок нет, надо работать с тем, что есть, но что будет от замыкания шестой ноги на питание — тут я не могу сказать наверняка, это зависит от модели аудочипа.
Спасибо за наводку на нужный пин. Я попробовал на Asus X550VB. Но не получилось. Дело было так:
Без всяких хардверных манипуляций с помощью Intel Flash Programming Tool (под Win x64) успешно вычитал DESC
, BIOS
и GBE
. А ME
оно, естественно, отказалось читать (мол, прав нет). Также, DESC
не удалось записать (опять-таки, прав нет). Надо разбирать ноут.
Нашёл звуковуху (ALC277). На этот чип даташита нет, но я глянул распиновку в аналогичном (проверял другие ножки, чтобы соответствовали):
Нашёл нужную ножку (а она ещё и шелкографией помечена. Совпадение?):
Пины очень маленькие, ещё и снизу платы всё это, ноутбук включать неудобно. Но добрый человек подсказал, где контакт выходит на другую сторону платы. Я проверил — и правда он. Также, уже самостоятельно, нашёл точку пина питания и потом, уже от отчаяния, ещё один пин:
Сколько раз я ни пробовал — всё без толку. Подавал +3.3В и на SDATA-OUT, и (от безнадёги) на SDATA-IN (не одновременно). Подавал начиная от всовывания штекера, и до момента, когда БИОС просит пароль на загрузку.
Первые разы загружался в Windows, пробовал — нет права читать ME
, нет права писать в DESC
. Потом в Винду грузиться задолбался, закинул на флешку UEFI shell. Начал так же пробовать через EFI-шные версии тулзов. Попытка через Flash Programming Tool (EFI) записать в DESC
— результат тот же. MEInfo что в Винде, что в UEFI выдаёт строчки
Host Read Access to ME: Disabled
Host Write Access to ME: Disabled
ЧЯДНТ?
.\MEInfoWin64.exe
Intel(R) MEInfo Version: 8.1.56.1541
Copyright(C) 2005 - 2014, Intel Corporation. All rights reserved.
Intel(R) ME code versions:
BIOS Version: X550VB.217
MEBx Version: 0.0.0.0000
Gbe Version: 1.3
VendorID: 8086
PCH Version: 4
FW Version: 8.1.2.1318
UNS Version: Not Available
LMS Version: Not Available
MEI Driver Version: 11.0.0.1157
Wireless Hardware Version: Not Available
Wireless Driver Version: Not Available
FW Capabilities: 0x01101C60
Intel(R) Anti-Theft Technology - PRESENT/ENABLED
Intel(R) Capability Licensing Service - PRESENT/ENABLED
Protect Audio Video Path - PRESENT/ENABLED
Intel(R) Dynamic Application Loader - PRESENT/ENABLED
CPU Upgrade State: Not Upgradable
Cryptography Support: Disabled
Last ME reset reason: Power up
Local FWUpdate: Enabled
BIOS Config Lock: Enabled
Host Read Access to ME: Disabled
Host Write Access to ME: Disabled
SPI Flash ID #1: EF4017
SPI Flash ID VSCC #1: 20052005
SPI Flash BIOS VSCC: 20052005
BIOS boot State: Post Boot
OEM Id: 00000000-0000-0000-0000-000000000000
Capability Licensing Service: Enabled
Capability Licensing Service Status: Permit info not available
OEM Tag: 0x00001043
Localized Language: Unknown
Independent Firmware Recovery: Disabled
Проверять надо той же утилитой MEInfo, только с параметром -FWSTS, если все сработало верно, то ME окажется отключенным, и дальше уже через Intel FPT можно шить и дескриптор, и регион МЕ. При этом все утилиты (в том числе MEInfo) продолжат рапортовать о том, МЕ защищен от записи, просто защита эта перестанет работать.
Спасибо за ответ.
Ок, допустим я неправильно смотрел MEInfo. Но это не не должно было повлиять на возможность записи, верно?
Я без вызова MEInfo сразу пытался шить и из Винды, и из UEFI. Результат был такой (это я уже для демонстрации запустил без закорачивания нужных контактов на плате, но с закорачиванием результат был точно такой же):
.\fptw64.exe -desc -f .\X550_ME_SPI_DESC_UNLOCK.bin
Intel (R) Flash Programming Tool. Version: 8.1.60.1561
Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.
Platform: Intel(R) HM76 Express Chipset
Reading HSFSTS register... Flash Descriptor: Valid
--- Flash Devices Found ---
W25Q64BV ID:0xEF4017 Size: 8192KB (65536Kb)
PDR Region does not exist.
Error 25: The host CPU does not have write access to the target flash area. To enable write access for this operation you must modify the descriptor settings to give host access to this region.
Шить отказалось. Считывать могу (как и раньше). Сравнивая считанное вижу, что ничего не записалось. ME
вычитать также не могу (и с закорачиванием контактов не мог):
.\fptw64.exe -me -d .\X550_ME_SPI_ME.bin
Intel (R) Flash Programming Tool. Version: 8.1.60.1561
Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.
Platform: Intel(R) HM76 Express Chipset
Reading HSFSTS register... Flash Descriptor: Valid
--- Flash Devices Found ---
W25Q64BV ID:0xEF4017 Size: 8192KB (65536Kb)
Error 26: The host CPU does not have read access to the target flash area. To enable read access for this operation you must modify the descriptor settings to give host access to this region.
Я несколько раз всё проверял. Прозванивал та ли это нога. Убедился, что не звонятся соседние ножки. Это всё происходило без аккумулятора.
Замыкал разными вещами (и пинцетом, и ножницами). Убедился, что есть электрическое соединение между точками после замыкания…
Закорачивал, потом всовывал штекер питания, держал точки замкнутыми до момента, когда БИОС просит пароль на загрузку. И всё-равно ничего не добился.
Мне уже кажется, что для меня нет другого способа, кроме как выпаивать SPI флеш и шить его программатором…
Если прошить разлачивающий DESC
(каким-либо способом), тогда уже будет свободный доступ к ME
на чтение и запись, верно?
Пришлось разбирать ноут т.к. динамик захрипел. Заодно решил попробовать ещё раз сделать задуманное. И...
Успех!
Я подозревал, что ничего не выходит при замыкании контактов возле аудиочипа потому, что между аудиочипом и чипсетом есть резистор.
Начал искать куда идёт дорожка. Нашёл возле чипсета переходное отверствие куда она входит (на картинке отмечено красным внизу зелёного круга). К сожалению эта дорожка заходит в средние слои материнки. Но чудом мне удалось найти место, где она выходит наружу (я ведь почти здался!). Это место отмечено красным на картинке (в верхней части зелёного круга).
И правда: после этого сигнал идёт через чёртов резистор! Вот как раз после резистора (обведено жёлтым на картинке) и надо закоротить на +3.3 В. Рядом очень удобно расположена крупная площадка с таким напряжением (обведено жёлтым на картинке). Сразу же получилось!
Компьютер запустился в этом режиме. Простой вызов MEInfo
работать перестал. Зато показания MEInfo -FWSTS
изменились.
Intel® MEInfo Version: 8.1.56.1541
Copyright© 2005 — 2014, Intel Corporation. All rights reserved.
FW Status Register1: 0x1E000245
FW Status Register2: 0x60000106
CurrentState: Normal
ManufacturingMode: Disabled
FlashPartition: Valid
OperationalState: M0 with UMA
InitComplete: Complete
BUPLoadState: Success
ErrorCode: No Error
ModeOfOperation: Normal
ICC: Valid OEM data, ICC programmed
Intel® MEInfo Version: 8.1.56.1541
Copyright© 2005 — 2014, Intel Corporation. All rights reserved.
FW Status Register1: 0x1E040185
FW Status Register2: 0x10520106
CurrentState: Normal
ManufacturingMode: Disabled
FlashPartition: Valid
OperationalState: Bring Up
InitComplete: Initializing
BUPLoadState: Success
ErrorCode: No Error
ModeOfOperation: Unsecured mode by H/W jumper
ICC: Valid OEM data, ICC programmed
PhaseStatus: UNKNOWN
Прошил разблокирующий DESC
. Выключил и включил комп, чтобы попасть в обычный режим (просто перезагрузка не сбрасывает режим, надо чтобы комп выключил питание (не обязательно обесточивать физически, просто завершение работы)). Теперь показания MEInfo -FWSTS
в обычном режиме немного отличаются от обычного режима до разблокировки. Изменилось значение FW Status Register1
и теперь ManufacturingMode: Enabled
.
Intel® MEInfo Version: 8.1.56.1541
Copyright© 2005 — 2014, Intel Corporation. All rights reserved.
FW Status Register1: 0x1E000255
FW Status Register2: 0x60000106
CurrentState: Normal
ManufacturingMode: Enabled
FlashPartition: Valid
OperationalState: M0 with UMA
InitComplete: Complete
BUPLoadState: Success
ErrorCode: No Error
ModeOfOperation: Normal
ICC: Valid OEM data, ICC programmed
Ну и простой вызов MEInfo
в обычном разблокированном режиме работает и показывает, что блокировка снята (это единственное, что поменялось):
Host Read Access to ME: Enabled
Host Write Access to ME: Enabled
Буду экспериментировать :)
Что интересно: каждый раз при вычитывании ME
бинарь немного отличается (несколько раз читал с помощью FPT под Windows64).
Но первый раз вычитывал с помощью FPT под UEFI и этот бинарь отличается гораздо сильнее от тех, что считаны под Windows.
Открыл FULL и наблюдаю сразу такое:
Непонятно. Первый пункт вроде как отключает AMT и включить нельзя, а второй свидетельствует, что уже всё включено. Что бы это значило?
Вроде как Intel Secure Boot называется.
На новых ThinkPad есть.
Интересная все таки вещь, Хабр: сначала появляется статья, предупреждающая чуть ли не о восстании машин… а затем — как это восстание устроить.
Желающим покопаться во внутренностях — рекомендую эти две утилиты для распаковки ME прошивки на модули https://io.smashthestack.org/me/ и https://github.com/skochinsky/me-tools
Как включить Intel AMT, если производитель это «забыл»