教你如何解除1802、1804和“白清单”限制

所属分类: 硬件教程 / 笔记本 阅读数: 107
收藏 0 赞 0 分享

引言
这样的BIOS论坛上就有得下载,为什么要自己搞那么高风险的事情呢?只要是出于两方面的考虑:一方面,某些机型的MOD BIOS论坛上没得下载,就好像我的R61i 8943机型;另一方面,论坛上下载的MOD BIOS很难全面跟得上官方更新速度。从年初开始我一直在关注R61i 8943A18 15寸普屏机型解除1802、1804和“白清单”限制的BIOS,并通过多种方式联系国内、外的高手,但到前两天为止都还没有此机型的MOD BIOS放出来。

参考forum.thinkpads.com论坛里Zender网友发表的修改BIOS资料后,决定自己动手。经过这两天日日夜夜的折腾,于今天上午终于完成了对R61i 8943机型BIOS的修改,并在我的机子上测试通过。给机子升级的联想拆机Intel WiFi Link 5100 AGN无线网卡工作完美,无须绝缘第20脚,开机无1802报错,硬件无线开关和Fn F5组合键,无线指示灯全部工作正常。

可行性研究
ThinkPad笔记本电脑自从T43起更改了BIOS对无线网卡检测机制,再也不能像之前的机型那简单“跳过”处理来解决非认证网卡使用的问题。经Zender网友的研究发现:新机型,例如我的R61i,BIOS里面对无线网卡检测代码存放在BIOSCODE区域的B.05模块里面。B.05模块的无线网卡相关内容包括两方面主要内容:1、认证的无线网卡数据,即我们所说的“白清单”或者“whitelist”;2、无线网卡检测过程及检测结果数据的传送。由此可以看出实现对非认证无线网卡的使用可以从三方面入一手:

1、把非认证的无线网卡数据加入到B.05模块中,但此方法不太实际,非认证的无线网卡实在太多了,对用户来说用哪张无线网卡就加那张卡的数据入去也不容易操作;

2、修改B.05模块中对无线网卡检测过程,这个方法看上去不错,但实际操作起来也有非常大的困难,主要因为不同此检测过程不同,而且要修改多处,例如R61i 8943就要修改50多处;

3、更改无线网卡检测结果,在B.05模块对无线网卡检测后,无论其检测结果如何都把其检测的结果更改为“是”。所以第三个方法最好,只要更改一处理论上就可以实现对所有非认证的无线网卡的正常使用。

B.05模块对无线网卡的检测首先检测miniPCI-E插槽有没有无线网卡,如果检测到有无线网卡就读取无线网卡的硬件数据。然后拿这个读取得来的数据在“白清单”查找,查找的结果存放某个状态寄存器里面。此状态寄存器被清除(即清0),表示miniPCI-E插槽上没有无线网卡或者无线网卡是通过认证的;此状态寄存器被设置(即置1),表示此无线网卡非认证的,同时给无线网卡第20脚发送一个无线传输关闭的信号(“radio disable”)。只要在B.05模块对无线网卡的检测后,人为再将这个状态寄存器清0一次即可。

实现过程设计
在总结forum.thinkpads.com论坛Zender和本论坛cayman网友的经验,并作了一些简化后得出如下实现过程:
1、获得ThinkPad BIOS的镜像文件。利用官方网站的BIOS升级文件包中WinPhlash.exe程序通过对BIOS进行备份便可以获得BIOS镜像文件。
2、从BIOS镜像文件中提取BIOSCODE区域的B.05模块。运行phnxdeco.exe后,生成的phoenix_.B5便是BIOSCODE区域的B.05模块。
3、通过修改phoenix_.B5文件实现在B.05模块对无线网卡的检测后将状态寄存器清0。此过程由phnxpatch.exe完成。
4、把修改后的phoenix_.B5压缩文件成B.05模块。prepare.exe实现对phoenix_.B5压缩。
5、把修改后的B.05模块放回BIOS镜像文件中的BIOSCODE区域。此过程由phnxmod.exe完成。
6、更新修改后的BIOS镜像文件校验码。此过程由phnxcksm.exe完成。
7、把修改后的BIOS镜像文件刷回ThinkPad中。再次利用WinPhlash.exe刷新BIOS。

详细实现过程
先到ThinkPad官方网站上下载对应最新的BIOS硬盘版升级程序,按官方说明更新BIOS。下载本贴的附件,解压后会成生一个名为bios_mod的文件夹,里面包含修改所需的程序。此过程都在此文件夹里面完成。然后开始修改BIOS。

