ThinkPad firmware reverse engineering — 31 мая 2026 г. в 15:09:18.909
ThinkPad firmware reverse engineering Вышел длинный writeup о тулчейне для анализа прошивок ThinkPad: он берет публичные BIOS-пакеты Lenovo, извлекает ACPI/UEFI/EC-части и превращает их в структурированные данные для портов coreboot, OpenCore, GPIO-аудита и диффов исправлений безопасности. Ценность тут в структуриванности исследования. У Lenovo BIOS обычно лежит как Windows .exe с WinFlash, .fl1/.fl2/.cap, readme и microcode .PAT. Если сначала отфильтровать настоящие BIOS-пакеты, потом прогнать их через innoextract/7z/binwalk, uefiextract и iasl, на выходе появляется повторяемый корпус: DSDT/SSDT, список UEFI-модулей, changelog с CVE/LEN advisory и данные для дальнейшего разбора. Самый интересный слой — GPIO. На AMD/Qualcomm ThinkPad пин часто лежит прямо в DSDT. На Intel DSDT может дать только GNUM(GFPI), а реальное значение во время загрузки кладет AcpiPlatform в GNVS. Тулчейн склеивает DSDT, записи AcpiPlatform и таблицы PlatformInit PADCFG, чтобы превратить «прерывание fingerprint reader» в именованный SoC pad вроде GPP_A22 и проверить mode/direction/lock. Отсюда уже растут статические вопросы безопасности: линии камеры, микрофона, fingerprint, SMI-routable inputs и GPIO приватности, которые может подделать привилегированный софт. Для CVE-части readme-майнер собирает CVE/LEN ID и подсистемы, module diff хеширует UEFI files между версиями, а fw_secdiff.py предлагает, где именно мог лечь фикс. В примере r0buj24ww → r0buj26ww изменились 66 из 546 модулей, включая SMM/TPM-связанные. Границы тоже названы честно: firmware-only путь не знает runtime-вариант платы, SPD/FSP могут отсутствовать, а для точности всё равно нужен live capture. Но как стартовая точка для реверса, coreboot/OpenCore-портов и аудита прошивок это сильная вещь: дешёвый воспроизводимый first pass до ручного копания в конкретном ThinkPad. p.s. вообще я читал про синкпады, т.к. думаю какой купить. А потом натнулся на это золотце)) Источник @poxek | MAX | Блог | YT | RT | VK

