去除HP机器的固件保护

商务笔记本、消费类笔记本、移动工作站讨论区

版主: xyevolve

版面规则
1. 本版是定位于惠普笔记本电脑的技术讨论区。
2. 本版鼓励发帖共同讨论技术问题,不鼓励站内信件私下交流,独知知不如众知知。
3. 本版允许转贴或引用他人的作品,但必须声明原作者信息。
4. 本版禁止发表出售、求购、或其他非技术讨论等帖子。
5. 本版宁缺毋滥,严禁灌水,包括但不限于任何与所讨论主题无关的回复,无意义字符,直接复制其他回复等。
6. 本站附件仅限个人使用,请在下载后24小时内删除,本站不对其造成的结果负任何责任,请自行评估风险。
头像
MUDBOY
创始人
帖子: 3877
注册时间: 2010年 12月 28日 21:17 星期二

去除HP机器的固件保护

帖子 MUDBOY » 2017年 5月 14日 13:04 星期天

https://github.com/mytbk/firmware_notes ... ection.rst

之前的测试发现,HP的固件对DXE阶段的那个volume有保护,如果改写了它机器就拒绝启动。但是PEI阶段是没有保护的,很多PEI模块都可以删掉。因此我打算删掉一部分PEI模块精简一下固件,再看看对固件进行保护的代码在哪里。

之后我发现,精简过的固件没有了对固件的保护,即使删掉一个DXE模块也不会让机器变砖,于是我便找找是哪个PEI模块对固件做了检查。经过测试,我发现是那个称为SecureUpdating的模块。

这个模块在固件中是放在一个compressed section里面的,完整的模块大小有30k,逆向比较繁琐,我也没耐心做这个事。我简单地看了一下这个模块,发现里面有几个SHA1的常数,再加上之前在固件里面发现了一段2048bit的数据(2760p-coreboot.rst),猜测可能是对要检查的数据做SHA1散列后签名,感兴趣的朋友们可以分析一下。

白名单去除

我去除固件保护的目的是为了可以修改里面的UEFI模块,从而可以更好地看清原厂固件执行了哪些关键代码,然后完善coreboot对HP机器的支持。

之后发现HP固件的白名单也很好去除,直接把DXE Core里面那个叫WLAN的模块删掉就行了。启动后发现系统不再提示有未认证的无线网卡并禁用,进入系统后网卡正常工作。

------------
https://forum.51nb.com/thread-1751735-1-1.html

xx70p之前的机器都有WLAN网卡白名单,而且HP的笔记本的固件都会检测自身一部分的完整性,这个方法先去掉了固件自身的保护,然后就可以修改固件了。

我的测试平台: 2760p+Linux Mint+AR9382网卡

具体操作过程:
1. 用编程器读出原固件的内容
2. 用UEFITool打开读出的固件,删掉SecureUpdating模块,要去除WLAN白名单则删掉WLAN模块,类似的可以删掉Computrace,WWAN等
3. 保存修改后的固件,用编程器刷进机器的BIOS芯片
提倡分享之精神, 技术问题请在相关版面直接发帖, 站内短信恕不答复.
I don't answer private messages on topics of public interest, because it defeats the whole purpose of a message board.

csersoft2
注册用户
帖子: 49
注册时间: 2017年 3月 14日 20:26 星期二

Re: 去除HP机器的固件保护

帖子 csersoft2 » 2017年 5月 16日 20:04 星期二

感谢分享~~
之前解包了我这个8570W的uefi固件,想逆向这个smc.dxe驱动,看看能不能构造出合适的smc.bin。
但是不清楚能不能直接破解掉smc这个dxe驱动,希望lz能分享下固件diy相关的经验~~

csersoft2
注册用户
帖子: 49
注册时间: 2017年 3月 14日 20:26 星期二

Re: 去除HP机器的固件保护

帖子 csersoft2 » 2017年 5月 16日 20:06 星期二

最近一个月有点忙,等有空我发篇逆向smc.dxe驱动的文章,不过目前还没破解掉。

csersoft2
注册用户
帖子: 49
注册时间: 2017年 3月 14日 20:26 星期二

Re: 去除HP机器的固件保护

帖子 csersoft2 » 2017年 5月 16日 20:40 星期二

另外想说下,其实dxe,pei模块的逆向分析很容易的,因为模块入口参数是固定的。
只要IDA Pro解析了uefi sdk里那几个关键h文件,并修改入口参数类型。
分析这些驱动模块的逻辑就比看源码复杂一些而已,目前已在smc.dxe中发现出sha1算法:
smc.png
您没有权限查看这个主题的附件。

yongwa
注册用户
帖子: 20
注册时间: 2014年 3月 1日 21:33 星期六
联系:

Re: 去除HP机器的固件保护

帖子 yongwa » 2017年 5月 19日 17:18 星期五

这个好,谢谢分享。 :001: :001: :001: :001: 都是高人啊。

chinasunlight
注册用户
帖子: 30
注册时间: 2017年 5月 12日 11:34 星期五

Re: 去除HP机器的固件保护

帖子 chinasunlight » 2017年 5月 20日 09:18 星期六

这个好,谢谢高人分享好经验。

ntann
注册用户
帖子: 27
注册时间: 2017年 5月 24日 07:24 星期三

Re: 去除HP机器的固件保护

帖子 ntann » 2017年 5月 24日 16:28 星期三

高人,争取早日取得胜利。

头像
frontwing
注册用户
帖子: 22
注册时间: 2013年 7月 26日 07:52 星期五

Re: 去除HP机器的固件保护

帖子 frontwing » 2017年 5月 29日 19:47 星期一

改过之后TPM就不能用了吧?反正thinkpad改白名单后不能开TPM,否则开机报错。

heary88
注册用户
帖子: 8
注册时间: 2014年 8月 3日 00:09 星期天

Re: 去除HP机器的固件保护

帖子 heary88 » 2017年 5月 30日 08:31 星期二

这个好,谢谢高人分享好经验。

Blossomcrown
注册用户
帖子: 11
注册时间: 2017年 3月 7日 07:11 星期二

Re: 去除HP机器的固件保护

帖子 Blossomcrown » 2017年 6月 18日 15:34 星期天

学习一些 希望这些经验能用在ZBook的BIOS mod上

回复