1、获得ThinkPad BIOS镜像文件。
首先找到官方的BIOS升级程序所在的文件夹,一般在C:\DRIVERS\FLASH里面。然后运行WinPhlash.exe程序,并设置为只备份BIOS的操作模式,填入BIOS备份文件名:bios.bak,点击“Browes”按钮找到程序所在的文件夹里面扩展名FL1的BIOS文件,然后点击右下角的“Backup BIOS”按钮进行备份BIOS。程序运行完成后,便会在程序所在文件夹里生成一个名为bios.bak的BIOS镜像文件。把这个bios.bak文件复制到bios_mod的文件夹里面。

2、从BIOS镜像文件中提取BIOSCODE区域的B.05模块。
打开命令行窗口,并进入到名为bios_mod的文件夹中。
输入命令:phnxdeco bios.bak -x
回车运行。运行完毕后会在bios_mod文件夹中生成几十个文件。在生成的文件中找到名为:phoenix_.B5的文件,并复制到此目录下名为:models的文件夹里面。然后把那些生成的多余的文件删除,以防出错。

3、修改phoenix_.B5文件
在命令行窗口里面输入命令:phnxpatch patches models
回车运行。程序运行完毕后会在models文件夹中生成名为:phoenix_.B5.patched文件。
此过程不能在Windows Vista下操作。

4、把修改后的phoenix_.B5文件压缩成B.05模块
把models文件夹中:
phoenix_.B5文件重命名为:old.b5
phoenix_.B5.patched文件重命名为:new.b5

把models文件夹中old.B5和new.B5两文件复制到bios_mod文件夹中。
在命令行窗口里面输入命令:prepare old.txt
回车运行。
在命令行窗口里面输入命令:prepare new.txt
回车运行。
两次命令运行完毕后生成4个文件:OLD.LOG、OLD.MOD、NEW.LOG、NEW.MOD,其中OLD.MOD和NEW.MOD将在后面的操作过程中会用到。

查看OLD.MOD和NEW.MOD两文件的大小是否一样,如果大小不一样就要用HEX工具把NEW.MOD文件的最后增减“00”,直到与OLD.MOD一样大小为止,否则将无法进行下一步的工作。我的例子中,NEW.MOD文件比OLD.MOD小了7个字节,所以要在其最后增加7个“00”使两文件大小一样。

5、把修改后名为NEW.MOD文件放回到BIOS镜像文件:bios.bak中
在命令行窗口里面输入命令:phnxmod bios.bak OLD.MOD NEW.MOD
回车运行。

6、更新修改后的BIOS镜像文件校验码 在命令行窗口里面输入命令:phnxcksm bios.bak
回车运行。运行完毕后,把bios.bak文件重命名为:bios.rom

7、把修改后的BIOS镜像文件bios.rom刷回ThinkPad BIOS中
把bios_mod文件夹中名为:bios.rom的修改后的BIOS镜像文件复制到官方BIOS升级程序所在的文件夹,一般在C:\DRIVERS\FLASH里面。然后在此文件中运行WinPhlash.exe程序把修改后的BIOS镜像文件bios.rom刷回ThinkPad。

测试结果

修改BIOS后的R61i用联想拆机的Intel WiFi Link 5100 AGN无线网卡工作完美,无须绝缘第20脚,开机无1802报错,硬件无线开关和Fn F5组合键工作正常,无线指示灯工作正常。

总结
单从结果上看似乎已经是很久很之前的事情了,别人早就做过。可是很多事情别人都做的,看似很容易,如果没有亲身实验,始终是没办体验到那过程的艰辛和乐趣。经过此次动手不但学会了如何修改ThinkPad的BIOS来解除1802、1804和“白清单”限制,同时在前人的基础上对操作过程作了优化,减少了修改过程中两个步骤:解压缩扩展名为FL1的官方BIOS文件和压缩修改后BIOS镜像文件成为FL1文件,并使操作过程更简单一些,全新过程直接在windows XP下实现。

注:
1、附件中部分文件和程序由forum.thinkpads.com论坛里Zender网友提供,版权为Zender网友所有。
2、未经本人同意不得转载。

补充:
1、phnxdeco.exe程序无法支持大于2M的BIOS镜像文件,附件的phnxsplit.exe程序则可以,使用方法差不多。例如:X200的BIOS镜像文件为8M,则要用phnxsplit.exe来提取BIOS模块,并生成文件。
2、不同机型BIOSCODE中对无线网卡检测及“白清单”代码存放的模块不同。但一定在由phnxsplit.exe程序生成以名为:BIOSCODExx.ROM的文件中,或者由phnxdeco.exe生成以名为:phoenix_.Bx文件中。

