cracker_007 发表于 2019-10-25 19:23

【原创】t440p bypass白名单(适用于任何BIOS版本)

本帖最后由 cracker_007 于 2019-10-26 04:53 编辑

14年在某宝购入的T440p,据说是给美国大客户定制的机器,当时的配置是i7 4710mq,16G内存,独立显卡,1080P ips屏,120G ngff SSD + 1T机械硬盘。作为一个资深码农,又爱折腾。小黑伴我这么多年不离不弃,不对它升级又不是我性格。思前想后,觉得目前也只有CPU,SSD硬盘,网卡能够升级。目前已经升级了CPU到4910mq,直接装上即可,平时又不玩游戏,又不拷机,风扇都不怎么转。扩容SSD硬盘很简单,买一个512G换上即可。网卡原来是intel 7260N,用了这么多年也没啥问题,但能用9260ac或者ax200为啥不用呢,心里一直痒痒。早就买了BIOS编程器(CH341A)和小夹子。本坛里面有个帖子(《【转帖】T440P无限(线)网卡白名单分享》https://www.ibmnb.com/forum.php?mod=viewthread&tid=1892805&extra=page%3D1%26filter%3Dtypeid%26typeid%3D4)讲如何进行修改的,但不知是哪个版本的BIOS,我用的是最新2.54,没找到替换点。在国外的论坛里面找,人家不免费给你改。算了,自己从零开始搞。
此贴算个教程贴,基于最新BIOS 2.54修改。不敢说100%原创,主要是参考了一个国外网友的帖子,我主要是翻译一下,顺便改进+实践操作。https://medium.com/@p0358/removing-wlan-wwan-bios-whitelist-on-a-lenovo-laptop-to-use-a-custom-wi-fi-card-f6033a5a5e5a
另外,BIOS数据备份和刷入的一些操作细节请参考《【原创】T440P解锁Bios高级菜单》https://www.ibmnb.com/forum.php?mod=viewthread&tid=1888819&highlight=BIOS%2B%B8%DF%BC%B6
工具:IDA ProUEFIToolWinHex
先用UEFITool打开备份出来的BIOS文件,找到LenovoWmaPolicyDxe,把PE32 Image提取出来,随便命名。用IDA Pro打开提取出的文件。IDA会自动识别文件格式,不用改其他东西,直接点OK就好。
然后出现反汇编界面。
本人已将BIOS升级至最新2.54,如果是其他版本,左边的函数列表可能会不一样。进入options->general设置,将opcode宽度设置为16,这样反汇编界面就会显示HEX数据了,比如这样。
按F5快捷键,进入C语言界面。里面的函数都不长,第二个函数sub_710就是打印错误信息的函数(Unauthorized network card is plugged in - Power off and remove thenetwork card),
在最上方sub_710函数上点右键查看函数在哪里被调用
弹出对话框
点OK确认就定位到了调用位置,是在sub_824中调用。Sub_824这个函数不算长,从代码逻辑上看,主体就是一个if-else,应该一个是判断网卡,一个是判断蓝牙。但如果不在白名单里,就会进入打印函数sub_710,然后卡在那里。
这里修改的方法就是,将LABEL_9放到划红色的那个语句上去,跳过错误打印函数。最开始做过测试,如果在判断白名单if-else之前就退出该函数,会导致开机进入系统后,无线网卡的初始化错误,无法修复。所以无论在不在白名单里,程序都要继续往后跑,继续其他的初始化工作。大家可以双击qword_2B0看看,这个东西在上面判断的时候用了很多次,里面放的就是白名单。点击“IDA View - A”视图,查看调用sub_824函数中调用sub_710的汇编。划横线call sub_710的就是调用点,最下面的那个红圈就是让BIOS卡住的while死循环。
要让程序继续跑,就不能让他进入sub_710,所以,我们要让他跳转到正确的地方。哪里是正确的地方呢?根据C语言和汇编语言的对照来看,那个“正确的地方”就是loc_945的逻辑块。
那个call sub_710的指令长度是5字节,而巧的是,jmp指令在这里不能用short(2 字节),所以也刚好是5字节,天助我也,开始打补丁!把鼠标光标放到call sub_710那一行,进入Edit菜单,Patch program->Assemble,在打开的对话框里输入jmp loc_945,点OK
然后关掉Assemble对话框。原来调用sub_710的逻辑块就编程了下面这样。
进入“Hex View - 1”视图,可以看到修改位置的偏移地址为08A8(从E8 63 FE FF FF变成了E9 98 00 00 00)。
如何修改到讲这里可以说是很明白了。关闭IDA什么都不要保存,用winhex打开提取出的LenovoWmaPolicyDxe二进制文件,然后定位到08A8,把E8 63 FE FF FF改成E9 98 00 00 00。
将改好的bin文件用UEFITool替换回去保存,然后用编程器把BIOS刷回去即可。
刷好后记得盖好盖子,开机会有5x2的报警声,我没有关闭什么security选项,直接进入BIOS按F10保存,后续重启不会再有报警声,一切正常。
9260ac可以被win10直接识别,ax200需要去intel官网下载驱动。
此法适用于任何BIOS版本,也可以做其他修改。发帖目的仅仅是出于技术共享,希望大家玩机开心

Happy 发表于 2019-10-25 21:52

楼主太牛逼,无比膜拜

beckhome 发表于 2019-10-26 00:19

9000系列网卡容易坏

弟大勿博 发表于 2019-10-26 08:19

谢谢分享!

Jules95 发表于 2019-10-27 16:23

反编译赛高!!!{:1_257:}

7yu 发表于 2019-10-27 17:35

支持一下,我换的带fun的网卡

dsanke 发表于 2019-10-31 15:25

本帖最后由 dsanke 于 2019-10-31 16:11 编辑

朋友客户的昭阳K4450A(BIOS版本:EJ8ET40WW)
问我白名单怎么搞
想看看原来的网卡型号,结果原网卡烧了
也没有原机系统,从驱动里是看不着了

于是求助万能的某宝,搜一下K4450A网卡,果然有,搜到7260AC
在驱动的INF内查到7260AC的ID是 8086 08B2
立马在BIOS内用 UEFITool 搜索 8680B208
定位到一个可疑的 LenovoWmaPolicyDxe
打开一看,白名单列表肉眼可见

百度一搜索,发现楼主的帖子,真是有缘
立马依葫芦画瓢修改

刷入后测试可用,感谢楼主!

想回贴,发现自己还没论坛账号,赶紧注册一个上来,哈哈哈哈哈

cnswb 发表于 2019-10-31 15:41

cracker_007 发表于 2019-10-25 19:23
14年在某宝购入的T440p,据说是给美国大客户定制的机器,当时的配置是i7 4710mq,16G内存,独立显卡,1080P ...

这么改bios是不是也可以解决更换实体3键的驱动问题呢?

applesup 发表于 2019-10-31 16:28

cracker_007 发表于 2019-10-25 19:23
14年在某宝购入的T440p,据说是给美国大客户定制的机器,当时的配置是i7 4710mq,16G内存,独立显卡,1080P ...

同440P,请教如何白名单,动手欠佳

godwen 发表于 2019-11-8 08:45

参考楼主的方法,成功用于T430i独显版本2.54版本BIOS,谢谢!

godwen 发表于 2019-11-8 08:49

applesup 发表于 2019-10-31 16:28
同440P,请教如何白名单,动手欠佳
需要拆开机器,找到对应的BIOS芯片,用编程器读出原来的固件,进行修改后,再烧录进去才可以。
1、需要拆机大卸八块;
2、需要有专门的编程器如CH341A编程器;
3、需要找到你的主板的BIOS的FLASH芯片;
4、需要另外一台一直可用的电脑,用来烧写或读取;
5、提取出来的bin文件我可以帮忙给你 修改 试试,能不能按楼主的方法实现需要你去测试....

mimikiki 发表于 2019-11-14 23:05

感谢,dw1820A的蓝牙终于完美了,以前照百度来的教程去的白名单,wifi正常,蓝牙只有冷启动之后才会出现

xzal520 发表于 2019-11-14 23:45

真心牛逼,顶

luoyi913 发表于 2019-11-15 01:39

mark 也许早晚用得到 谢谢

weibs 发表于 2019-12-3 10:26

这个不适用新电脑了,新电脑没有无线网卡限制,但是有wwan白名单,另外据说最新的P1 GEN2白名单又回来了。

Ironsheet 发表于 2019-12-5 00:34

请教一下这么改是不是让wwan的白名单也失效了还是说T440P根本就没有对wwan做白名单呢?

hzlancer 发表于 2019-12-5 05:18

ywj_1211 发表于 2019-12-5 09:46

T540P 蠢蠢欲动

QQ4430 发表于 2020-1-11 11:23


按照楼主的方法成功刷白,感谢分享,下一步高级解锁和rsa

1823401296 发表于 2020-2-18 21:07

QQ4430 发表于 2020-1-11 11:23
按照楼主的方法成功刷白,感谢分享,下一步高级解锁和rsa

你解锁之后,开机有报警声吗?加个QQ交流下啊。825397896

haibo_zhou 发表于 2020-3-6 19:47

mimikiki 发表于 2019-11-14 23:05
感谢,dw1820A的蓝牙终于完美了,以前照百度来的教程去的白名单,wifi正常,蓝牙只有冷启动之后才会出现

你的DW1820 屏蔽针脚没有试试休眠 会不会蓝屏

haibo_zhou 发表于 2020-3-9 15:30

haibo_zhou 发表于 2020-3-6 19:47
你的DW1820 屏蔽针脚没有试试休眠 会不会蓝屏

已经搞定

ric2233 发表于 2020-3-9 16:08

想用这种方法修改M93p的bios,但是没有找到有LenovoWmaPolicyDxe

haibo_zhou 发表于 2020-3-20 10:51

楼主 我想修改x230t的BIOS 但是不知道怎么找到那个“正确的地方”有什么技巧没有

i4oolish 发表于 2020-3-20 11:36

mark一下

MDZZ 发表于 2020-3-20 23:23

老哥,能不能用别人已经修改好的BIOS直接刷进去呢?可以的话能分享一下吗

niba_mw 发表于 2020-4-3 15:46

谢谢分享,学习中。准备按图索骥刷白名单,换AX200

zzykzzyk 发表于 2020-4-4 09:30

厉害了。收藏

iseeu2 发表于 2020-4-25 09:11

感谢前辈,T440S按图索骥,一个完全不知道楼主用的三个软件的小白,成功将7260AC替换成AX200,心里那个激动啊!
哈哈,多谢!

sgdcz 发表于 2020-4-25 10:34

厉害楼主
页: [1] 2
查看完整版本: 【原创】t440p bypass白名单(适用于任何BIOS版本)