不管怎么办wwW88www.55hphp.com就是不显示了,难到说是88www.55hphp.comcom珍的让评闭啦

hpP 打印机故障排除_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
hpP 打印机故障排除
&&打印机故障排除
阅读已结束,下载本文需要
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩3页未读,
定制HR最喜欢的简历
你可能喜欢不管怎么办wwW44mkmk就是不显示了,难到说是44mkmkcom珍的让评闭啦_百度知道
不管怎么办wwW44mkmk就是不显示了,难到说是44mkmkcom珍的让评闭啦
我有更好的答案
可别心急了慢慢等x4n.2ga.tech总会有方法滴
为您推荐:
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。后使用快捷导航没有帐号?
查看: 23749|回复: 27
[转贴]HP原生SLIC不能激活的解决办法(附带部分改好的BIOS)!
该用户从未签到
本文为转贴(发文者为赵亮同志也就是后面楼的 (远景zhaoliang) )
非常感谢你的指点!为此把你原文转过来!希望能给更多人分享!
原文地址为
以笔记本型号V3334TU的BIOS为例:
在未作任何修改即用原使BIOS时,进系统,用“Everest”查看 ACPI表,
发现 RSDT 、SLIC 的 OEMID 正确,SLIC的表长正确,
但是系统就是不能那个激活 !(注:证书和序列号等其它问题都排除了)
这时,用 ACPIScope (论坛有下载和介绍)查看 ACPI表,选择SLIC表,
在右面窗口是SLIC表的分析“Report”,点“Report”旁边的“Hex Dump”,如图:
1.jpg (184.08 KB, 下载次数: 209)
02:47 上传
既然SLIC是半个,那我们打开 BIOS 文件看看吧,
发现Phoenix BIOS Editor 2.1.0.0不能打开BIOS文件,提示“ROM长度错误”,
要用 WINHEX 提取原BIOS文件的 0 ~ FFFFF 另存一个文件,
这个文件才能用Phoenix BIOS Editor 2.1.0.0打开后编辑;
在 Phoenix BIOS Editor 2.1.0.0 软件目录的临时文件夹 “TEMP”里,
打开 ACPI6.ROM ,发现里面的 SLIC 是完整的并且和现有的 HP 的SLIC完全一致:
Offset& && &0&&1&&2&&3&&4&&5&&6&&7&&8&&9&&A&&B&&C&&D&&E&&F
4C 49 43 76 01 00 00&&01 00 48 50 51 4F 45 4D&&SLICv.....HPQOEM
4C 49 43 2D 4D 50 43&&01 00 00 00 48 50 51 20&&SLIC-MPC....HPQ
00 00 00 00 00 00 00&&9C 00 00 00 06 02 00 00&&........?......
24 00 00 52 53 41 31&&00 04 00 00 01 00 01 00&&.$..RSA1........
B AB 60 56 BC 58 1E E8&&C1 D2 A1 5C E5 4F BB FD&&[玚V糥.枇摇\錙积
D A9 8C 94 B4 AE 08 11&&DC 13 59 D3 7F F6 3E 87&&.敶?.?Y???
B9 95 74 10 DA 3B A4&&5B B5 19 82 7C 39 D7 0D&&1箷t.??倈9?
C 22 AC 1C 2A 84 E9 0A&&88 6D FA B1 E2 D8 E8 21&&|&?*勯.坢庳?
E1 2E 68 9A BF 44 45&&3E 3C 8E 99 90 DE 37 38&&栣.h毧DE&&帣愞78
0B 92 15 BC DE FF F2&&07 7E B5 40 8C 51 3A C3&&W.?嫁&&?~礍孮:?
&&02 48 F6 13 12 72 FB 42&&78 E6 47 88 54 C7 B0 F0&&.H?.r鸅x鍳圱前?
&&93 9E FB 04 B7 B8 B8 90&&DE DB ED 32 E1 FB 54 A6&&摓?犯笎捋?猁T?
&&01 00 00 00 B6 00 00 00&&00 00 02 00 48 50 51 4F&&....?......HPQO
&&45 4D 53 4C 49 43 2D 4D&&50 43 57 49 4E 44 4F 57&&EMSLIC-MPCWINDOW
&&53 20 00 00 00 00 00 00&&00 00 00 00 00 00 00 00&&S ..............
&&00 00 00 00 00 00 30 A8&&7E 10 1B 0F 13 DD 2E 2D&&......0▇....?-
C2 AB 54 A7 8C 3A A0&&2F C6 5B B3 B3 DD 93 EE&&6芦T:?芠吵輷?
E 39 A9 92 D0 5A 20 E1&&2D F5 A2 1C 7A 3E 54 85&&?衂 ?酡.z&T?
72 56 5F EC 6B 07 17&&63 82 3E 79 02 50 40 C9&&檙V_靕..c?y.P@?
&&F1 D3 C5 58 39 A8 18 F1&&56 91 EA 9C 54 1A E0 CE&&裼臱9?馰戧淭.辔
&&C9 16 F0 5D D1 90 B1 B0&&9E 81 E6 BA 62 F1 3B 96&&?餧褠卑瀬婧b??
&&B0 7D D7 47 10 78 03 C9&&28 52 E7 2D 4A F7 70 BB&&皚譍.x.?R?J鱬?
1F BE CD 4F 77 D1 2F&&A8 3D 5C 26 AF 80 42 25&&S.就Ow??\&瘈B%
&&EF 7A B2 67 BA 1C& && && && && && && && && && && & 飠瞘?
既然 BIOS 中的SLIC是完整的,系统中却是半个,那么推测有两种可能:
1、BIOS 复制SLIC表到内存时只复制了一半
2、BIOS 复制SLIC表到内存之后,把后半部分改为“00”了
我们只有反汇编模块才能找到关键的代码,但是模块特别多,我们不可能每个模块都反汇编,
所以我们得找到关键的字符或代码,然后每个模块搜索关键字,
因为是SLIC模块,所以要搜 “SLIC”,一般地我们都先找 BIOSCOD1.ROM,不过没找到,
当找到 MOD_5100.ROM 时,找到了“SLIC”,如下:
Offset& && &0&&1&&2&&3&&4&&5&&6&&7&&8&&9&&A&&B&&C&&D&&E&&F
00004BF0&&F7 26 03 77 04 26 8B 5F&&24 26 81 3B 53 4C 49 43&&?.w.&媉$&?SLIC
09 83 C7 04 3B FE 76&&EC EB 1B 8B FB BB C0 00&&t.兦.;祀.孄焕.
00004C10&&00 00 B9 B6 00 00 00 26&&C6 04 3B 00 43 E2 F8 E8&&..苟...&?;.C怿?
FA FF FF EB 01 F9 C3&&00 00 00 00 00 00 00 00&&I?
试着反编译了一下,代码看不懂,结果用 32 位试了一下,哈哈,看到代码了 !!!
如下,大意是判断 RSDT 和 XSDT的每一个表的地址,如果该地址是“SLIC”,
就把它“C0h”之后的长度“B6h”的代码改为 “00h”!
编译代码如下:
seg000:00004BF5& && && && && & mov& & ebx, es:[edi+24h] ; &suspicious& ;ebx =RSDT的第一个表的内存地址
seg000:00004BF9& && && && && & cmp& & dword ptr es:[ebx], <font color="#ffC53h ;和SLIC比较
seg000:00004C00&&7409& && &&&jz& && &short loc_4C0B& && && && && && &;是SLIC就跳到 4C0B
seg000:00004C00
seg000:00004C02& && && && && & add& & edi, 4& && && && && && && && &&&;下一个表
seg000:00004C05& && && && && & cmp& & edi, esi
seg000:00004C07& && && && && & jbe& & short loc_4BF5
seg000:00004C07
seg000:00004C09& && && && && & jmp& & short loc_4C26
seg000:00004C09
seg000:00004C0B ; ---------------------------------------------------------------------------
seg000:00004C0B
seg000:00004C0B loc_4C0B:& && && && && && && && && && &; CODE XREF: seg000:00004C00j
seg000:00004C0B& && && && && & mov& & edi, ebx& && &&&;edi = SLIC表的内存地址
seg000:00004C0D& && && && && & mov& & ebx, 0C0 '? ; ebx = C0h (SLIC表的前半部分)
seg000:00004C12& && && && && & mov& & ecx, 0B6 '? ; ecx = B6h (SLIC表的后半部分)
seg000:00004C12&&; &suspicious&
seg000:00004C17
seg000:00004C17 loc_4C17:& && && && && && && && && && &; CODE XREF: seg000:00004C1Dj
seg000:00004C17& && && && && & mov& & byte ptr es:[ebx+edi], 0 ;把SLIC表的 C0h 改为 0
seg000:00004C1C& && && && && & inc& & ebx& && && && && && &&&;ebx+1 直到ebx=B6为止
seg000:00004C1D& && && && && & loop& & loc_4C17& && && && && & ;ebx 小于 B6h 就跳到 4C17
从上面的代码可以看出,当找到 SLIC 时,就修改 SLIC的后半部分为“00”,
那么我们有两个方法可以破解:
1、把 “SLIC”改为其他字符如“SLIA”,代码就变成找到SLIA表时,就修改 SLIA的后半部分为“00”,这样就不会修改 SLIC表了。但是要注意,不能改为已有的表名,否则已有的表会被修改。
2、判断时,不跳转就可以了,就是把SLIC后面的代码“74 09”改为“9090”即可。
修改方法:
用 WINHEX 打开 BIOS 的“.WPH”文件,定义选块从 0 ~ FFFFFh ,
把选块另存为 “BIOS.ROM”。
用 Phoenix BIOS Editor 2.1 打开“BIOS.ROM”,在临时文件夹“TEMP”目录里,
修改MOD_5100.ROM中的“SLIC”,改“SLIC”中的任意一个字母就可以了,例如:
“SLIA”、“SLIN”、“ABCD”等等都可以,只要不是“SLIC”和现有的表名就行!注意一定不能改成已有的名!否则已有的表的C0h之后不就被改了!
在 Phoenix BIOS Editor 窗口中,打开 DMI 窗口,修改任意DMI信息,
改后确定,然后再改回来,这时,我们就可以重建 BIOS 了。
重建“BIOS.ROM”之后,选取原始BIOS的100000之后的所有内容,
复制并粘贴到 “BIOS.ROM”的后面。
整个修改过程完成
修改好的BIOS!
(570.44 KB, 下载次数: 261)
02:53 上传
点击文件名下载附件
惠普_V3334TU_笔记本
(570.29 KB, 下载次数: 166)
02:53 上传
点击文件名下载附件
惠普_DV2157X_笔记本
(572.83 KB, 下载次数: 185)
02:53 上传
点击文件名下载附件
惠普_V3172TU_笔记本
(570.63 KB, 下载次数: 255)
02:53 上传
点击文件名下载附件
适用于Compaq Presario V30XXTU 系列笔记本电脑
(679.03 KB, 下载次数: 88)
02:53 上传
点击文件名下载附件
(551.68 KB, 下载次数: 268)
02:53 上传
点击文件名下载附件
本贴内赵亮同志的新讲解!请看后面14楼的文章
[ 本帖最后由 wxc8888 于
03:00 AM 编辑 ]
不错的帖子
该用户从未签到
你真有办法
该用户从未签到
是不是所有型号的BIOS都差不多是类似的问题啊。
另外945的板子基本可以互用BIOS的。无论是否独立显卡。
该用户从未签到
今天3172 bios 被刷成dv2000,如何恢复。
进不了系统了。
怎么 解决啊
该用户从未签到
继续跟1楼!这个是对6515 无SLIC的分析(刷写软件为HPQFLASH)
1、下载的文件 sp36147.exe 可以用 WINRAR 解压缩 ,
HPQFlash.exe
WSSP36147.rtf
2、ROM.CAB&&可以用 WINRAR 解压缩 ,
可以看到文件都带数字签名。
3、打开 Rom.bin ,
不是 AWARD 、AMI 、Phoenix 的 BIOS,无法编辑。
解决方法:
1、ver.txt 的内容:
_ROM_ 68YTT v0F.05 04/26/2007
0x000F10000
估计BIOS的这两段是不会被刷新的,估计关键在这个地方。
2、找一个 1MB 的 Phoenix 的 BIOS 和 Phoenix winphlash,
备份你的笔记本 和 能激活 VISTA 的笔记本的 BIOS,
备份出的 BIOS ,只提取 0~FFFFF 部分,
用文件工具比较这两个 BIOS 有何不同 ???
这部很关键,一定要比较 !!!
估计两个 BIOS 的不同之处就在于
0 ~ 10000 和 F0000~ FFFFF
3、注意最好先作上一步的比较,然后根据具体情况再作决定!
如果胆子大可以试试,删除 VER 的两个文件,看看能不能刷 BIOS,
因为发现&&0x000F0000 之后的 0x 里有 SLIC 表
不用试了,试了也白试:
HPQFlash.exe 会读入 VER.sig 然后判断 VER.txt 文件是否正确 !!!
同样的也会读入 ROM.sig 来判断 ROM.bin 文件是否正确 !!!
所以如果要修改 VER.TXT 的内容,必须重新生成 VER.sig 文件 才行 !!!
Offset& && &0&&1&&2&&3&&4&&5&&6&&7&&8&&9&&A&&B&&C&&D&&E&&F
000F 00 00 B6 00 00 00&&00 00 02 00 48 50 51 4F&&....?......HPQO
000FD 53 4C 49 43 2D 4D&&50 43 57 49 4E 44 4F 57&&EMSLIC-MPCWINDOW
000F 00 00 00 00 00 00&&00 00 00 00 00 00 00 00&&S ..............
000F 00 00 00 00 30 A8&&7E 10 1B 0F 13 DD 2E 2D&&......0▇....?-
000F AB 54 A7 8C 3A A0&&2F C6 5B B3 B3 DD 93 EE&&6芦T:?芠吵輷?
000F A9 92 D0 5A 20 E1&&2D F5 A2 1C 7A 3E 54 85&&?衂 ?酡.z&T?
000F 56 5F EC 6B 07 17&&63 82 3E 79 02 50 40 C9&&檙V_靕..c?y.P@?
000F1270&&F1 D3 C5 58 39 A8 18 F1&&56 91 EA 9C 54 1A E0 CE&&裼臱9?馰戧淭.辔
000F1280&&C9 16 F0 5D D1 90 B1 B0&&9E 81 E6 BA 62 F1 3B 96&&?餧褠卑瀬婧b??
000F1290&&B0 7D D7 47 10 78 03 C9&&28 52 E7 2D 4A F7 70 BB&&皚譍.x.?R?J鱬?
000F12A0&&53 1F BE CD 4F 77 D1 2F&&A8 3D 5C 26 AF 80 42 25&&S.就Ow??\&瘈B%
000F12B0&&EF 7A B2 67 BA 1C FF FF&&FF FF FF FF FF FF FF FF&&飠瞘?
Offset& && &0&&1&&2&&3&&4&&5&&6&&7&&8&&9&&A&&B&&C&&D&&E&&F
000F 00 00 9C 00 00 00&&06 02 00 00 00 24 00 00&&....?.......$..
000F 41 31 00 04 00 00&&01 00 01 00 5B AB 60 56&&RSA1........[玚V
000F1320&&BC 58 1E E8 C1 D2 A1 5C&&E5 4F BB FD 1D A9 8C 94&&糥.枇摇\錙积.?
000F1330&&B4 AE 08 11 DC 13 59 D3&&7F F6 3E 87 31 B9 95 74&&串..?Y???箷t
000F1340&&10 DA 3B A4 5B B5 19 82&&7C 39 D7 0D 7C 22 AC 1C&&.??倈9?|&?
000F E9 0A 88 6D FA B1&&E2 D8 E8 21 96 E1 2E 68&&*勯.坢庳?栣.h
000F1360&&9A BF 44 45 3E 3C 8E 99&&90 DE 37 38 57 0B 92 15&&毧DE&&帣愞78W.?
000F1370&&BC DE FF F2 07 7E B5 40&&8C 51 3A C3 02 48 F6 13&&嫁
两种破解方法:
1、找一个不读取 SIG 的刷 BIOS 工具
2、破解 HPQFlash.exe ,让他认为 SIG 文件是对的,
然后去掉 VER.txt 中的后两句。
这样你的 BIOS 就会全部被更新了
[ 本帖最后由 wxc8888 于
02:56 AM 编辑 ]
该用户从未签到
原帖由 &i&wangliang1983&/i& 于
08:41 PM 发表&br /&&br /&
WXC8888:&br /&&br /&
今天3172 bios 被刷成dv2000,如何恢复。&br /&&br /&
进不了系统了。&br /&&br /&
怎么 解决啊
问题出现在SATA硬盘的IDE模式
我记得DV系列默认是选择使用SATA增强模式(ACHI)的!
你到BIOS更改成虚拟IDE就好了!
SATA一般有2种模式IDE虚拟和SATA模式(ACHI)
一般SATA模式也就HP和IBM和现在的迅4在INTEL的要求下才使用!
如果更改模式!而不更改XP驱动是进不了系统的!
只好更改回去!或者重装!
[ 本帖最后由 wxc8888 于
09:53 PM 编辑 ]
该用户从未签到
楼主提供的BIOS能刷V3172TU吗?具体怎么刷?
该用户从未签到
LZ你改好的BIOS是否已经包含完整的SLIC?有无完整的SLIC有何区别呢?
该用户从未签到
经赵亮同志提醒后!这个贴全部改为统一的回复!避免让人看赵亮的文章看迷糊了
[ 本帖最后由 wxc8888 于
03:08 AM 编辑 ]
该用户从未签到
还是没敢刷!有刷成功的吗?能否激活VISTA旗舰版?
该用户从未签到
看我描红部分
ACPI -A:0xFFF08000& && && & ACPI6.ROM& &&&-X
如果给没有SLIC的Phoenix BIOS机器加过SLIC的人知道这个写法是有问题的!
标准写法应该为
ACPI& && && & ACPI6.ROM
注:ACPI6.ROM为这款BIOS的SLIC模块位置!
楼主的方法,修改过的bios有刷成功的么?
刚修改了v3000au系列的bios,的确是这种情况,已经修改,但不敢刷,不认识客服
该用户从未签到
原来说的是不对的!请按新文章!
[ 本帖最后由 wxc8888 于
03:09 AM 编辑 ]
该用户从未签到
原帖由 zhangdongruo 于
10:49 PM 发表
还是没敢刷!有刷成功的吗?能否激活VISTA旗舰版?
-X原来是不压缩的意思!谢谢赵亮同志的点醒!
[ 本帖最后由 wxc8888 于
03:09 AM 编辑 ]
该用户从未签到
原帖由 wxc8888 于
02:28 AM 发表
首先我们需要准备一个Phoenix BIOS Editor 2.1.0.0
不建议使用老版本!因为会出现内存溢出而导致BIOS模块没有正常解压完毕!
导致修改后保存的BIOS会导致机器损坏!
这个已经让一个朋友进修理站了!
今天给 ...
楼主,不好意思,能不能把你的帖子改一下 ???
很多人看了你的帖子,然后来问我,我还得一一回答。
呵呵,非常抱歉的告诉你,你的理解是错的 !!!
ACPI -A:0xFFF08000& && && & ACPI6.ROM& &&&-X
-X 的意思是:这个模块在BIOS中是不压缩的 !
呵呵,和 SLIC全不全没有关系 !!!
-A:0xFFF08000& &的意思是这个模块在 BIOS 加载到内存后,位置固定在 FFF08000h
FFF08000h 相对于 BIOS 的位置是 8000h,
不信你可以打开 BIOS 文件看看,8000h + 1Bh 处就是 SLIC表 ,因为 SLIC表没有被压缩并且被固定在 8000h + 1Bh 处,
1Bh 是模块头部的长度。
[ 本帖最后由 zhaoliang518 于
09:10 PM 编辑 ]
该用户从未签到
我们打开原始 BIOS ,打开 ACPI6.ROM ,前 24h 如下:
Offset& && &0&&1&&2&&3&&4&&5&&6&&7& &8&&9&&A&&B&&C&&D&&E&&F
& &53 4C 49 43 76 01 00 00&&01 00 48 50 51 4F 45 4D& &SLICv.....HPQOEM
& &53 4C 49 43 2D 4D 50 43&&01 00 00 00 48 50 51 20& &SLIC-MPC....HPQ
& &01 00 00 00& && && && && && && && && && && && && & ....
而之前我们在破解联想的BIOS时,SLIC的头部是在 BIOSCOD1.ROM 中的,
这个BIOS的 ACPI6.ROM 中已经有SLIC的头部,所以我们在 BIOSCOD1.ROM 找不到 SLIC的头部代码,
偶然发现 MOD_5100.ROM 中有 SLIC 还有 OEM 信息 “HPQOEMSLIC-MPCHPQOEMSLIC-MPC”
那么我们修改 MOD_5100.ROM&&,把 “SLIC”改名为 “OEMS” !这样我们就能激活了 ~!
因为我怀疑MOD_5100.ROM 中的 “SLIC” 就是用来搜索 “SLIC”表,然后把它改成一半的,
估计MOD_5100.ROM 中的 OEM 信息 “HPQOEMSLIC-MPCHPQOEMSLIC-MPC” 是用来修改其它表的 OEM信息的 !
有力的证据:
因为我们知道被改的SLIC表的后半部分长度是 “B6” ,所以看了一下代码,
结果不仅发现了SLIC的后半部分的长度相关代码,还发现了后前部分代码“C0” !
MOD_5100.ROM 中的代码:
Offset& && &0&&1&&2&&3&&4&&5&&6&&7& &8&&9&&A&&B&&C&&D&&E&&F
00004BF0& &F7 26 03 77 04 26 8B 5F&&24 26 81 3B 53 4C 49 43& &?.w.&媉$&?SLIC
00004C00& &74 09 83 C7 04 3B FE 76&&EC EB 1B 8B FB BB C0 00& &t.兦.;祀.孄焕.
00004C10& &00 00 B9 B6 00 00 00 26&&C6 04 3B 00 43 E2 F8 E8& &..苟...&?;.C怿?
00004C20& &49 FA FF FF EB 01 F9 C3&&00 00 00 00 00 00 00 00& &I?
试着反编译了一下,代码很怪,结果用 32 位试了一下,哈哈,看到代码了 !!!
如下,大意是判断 RSDT 和 XSDT的每一个表的地址,如果该地址是“SLIC”,
就把它“C0h”之后的长度“B6h”的代码改为 “00h”!
可以看出,最简单的方法就是,把“SLIC”改成其它字符
seg000:00004BF5& && && && && & mov& &&&ebx, es:[edi+24h] ; &suspicious& ;ebx =RSDT的第一个表的内存地址
seg000:00004BF9& && && && && &&&cmp& &&&dword ptr es:[ebx], 43494C53h& &;和SLIC比较
seg000:00004C00& && && && && &&&jz& && &short loc_4C0B& && && && && && &;是SLIC就跳到 4C0B
seg000:00004C00
seg000:00004C02& && && && && &&&add& &&&edi, 4& && && && && && && && &&&;下一个表
seg000:00004C05& && && && && &&&cmp& &&&edi, esi
seg000:00004C07& && && && && &&&jbe& &&&short loc_4BF5
seg000:00004C07
seg000:00004C09& && && && && &&&jmp& &&&short loc_4C26
seg000:00004C09
seg000:00004C0B ; ---------------------------------------------------------------------------
seg000:00004C0B
seg000:00004C0B loc_4C0B:& && && && && && && && && && & ; CODE XREF: seg000:00004C00j
seg000:00004C0B& && && && && &&&mov& &&&edi, ebx& && &&&;edi = SLIC表的内存地址
seg000:00004C0D& && && && && &&&mov& &&&ebx, 0C0 '? ; ebx = C0h (SLIC表的前半部分)
seg000:00004C12& && && && && &&&mov& &&&ecx, 0B6 '? ; ecx = B6h (SLIC表的后半部分)
seg000:00004C12&&; &suspicious&
seg000:00004C17
seg000:00004C17 loc_4C17:& && && && && && && && && && & ; CODE XREF: seg000:00004C1Dj
seg000:00004C17& && && && && &&&mov& &&&byte ptr es:[ebx+edi], 0 ;把SLIC表的 C0h 改为 0
seg000:00004C1C& && && && && &&&inc& &&&ebx& && && && && && && & ;ebx+1 直到ebx=B6为止
seg000:00004C1D& && && && && &&&loop& & loc_4C17& && && && && &&&;ebx 小于 B6h 就跳到 4C17
方法总结:
修改MOD_5100.ROM中的“SLIC”,改“SLIC”中的任意一个字母就可以了,
“SLIA”、“SLIN”、“OEMS”等等都可以,只要不是“SLIC”和现有的表名就行!
注意一定不能改成已有的名!否则已有的表的C0h之后不就被改成“00”了!
[ 本帖最后由 zhaoliang518 于
10:01 PM 编辑 ]
该用户从未签到
分析 HP-V3172TU主板是WISTRON 30B2,版本是61.58
MOD_5100.ROM 中发现类似的代码,这次看了看前面的代码,发现是有条件的。
从一些其它的本本的编译中也发现类似的情况。
归根结底,HP 的 BIOS 会判断 BIOS 的某个位置,
如果那里是“01 00 00 00”,SLIC表就是完整的,
如果那里不是“01 00 00 00”,SLIC表的后半截就被改为“00” !!!
seg000:00004BE7 ; ---------------------------------------------------------------------------
seg000:00004BE7& && && && && &&&mov& &&&edi, dsff_1FD0
seg000:00004BED& && && && && &&&mov& &&&ax, 1C7 &suspicious&
seg000:00004BF1& && && && && &&&mov& &&&ecx, 1
seg000:00004BF6& && && && && &&&push& & small 1
seg000:00004BFA& && && && && &&&push& & small 5021 &suspicious&
seg000:00004BFE& && && && && &&&push& & small 442F &suspicious&
seg000:00004C02& && && && && &&&call& & sub_B490& && && && && && && && && && && &&&这里的 CALL 是关键
seg000:00004C02
seg000:00004C07& && && && && &&&and& &&&al, 1& && && && && && && && && && && && && &&&AND 与运算,基本上的意思是 al 和 1相同时,al=1
& && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && &al 和 1 不相同时,al=0
seg000:00004C09& && && && && &&&cmp& &&&al, 1& && && && && && && && && && && && && &&&al 和 1 比较
seg000:00004C0B& &&&75 02& & jnz& &&&short loc_4C0F& && & 如果 al 不等于 1 ,就会执行 4C0F 处的代码,SLIC的后半截就被改成 “00” 了
& && && && && && && && && && && && && && && && && && && && && &&&如果把这里的 75 02 改为 90 90 那么就不会执行 SLIC的后半截就被改成 “00” 的代码了
seg000:00004C0B
seg000:00004C0D& && && && && &&&jmp& &&&short locret_4C47
下面的代码就是找到 SLIC表后,把SLIC表的 C0h 之后的 B6h 长的代码改为 “00”
seg000:00004C0F ; ---------------------------------------------------------------------------
seg000:00004C0F
seg000:00004C0F loc_4C0F:& && && && && && && && && && & ; CODE XREF: seg000:00004C0Bj
seg000:00004C0F& && && && && &&&mov& &&&esi, edi
seg000:00004C11& && && && && &&&add& &&&esi, es:[edi+4]
seg000:00004C11
seg000:00004C15&&; &suspicious&
seg000:00004C15 loc_4C15: ; &suspicious&& && && && && & ; CODE XREF: seg000:00004C27j
seg000:00004C15& && && && && &&&mov& &&&ebx, es:[edi+24h]& && && && && && & ; ebx =RSDT的第一个表的内存地址
seg000:00004C19& && && && && &&&cmp& &&&dword ptr es:[ebx], 43494C53h& && & ; 和SLIC比较
seg000:00004C20& && && && && &&&jz& && &short loc_4C2B& && && && && && && & ; 是SLIC就跳到 4C2B
seg000:00004C20
seg000:00004C22& && && && && &&&add& &&&edi, 4& && && && && && && && && && &; 下一个表
seg000:00004C25& && && && && &&&cmp& &&&edi, esi
seg000:00004C27& && && && && &&&jbe& &&&short loc_4C15
seg000:00004C27
seg000:00004C29& && && && && &&&jmp& &&&short loc_4C46
seg000:00004C29
seg000:00004C2B ; ---------------------------------------------------------------------------
seg000:00004C2B
seg000:00004C2B loc_4C2B:& && && && && && && && && && & ; CODE XREF: seg000:00004C20j
seg000:00004C2B& && && && && &&&mov& &&&edi, ebx& && && && && && && && && &&&;edi = SLIC表的内存地址
seg000:00004C2D& && && && && &&&mov& &&&ebx, 0C0h& && && && && && && && && & ; ebx = C0h (SLIC表的前半部分)
seg000:00004C32& && && && && &&&mov& &&&ecx, 0B6h& && && && && && && && && & ; ecx = B6h (SLIC表的后半部分)
seg000:00004C32&&; &suspicious&
seg000:00004C37
seg000:00004C37 loc_4C37:& && && && && && && && && && & ; CODE XREF: seg000:00004C3Dj
seg000:00004C37& && && && && &&&mov& &&&byte ptr es:[ebx+edi], 0& && && && & ; 把SLIC表的 C0h 改为 0
seg000:00004C3C& && && && && &&&inc& &&&ebx& && && && && && && && && && && & ; ebx+1 直到ebx=B6h为止
seg000:00004C3D& && && && && &&&loop& & loc_4C37& && && && && && && && && &&&; ebx 小于 B6h 就跳到 4C37 继续
seg000:00004C3D
seg000:00004C3F& && && && && &&&call& & sub_468D
seg000:00004C3F
seg000:00004C44& && && && && &&&jmp& &&&short locret_4C47
seg000:00004C44
seg000:00004C46 ; ---------------------------------------------------------------------------
seg000:00004C46
seg000:00004C46 loc_4C46:& && && && && && && && && && & ; CODE XREF: seg000:00004C29j
seg000:00004C46& && && && && &&&stc
seg000:00004C46
seg000:00004C47
seg000:00004C47 locret_4C47:& && && && && && && && && & ; CODE XREF: seg000:00004C0Dj
seg000:00004C47& && && && && && && && && && && && && &&&; seg000:00004C44j
seg000:00004C47& && && && && &&&retn
seg000:00004C47
[ 本帖最后由 zhaoliang518 于
10:04 PM 编辑 ]
今天只能评这么多。
该用户从未签到
HP DV6110 的 BIOS 分析!
BIOSCOD1.ROM :
seg000:E1FE ; ---------------------------------------------------------------------------
seg000:E1FE& && && && && &&&push& & eax
seg000:E200& && && && && &&&push& & esi
seg000:E202& && && && && &&&push& & edi
seg000:E204& && && && && &&&push& & ds
seg000:E205& && && && && &&&push& & es
seg000:E206& && && && && &&&xor& &&&ax, ax
seg000:E208& && && && && &&&mov& &&&es, ax
seg000:E20A& && && && && &&&mov& &&&esi, 0FFF91000h& && && && && && &&& ;HOLE -A:0xFFF90000 -SB:65536 HOLE1.ROM
seg000:E210& && && && && &&&add& &&&esi, 0F9 '? ; &suspicious&
seg000:E217 67 26 80 3E 01&&cmp& &&&byte ptr es:[esi], 1& && && && && & ;0FFF910F9h 是 1 时 才执行下面的复制 SLIC表的代码
seg000:E21C 75 5F& && && &&&jnz& &&&short loc_E27D& && && && && && && & ;0FFF910F9h 如过不是 1 SLIC 表就是空的
seg000:E21C
seg000:E21E& && && && && &&&push& & ecx
seg000:E220& && && && && &&&pushf
seg000:E221& && && && && &&&mov& &&&ecx, 9C '? ; &suspicious&
seg000:E227& && && && && &&&mov& &&&edi, 0E0AC &suspicious&
seg000:E22D& && && && && &&&mov& &&&ax, cs
seg000:E22F& && && && && &&&mov& &&&es, ax
seg000:E231& && && && && &&&xor& &&&ax, ax
seg000:E233& && && && && &&&mov& &&&ds, ax
seg000:E235& && && && && &&&mov& &&&esi, 0FFF1F900h& && && && && && && & ;HOLE -A:0xFFF1F900 -SB:1024 HOLE5.ROM
seg000:E23B& && && && && &&&cld
seg000:E23C& && && && && &&&rep movs byte ptr es:[edi], byte ptr [esi]
seg000:E23F& && && && && &&&mov& &&&ecx, 0B6 '? ; &suspicious&
seg000:E245& && && && && &&&mov& &&&edi, 0E148 &suspicious&
seg000:E24B& && && && && &&&mov& &&&ax, cs
seg000:E24D& && && && && &&&mov& &&&es, ax
seg000:E24F& && && && && &&&xor& &&&ax, ax
seg000:E251& && && && && &&&mov& &&&ds, ax
seg000:E253& && && && && &&&mov& &&&esi, 0FFF1FD00h& && && && && && && & ;HOLE -A:0xFFF1FD00 -SB:1024 HOLE6.ROM
seg000:E259& && && && && &&&cld
seg000:E25A& && && && && &&&rep movs byte ptr es:[edi], byte ptr [esi]
seg000:E25D& && && && && &&&mov& &&&ecx, 176 &suspicious&
seg000:E263& && && && && &&&sub& &&&ebx, ecx
seg000:E266& && && && && &&&mov& &&&edi, ebx
seg000:E269& && && && && &&&xor& &&&ax, ax
seg000:E26B& && && && && &&&mov& &&&es, ax
seg000:E26D& && && && && &&&mov& &&&esi, 0E088 &suspicious&& &&&;空的SLIC表的位置
seg000:E273& && && && && &&&push& & cs
seg000:E274& && && && && &&&pop& &&&ds
seg000:E275& && && && && &&&cld
seg000:E276& && && && && &&&rep movs byte ptr es:[edi], byte ptr [esi]& && &&&复制成完整的SLIC表
seg000:E279& && && && && &&&popf
seg000:E27A& && && && && &&&pop& &&&ecx
seg000:E27C& && && && && &&&inc& &&&cx
seg000:E27C
seg000:E27D
seg000:E27D loc_E27D:& && && && && && && && && && & ; CODE XREF: seg000:E21Cj
seg000:E27D& && && && && &&&clc
seg000:E27E& && && && && &&&pop& &&&es
seg000:E27F& && && && && &&&pop& &&&ds
seg000:E280& && && && && &&&pop& &&&edi
seg000:E282& && && && && &&&pop& &&&esi
seg000:E284& && && && && &&&pop& &&&eax
seg000:E286& && && && && &&&retn
得出修改结论:
BIOS 的BIOSCOD1.ROM中有 SLIC(空的) ,HOLE5.ROM(SLICpubkey) 、HOLE6.ROM(SLICmarker),
HOLE -A:0xFFF90000 -SB:65536 HOLE1.ROM
0FFF910F9h&&相对就是 HOLE1.ROM 的 10F9h
那么修改 HOLE1.ROM 的 10F9h 为 01 即可,实际修改时要改为 “01 00 00 00”
但是,HOLE1.ROM 的 10F9h 改为 “01 00 00 00” 之后,保存BIOS,发现BIOS的相关位置并没有改变 !!!
所以我们只能破解:
seg000:E21C 75 5F& &&&改为 90 90& &,这样SLIC表就完整了。
测试成功 !
胆子大的可以试试,
直接把 BIOS 的 910F9h 处改为 01 00 00 00 !
1、BIOS是否有校验 ?
2、910F9h 处的代码真的会刷进BIOS中么?
刷BIOS时有可能会跳过这段代码。
3、有可能不让刷,也可能刷了没变,
& &也可能刷了变了,也可能刷了黑屏!
后来想到:
直接把 BIOS 的 910F9h 处改为 01 00 00 00 !
保存 BIOS 文件后,用 Phoenix BIOS Editor 打开,
没有错误提示
【注:DBCS (Traditional Chinese)strings are not editable !这个提示除外】
HOLE1.ROM 的 10F9h 处已经变为 01 00 00 00 !
估计这个BIOS就改好了吧!
呵呵,还没测试!
[ 本帖最后由 zhaoliang518 于
11:07 PM 编辑 ]
该用户从未签到
zhaoliang518 朋友,你能不能把你的回复整理一下发一个帖,我看能得精华。
该用户从未签到
原帖由 zhaoliang518 于
08:51 PM 发表
楼主,不好意思,能不能把你的帖子改一下 ???
很多人看了你的帖子,然后来问我,我还得一一回答。
呵呵,非常抱歉的告诉你,你的理解是错的 !!!
ACPI -A:0xFFF08000& && && & ACPI6.ROM& &...
谢谢,亮哥的指点!
我重新改一下吧!
该用户从未签到
小弟的筆電是HP(Compaq)的1500TC
有試過Phoenix BIOS Editor Pro
但似乎讀不出用rompaq.exe備份出來的68P4C.ROM檔
會顯示BCPSYS not found
筆電的顯示晶片是Mobility Radeon 7500 32mb 獨立
已有顯示晶片新BIOS
想請問是否也能如cbrom一樣加入新模塊到備份出來的筆電原始BIOS
02:17 上传
点击文件名下载附件
338.64 KB, 下载次数: 25
02:17 上传
点击文件名下载附件
41.64 KB, 下载次数: 22
17年8月精华宗师
17年8月精华大师
关注本友会
本友会微信公众号
VR微信公众号
benyouhui2012
Powered by}

我要回帖

更多关于 55hphp 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信