只要把这些文件,全部复制入models文件夹中即可。当运行phnxpatch程序后,models文件夹中生成以patched为扩展名为破解后的文件。

例如X200的最新的3.03BIOS镜像为8M,只能用phnxsplit.exe来提取BIOS模块。运行phnxpatch后在models文件夹中生成了BIOSCODE06.rom.patched,表明X200的最新的3.03BIOS的BIOSCODE中对无线网卡检测及“白清单”代码存放的模块为BIOSCODE06。此时只要对BIOSCODE06处理即可,其它可以不理。

3、再把文件BIOSCODE06.rom重命名为:old.b5
件BIOSCODE06.rom.patched重命名为:new.b5
然后继续其它步骤即可。

更多精彩内容其他人还在看

深海幽灵Z2笔记本值得买吗 i7-9750H+GTX 1660 Ti机械革命深海幽灵Z2评测

北京时间4月23日,英特尔、英伟达相继发布了移动端新品,前者推出了第9代酷睿标压处理器,后者推出了GTX 16系列移动显卡,今天我们就来聊聊深海幽灵Z2-G。机械革命深海幽灵Z2-G除了搭载了英伟达最新的GTX 1660 Ti显卡以外,还升级了第9代英特尔酷睿i7-9750H处理
收藏 0 赞 0 分享

雷神5代911值得买吗?16.6寸新雷神911游戏本全面评测图解

第五代新911搭载雷神独创16.6英寸电竞屏幕,搭载第九代智能英特尔酷睿i7-9750H处理器,在游戏性能上得到显著提升。那么雷神5代新911电竞本性能如何呢?下面就通过测评了解下
收藏 0 赞 0 分享

惠普TPNC125笔记本怎么拆后盖?

惠普TPNC125笔记本怎么拆后盖?TPNC125笔记本想要拆机,该怎么拆后盖呢?下面我们就来看看TPNC125笔记本拆后盖的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

机械师F117-FPro性能如何 机械师F117-FPro游戏本图解评测

几乎在每一年里,机械师游戏本都赶在英特尔新款处理器发布之前就推出一系列新品,而我们本文介绍的就是机械师F117-FPlus线下版——F117-FPro电竞游戏本
收藏 0 赞 0 分享

神舟战神Z7-CT7NA值得买吗 GTX 1660Ti游戏本神舟战神Z7-CT7NA全面评测

搭载全新GTX16显卡的游戏本上市啦!除了全新的显卡还搭载了最新的九代酷睿标压移动处理器,今天给大家带来GTX 1660Ti游戏本神舟战神Z7-CT7NA全面评测
收藏 0 赞 0 分享

戴尔XPS 13 9380笔记本性能如何 戴尔XPS 13 9380轻薄本上手体验及简评

小到手机,大到电视,近些年来手机厂商们一直在不断尝试将设备屏幕更好、更全面的延伸到边框边缘,从而带来更为震撼的视觉效果。而说到窄边框电脑,就不得不提戴尔的XPS系列,今天给大家带来戴尔XPS 13 9380轻薄本上手体验及简评
收藏 0 赞 0 分享

苹果macbook笔记本怎么多个图库怎么选择打开?

苹果macbook笔记本怎么多个图库怎么选择打开?macbook中的软件会自动创建图库,导致有很多图库,该怎么选择图库并打开呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

机械革命Z2-G值得买吗 机械革命Z2-G笔记本上手体验及优缺点评测

机械革命Z2-G笔记本怎么样?值得入手吗?下面小编带来机械革命Z2-G笔记本上手体验及优缺点评测,希望对大家有所帮助
收藏 0 赞 0 分享

机械革命深海泰坦X9Ti-R值得买吗 机械革命深海泰坦X9Ti-R全面图解评测

4月份对于游戏本玩家来说是个大日子,因为英特尔、英伟达相继发布了9代酷睿标压处理器和GTX 16系列移动显卡,目前已经有很多游戏本厂商推出了搭载两者的最新产品,比如机械革命。今天给大家带来机械革命深海泰坦X9Ti-R全面图解评测
收藏 0 赞 0 分享

华硕灵耀Deluxe14值得买吗 华硕灵耀Deluxe 14优缺点全面评测

从2018年开始,笔记本上也开始流行超窄边框,这样带来的好处就是在屏幕大小不变的情况下,笔记本机身更加小巧,屏幕的沉浸感也更强。现如今,各家笔记本厂商都推出了自家轻薄本系列,我们今天要评测的这款就是华硕家的灵耀Deluxe14
收藏 0 赞 0 分享
查看更多