注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

电脑网络SEO爱好者

一个电脑爱好者,一个网络爱好者,一个SEO优化者.

 
 
 

日志

 
 

最新BIOS 加SLIC 2.1激活WINDOWS7教程(修订版)  

2011-02-10 03:53:14|  分类: 系统安装 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

注意:方法还未全面验证通过,在部分机型有问题,但现在部分机型个数为0

刷自己改的之前,请搜索是否已经有自己型号的BIOS成品,可以在BIOS.NET.CN/BBS里找,大部分DELL BIOS已经有修改好的版本,冒险刷对过保的机器有很大风险!

已发视频教程:http://cid-66553ca43786ded5.skydrive.live.com/self.aspx/Public/DELL%20BIOS/TUTORIAL.rar

另注:视频里如有修改REVISION部分,忽略那部分,REVISION不要修改!

播放速度应该不快,底下有快进键

1,准备阶段:

工具:WINHEX http://www.greendown.cn/soft/8797.htmlGZIP http://gnuwin32.sourceforge.net/downlinks/gzip-bin-zip.php

原料:你的DELL BIOS,到DELL网站下(当然别告诉我里面没SLIC 2.0)

我的原料:DELL M09 压缩BIN http://cid-66553ca43786ded5.skydrive.live.com/self.aspx/Public/DELL%20BIOS/M09.BIN

先说明BIN 里的结构,主要注意的是

2011年4月22日 - seo - 电脑、SEO爱好者

图中标示的位置,是告诉BIOS,哪一部分是PUBKEY,那一部分是MARKER

我在这里给新手补习下:

这里是压缩后的M09 SLIC,算法是DELL的,商业机密:)

48 9E 开始往后是 PUBKEY(其中9E是区块的大小,是从非零字节开始数)

然后在 49 AA 处开始 MARKER

注意48 49 不一定与你的BIOS里一样,但大小9E AA是一样的,很明显的标志

下面修改时要定位这一部分,参考这里有助于你找

SLIC大小152(hex)字节

2,提取阶段:

提取自己BIOS,我拿1420为例(切不要完全模仿,要变通)

打开CMD,来到BIOS 所在目录(比如我放在D:\DELL,执行CD D:\DELL,然后 D:)

运行1420_A10.EXE -writehdrfile,同目录下就生成了1420_A10.hdr

运行1420_A10.EXE -writekromfile,同目录下生成1420_A10.bin(如果这条命令你没有,说明你是更早期的BIOS,以后校验简单些)

KROM 全称 KEYBOARD ROM(不知道DELL键盘有何特殊)

有无KROM 将引导下文修正CRC流程

3,MOD阶段:

先修正SLIC头:

SLIC头和KEY是分开的。前面我介绍的M09.bin 不包含SLIC头,但头部只要改个名字

用WINHEX打开1420_A10.hdr,搜索ASL(特征字符) ,来到一个类似图里的位置:

2011年4月22日 - seo - 电脑、SEO爱好者

黄块内是我们要改的内容

你可以先DUMP 自己的2.0头进行比对,不一定你的是M08,如WN09,BK09等等

M08换为M09,如果你是四个字节的,如BK09,换为M09加一空格(16进制为20)

ASL之前的四个字节13 0C D8 27是REVISION,不可改!改了会有BUG!

替换KEY:

原理剖析:我试着详细地解释每一步,但仍然可能导致修改者改错,我在这里把原理讲清楚,以免盲目修改!

前面呈现的M09.BIN其实就是一段从BIOS里提取的代码,只不过相对你的2.0版本,这个是2.1的,我们要做的就是把这段新的覆盖旧的。

但因为两者大小不同,M09.BIN多出一个字节,所以替换后将导致后续代码相应后移了一个字节,这就使BIOS无法有效!

因此修正大小阶段尤为重要!我们的方法是,在SLIC在BIOS的位置后找到一段空闲空间(FFFF....),缩短这部分空闲空间大小,使后续代码再前移一个字节,这样一增一减即可修正大小。

