服务热线
Service Hotline
13064302332
首页 > 新闻中心 >

修改ThinkPad数字签名BIOS无线网卡白名单

发布时间:2018-04-23 16:47:57 阅读:0

实际上,到目前为止,由于固件进行了签名保护,修改并且刷入Thinkpad的BIOS已经算是一种偏hack方向的东西了,因此很多时候攻防是不断在对立发展的。

很多人在纠结刷白名单的方法,这里我再强调一次,如果你是近几年买的Thinkpad带EFI启动的笔记本,是无法通过软件刷入去除白名单的,因为官方升级时会校验ROM的签名,通过fpt和prr也不用尝试了,因为intel已经彻底锁住了写入。只有直接芯片读写目前可以刷入修改的固件

还有明确的一点,我们说的刷BIOS中的BIOS,现在其实包含两个部分:

也就是说主板的ROM里面其实包含着EC和BIOS这两套系统,有的主板把他们放在了一个芯片里面,有的主板是分开两个芯片存放的。比如我的x230i,BIOS存放在8M的芯片25L6406E中,而EC存放在25L3206E的4M芯片中。而且控制网卡白名单的,是EC

因此我们在刷白名单的时候,需要把EC读出来,然后按我之前说的方法进行修改并且刷回,建议不要使用软件的方法去读,我测试过貌似软件读出来的和芯片直接读取的内容是不一样的。

有人在使用fpt工具读取的时候,读出了一个7M大小的文件,实际上前3M全是FF,所以是没用的,后4M是EC,我本人没有试过用这种读出的EC去修改然后刷入,不敢保证成功率。实际上要辨别读出来的是不是EC也很简单,这里给出一个EC头特征,看到这个特征,那么这个4M的内容基本是EC没错了:

?
1
2
00000000000000000000000000000000
D954937A68044A44

基本上第一行肯定是0,第二行如上,如果看到这样的文件,说明你找到了EC,使用我之前文章说的修改并且刷回就OK了。

 

要使用白名单我们可以先在windows的设备管理器中查找现在无线网卡的硬件ID,作为特征码,在后面搜索BIOS中会用到,如下图

device_id

 

上面是我后来截图的例子,比如我笔记本上的老的无线网卡硬件Id是:

?
PCI\VEN_10EC&DEV_8176&SUBSYS_819510EC&REV_03

忽略最后一个REV参数,那么对每个字段分别使用little-endian小段字节序就是

?
1
EC107681EC109581

新网卡的硬件Id可以把笔记本盖合上,进入休眠状态,更换硬件后,同理查看得出。

在纯DOS下使用fpt工具可以得到一个4M大小的BIOS备份文件,这就是当前主板ROM中运行的BIOS了,我们使用phoenixtool来打开它,最好用最新版本,我做的时候是2.51,下载地址:

http://forums.mydigitallife.info/threads/13194-Tool-to-Insert-Replace-SLIC-in-Phoenix-Insyde-Dell-EFI-BIOSes

使用工具打开备份的BIOS文件,会提示你发现了公钥。

phoenixtool

然后在厂商中选择联想Lenovo,点开Advanced菜单,勾上No SLIC以及Allow user to modify other modules,然后就Go.

phoenixtool你会看到对话框如下,这时候千万不要点确定,使用Xsearch对BIOS文件同目录的dump文件夹进行硬件ID的特征查找(开始没有找到这个工具,是自己写了个Python进行的,真是蛋疼)。工具下载地址:

http://www.easexp.com/xsearch/

xsearch

好的,找到了所在模块文件,我们只需要修改后缀为ROM的那个文件,使用Winhex或者Ultraedit打开,在里面搜索一下可以看到了,我的是在偏移270h的位置。

bios_rom

这整齐的几行的就是无线网卡的白名单地址了,修改下面的任意一个地址为你的新无线网卡白名单地址,然后保存文件,点击刚刚phonixtool弹出的对话框,就会自动将修改后的BIOS进行封装和打包了,最后得到一个同目录下新的BIOS文件,也是4M大小。

有了新BIOS文件后下面进行刷回工作,上篇文章说过,使用fpt工具查看你的芯片型号,然后上某宝搜索一下芯片大概的样子,对于我来说,某宝就是半本百科全书啊。本文原创自Jarett的nigesb.com,最近转载不注明出处的文摘网站太多了,在这里鄙视一下。如果有两个芯片的话,会比较恶心,因为你不知道哪个是存EC(embeded Controller,嵌入式控制器)的,哪个是BIOS,搞不好后面都要焊下来,在我的电脑上,是BIOS和EC一起存在一个8M的W25Q64FV中,注意,这里fpt工具读到的未必是准确的芯片型号,有可能是是兄弟型号什么的。知道了芯片大概外面样子,我们就拆机吧,哈哈哈,然后找到我们的芯片。

e430c_motherboard

 

e430c_motherboard

建议拿到熟悉使用烙铁的师傅那里把芯片点下来使用支持该芯片的的编程器进行读出和写入,如果一切顺利的话,那么会读出来一个8M的ROM文件,包含了EC和BIOS,我们要在里面找到BIOS文件的位置,并且使用修改过的BIOS文件替换这一部分,不可以直接使用前面修改的BIOS,一般都是在后面的4M位置。

bios_rom_fix

 

使用修改版的文件替换进去,然后焊回芯片,大功告成!

上一篇:LCD液晶显示器灯管改装成LED灯条全过程 下一篇:Z410 Z510支持无线网卡和如何刷BIOS无线网卡白名单

收缩
  • 13064302332
  • 18990736103