lichz | Дата: Среда, 27.03.2019, 06:07 | Сообщение # 1 |
Группа: Удаленные
| В случае неудачной прошивки или повреждения аппарата yи я, ни администрация ресурса ответственности не несут! Все действия вы делаете на свой страх и риск. Будьте очень аккуратны. Никто кроме вас не несет ответственность за любые негативные последствия данной модификации.
Здесь описан следующий способ: найти информацию в BIOS о нынешней карте, и подменить данными из новой (VEN, DEV, SUBSYS).
Источник https://habr.com/ru/post/108820/
Нам необходим disassembler IDA, файл прошики с официального сайта hp для ноутбука, и утилита для распаковки файла прошивки bios - Phoenix Tool 1.64 , а также любой HEX редактор Все необходимое кроме вашего файла прошивки вы найдете ниже:
1) Скачиваем BIOS с официального сайта, в моём случае это sp57396.exe
2) Распаковываем в любую папку с помощью любого архиватора.
3) Запускаем PhoenixTool.
3.1) Нам необходимо распаковать прошивку BIOS на исполняемые модули. Для этого открываете файл из распакованной прошивки:
Появится надпись WORKING и PhoenixTool распакует прошивку на модули.
3.2)В PhoenixTool необходимо произвести следующие настройки:
В Графе Manufactured установит в Other В Advanced установить чекбоксы на пунктах «no SLIC» и «Allow user to modify other modules»
3.3) Нажимаем кнопочку "STRUKTURE" для того что бы определится который модуль нам нужен. В моем случае это модуль CD28DACA-BDBE-481A-90AC-625C79CF234C_1029 который называется H19BIOSLock, именно он отвечает за проверку валидности карт. В источнике у автора немного другой модуль E62F9F2F-4895-4AB5-8F1A-399D0D9C6B90 с названием WirelessDetection
3.4) Далее нажимаем Go и не закрываем окно с информацией, это позволит сделать нам изменения и после нажатия OK внести их в файл прошивки.
Теперь у нас есть папка DUMP со всеми модулями BIOS.
4) Открываем IDA Pro Advanced (64-bit), т.к. модули прошивки откомпилированы под 64 bit Ищем модуль в директории DUMP, например CD28DACA-BDBE-481A-90AC-625C79CF234C_1029 (1029 необязательно, они меняются от модели ноутбука и версии BIOS), главное модуль проверки карт самый большой из соседствующих (например наш 8Кб)
Необходимо найти функцию проверки. Будем опираться на известную нам информацию о предыдущей карте wifi, найдём функцию, по VEN DEV SYBSYS. У родной wifi платы ИД оборудования был такой PCI\VEN_14e4&DEV_4727&SUBSYS_145C103C В IDA прокручиваем указатель на самый верх кода, и делаем Search -> Text, вставляем 14e4, 4727, 145c, 103c по очереди и оказываемся в нужном участке кода.
6) Редактируем файл модуля, установив крусор в IDA на команду mov ebp, 14E4h и переключив в окно Hex View A, узнаем цепочку байтов — она нужна для поиска в hex редакторе, для того чтобы заменить на «правильную карту» В Heх редакторе последовательность записывается наоборот 14е4 - е414
Для этого откроем CD28DACA-BDBE-481A-90AC-625C79CF234C_1029 в HEX редакторе и ищем нужную последовательность заменяя её необходимыми значениями VEN DEV SYBSYS новой карты.
7) Прошивка Закрываем IDA, HEX редактор итд!
Возвращаемся в открытый PhoenixTool, теперь нажимаем кнопку OK,
наши изменения сохранятся в xxxxx_SLIC.bin (например 0165СF42_SLIC.bin) необходимо переименовать в файл без суффикса SLIC (например 3623F42.bin)
Всё теперь можно запускать InsydeFlash.exe и прошивать наш измененный BIOS. Или же запрограмировать файл 0165СF42_SLIC.bin.dex напрямую в микросхему c помощью программатора
|
|
|
Эти пользователя(ей) поблагодарили lichz за сообщение: |
|
|