为何要在空闲空间上删除一个字节,解释如下:FFFF....虽然以代码形式存在,但其实好比填充物,空闲空间上下分别是真正的代码ROM。既然我们增加了其中一个ROM的大小,为了使下一个ROM仍然在固定的位置,就必须缩小填充空间。

例如:SLIC FF FF FF FF DATA ,SLIC增加一个字节,中间区域就减少一个字节,这样DATA还是保持不动!

搜索WINDOWS(仍然是特征字符,好定位而已),来到这个位置:

2011年4月22日 - seo - 电脑、SEO爱好者

很多人反应不知怎么定位,请先看看前面M09的描述

不然我告诉你笨办法:

1,搜索到WINDOWS后,看前面有没有DELL,有你就找对了

2,然后在附近有没有看到RSA1,RSA1在上面的,请跳到第4步

3,从DELL(44 45 4C 4C)往前数18个字节(10进制),看到48 A9了吧,好,就从48开始。(别再问怎么没有48,没有48总有A9吧)

从48开始选151字节,你选中东西,拖动的时候,WINHEX右下角有大小显示!

4,从RSA1(52 53 41 31)往前数23个字节(10进制),看到48 9E了?

同理从48开始选151字节

M08都是颠倒的(PUBKEY 在下面,以48 A9 开始)。。。不过没关系,我们要全换

(修改索引:如果你的头不是48开始,把M09的48换成你的值,同样上图第二个黄块里的49也和你的机器不同,把你的值替换M09里的49)

老版本BIOS的用户注意:

可能你的BIOS里并没有48 9E或48 A9,而是这样的值9E00000029,下面有个是AA0000002A

9E AA 仍然代表KEY尺寸,29 2A这是INDEX索引,和新版比是顺序换了

那么修改M09.BIN,把489E000000换为9E00000029,49AA000000换为AA0000002A

大小:151字节

因为M09.BIN比其多一字节,我们需要后移一下

在选块的任意处右键,编辑,粘贴0字节,然后插入1字节,如下:

2011年4月22日 - seo - 电脑、SEO爱好者

打开M09.BIN,CTRL+A全选,CTRL+C复制

然后在选块的头,如上图的00处,CTRL+B写入替换,然后选块就替换成新SLIC,请注意选块后数据,始终保持不变,同样检查48 49是否改为你的值,如图:

2011年4月22日 - seo - 电脑、SEO爱好者

然后修正文件大小:

在菜单的编辑里点查找16进制数值,输入FFFFFFFFFFFFFFFFFF(足够多就行,数量为偶数)

(FF区域是BIOS的空白地带,所以我们可以任意删减数据)

下面有个搜索下拉框,原来是全部,现在换向下确定向下搜索FF区域(很重要,一定是前面替换部分后面的区域!!)

在找到的大片FF区域里选定一字节FF,然后按DEL删除一个字节

要验证大小修正完毕,就对比现在的HDR大小与原来的HDR大小,不可有一点偏差

4,修正阶段:

你现在得到的是修改好的HDR,但还无法刷新,因为CRC校验

无KROM:

前面说过如果你 writekromfile 没东西,CRC校验很简单,把HDR的ROM提取出来,HASH一下即可

ROM以偏移地址54开头,WINHEX里右键点选块起始位置

2011年4月22日 - seo - 电脑、SEO爱好者

到文件尾部,最后数八个字节的FF那里右键选块尾部

2011年4月22日 - seo - 电脑、SEO爱好者

直接在WINHEX里计算CRC,菜单工具,计算哈希值,选CRC32,先保存这个值,跳到填校验码阶段

有KROM:

上面是无KROM的情况,但有KROM,比如我的1420,ROM尾部就不在这里了

选块同样从54偏移开始

打开KROM 1420_A10.bin,选定其头部几十个字节,复制选块,16进制值,取个样本而已

然后在HDR里搜索这个16进制值,我的是02006120005E02100300002000560210,大部分都是这个

这样就找到KROM在HDR的具体位置

