联想网卡白名单

联想旧的笔记本机型在BIOS中对网卡ID作了限制,在每次开机前会校验PCIE卡槽内的网卡硬件ID,如果不在名单内就会显示unauthorized,拒绝开机
所以更换了白名单外的网卡只能对BIOS下手
以下仅为精简流程操作及原理

BIOS基础操作

先获得原有BIOS的ROM文件,方式很多,最靠谱是用硬件读取,我最终用到了CH341,USB转TTL,用排线引到一个夹子上,这样就不需要把BIOS芯片拆下,直接夹住针脚就行
用硬件的上位机读取BIOS,保存为ROM文件,备份以免变砖
使用RW-Everything读取ROM文件可获得私钥AcpiTbls.rw
使用PhoenixTool,读取ROM文件获得公钥,选择Lenovo平台,载入私钥即可将BIOS的ROM拆分为一个个的模块

替换白名单

原网卡BCM43228硬件IDPCI\VEN_14E4&DEV_4359&SUBSYS_060714E4&REV_00
可提取出BIOS内存储的十六进制值E4145943E4140706
使用Xsearch在刚刚拆分的模块内搜索得到的十六进制值
得到存储白名单模块的ROM文件名79E0EDD7-9D1D-4F41-AE1A-F896169E5216.ROM
新网卡BCM94352HMB硬件IDPCI\VEN_14E4&DEV_43B1&SUBSYS_2154103C
同样进行位置交换得E414B1433B1A2321
菜逼商家,打个驱动看网卡硬件ID都不会,当时硬件ID是网上找的不太敢确认
于是因为蓝牙ID忘换了,开机还是没进,误以为是ID错误
新旧网卡的蓝牙硬件ID也得同理替换,网上很多教程没有提到

删除白名单

因为以上原因,我无法确认BIOS的白名单内硬件ID替换是否正确,于是决定直接删除此模块
使用EzH2O载入ROM文件,删除模块79E0EDD7-9D1D-4F41-AE1A-F896169E5216.ROM
所以其实之前的步骤都没啥意义了,唯一作用就是知道了白名单存储在那个模块内
软件原理应该是保留了ROM模块的识别头之类的,删除了内容。因为我之前没下软件想当然的直接将ROM模块移到回收站,导致PhoenixTool打包出错了

刷入魔改BIOS

硬件烧写,安全可靠!
之前尝试软刷,遇到了不少问题,有些Google不出来实在解决不了
用测试夹而不是热风枪取下BIOS芯片是我最后的倔强了
还试过官方BIOS更新软件运行时偷偷删除白名单模块,结果过不了安装前的自检了