这个KROM往前的4个字节就是ROM的校验码,校验码前就是ROM的尾部

我们在这里00处(下图黄色部分前)右键选块尾部

2011年4月22日 - seo - 电脑、SEO爱好者

同理,选中ROM后,计算哈希值,保存这个值

填入校验码:

但现在你所保存的这个值不能直接填到校验处。

打开计算器,用科学计算器,HEX(16进制)模式下,输入刚才保存的值(我是8A532F63),点NOT求反,得出75AC D09C

然后填入刚才找到的校验处(ROM选块后紧跟的四个字节),注意高低位是反过来的,75AC D09C 填进去是 9C D0 AC 75,反正就是两位两位的倒着填

好ROM校验完毕。

下面还有整个文件的校验,但之前针对有KROM的,还要再修正KROM校验

把刚选的ROM,右键编辑,复制选块到新文件ROM

我们有了提取的KROM 1420_A10.bin,ROM KROM放在一起

CMD下执行COPY /B ROM+1420_A10.bin NEWROM

即合并ROM 和 KROM,WINHEX下粘贴也可

然后打开新生成的NEWROM,CTRL+A全选计算CRC32,同样用计算器减下倒序填入KROM后的四个字节(即HDR文件尾的八个字节校验的前四位)

最后剩下文件尾的四位校验,真麻烦。。。

重新选块,选块起始位置在HDR的头部(不是ROM的头部),选块尾部在最后四位校验前

2011年4月22日 - seo - 电脑、SEO爱好者

计算哈希,转换倒序填入最后四个字节

修正校正码释疑:

HDR分为这么几部分(顺序):
RBUT头(下图未选中部分)


ROM(前面选块开始至黄色部分前)


KROM(上图黄色部分后开始到下图的FF结束)

5,封装刷新

把GZIP.EXE复制进来

CMD执行GZIP.EXE -n 1420_A10.hdr

-n 参数为不保存文件名,更自然些。。。

重命名为bios.gz

用USBOOT制作可引导DOS的U盘(都没软驱吧)

bios.gz 1420_A10.exe 都复制进U盘

然后重启至DOS,运行 1420_A10.exe -readgzfile 进行刷新

6,WINDOWS刷新封装教程

这里主要教怎么把BIOS集成到EXE里

但我要说明,做这个之前确定你刷新BIOS的过程。

你以前WINDOWS下刷过BIOS?

回忆重启后有没有文字界面提示正在刷新?

没有,全黑的静默刷新,请不要轻易修改

因为这类BIOS即使校验出错,也没有任何提示,也就是彻底黑了。。。。

1420正是这样的,我以前刷,看黑了半天,以为刷失败了,就关机重启,结果彻底报废。。。。

本文仅给那些重启有刷新界面的,因为校验失败你们可以选择不刷新。

用WINHEX打开1420_A10.exe 和 压好的 bios.gz

复制 bios.gz 的头部16进制(基本都是这个 1F8B080000000000)

在1420_A10.exe 里搜索到

然后把整个 bios.gz 写入搜索到的位置。

EXE后面多出来的部分要删去!一般 gz 以 60801100 结尾

(一开始从搜索位置到底全删除,再粘贴也行)

最后粘贴下面16进制 00C00300,标识EXE 封装结束!

如有疑问,跟帖反馈!

2011年4月22日 - seo - 电脑、SEO爱好者
ROM和KROM合并在一起的四字节校验(上图为文件尾的最后八字节,前四字节1C01A46B即ROM+KROM校验,校验内容不包括ROM校验码)
最后是以上所有内容包括校验码的四字节校验(即最后的四字节0E25F3E0,这部分校验内容就是除去最后四字节HDR剩余部分)

CRC转换的问题,就是求补码的过程
所有位求反,可以直接点NOT,就算出来了,不用加一了

2011年4月22日 - seo - 电脑、SEO爱好者
ROM的四字节校验(上图黄色部分)

2011年4月22日 - seo - 电脑、SEO爱好者
  评论这张
 
阅读(278)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017