|
|
3
三、INTEL整体型BIOS的分离方法
2 _* S* t5 u w1 n( k
' Q3 r* L3 k5 D
/ A7 h5 D$ Q( N 首先到INTLE网站下载到BIOS文件,解压后文件如下: " q9 V* `( K3 S7 R! [, c# b
由于无法准确判断哪一个是BIOS文件,所以只有先分析一下解压缩出的文件。文件中包括自动批处理文件(autoexec.bat),因此我们首先分析一下此文件,通过编辑此文件发现此文件没有任何有用的资料,就是直接读取iflash.exe文件;接着我们分析另外一个批处理文件EXECUTE.BAT,在此文件中找到我们需要的内容:. @8 w y- Q# X) W2 O5 W
- i r4 W, ]9 [# i
$ y6 g6 \# s _, ?. d ]$ L (图十七)6 z# e9 S, Q+ f0 a3 q0 }
看出IFLASH都是调用的p34-0125.bio文件,由此判断,主板所需要的BIOS文件,就在p34-0125.bio文件中,但从分离的文件可以看到,p34-0125.bio文件有1.2M大小,因此,此文件是需要分离的。
' Y7 c! f4 s z- c0 w4 W$ ]6 e# X/ V- A
我们使用ULTRAEDIT32打开p34-0125.bio文件。打开文件后,真的无处下手呀。通过寻找关键字,发现此BIOS竟是AMI的BIOS,因为他使用的是AMIBOOT的BOOT文件;呵呵,BIOS一直认为INTEL原厂的BIOS是PHOENIX的,呵呵,绝对意外。! A+ z7 @1 f+ r- A7 v9 ~9 k
5 C8 |* T/ y7 P) y. w
即然其是AMI的BIOS,那么我们就从AMI BIOS来分析,我们知道,AMI BIOS在头部往往都是FF的空字节,这点与AWARD是不同的。通过分析文件,发现文件的头部是BIOS文件的识别码,就是IFLASH就是通过此来识别BIOS文件的,从头部到0acf H为识别代码,我们先在ULTRAEDIT中将其删除。, S( q% z7 c& v/ G" e. ^: {
N+ M9 j- S6 z
1 F6 e7 v/ A$ P8 N. E: O
将光标移动到文件的头部,即00000H的位置,点击“编辑”--“HEX 添加/删除”,选择删除,输入需要删除的字节即可。(注意:删除时,一定要将光标移动到文件的开头呀。呵呵。)对于删除的字节数,我们可根据此计算,由于ULTRAEDIT显示的16进制,而且我们需要将0acf H以前的内容全部删除。因此我们需要计算的地址是ad0 H转换成10进制;呵呵,这个对于一般的网友来说,困难呀。不过,有简单的方法,我们只要在开始--程序--附件--计算器。运行计算器后,点击查看--选择科学型,首先选择16进制,然后输入ad0,呵呵,再选择上面的10进制,即可显示出对应的10进制数了。
' d; k* s) W" m& \4 S' R+ H: @+ n% b F" v7 v8 \
将文件的头部删除后,我们再判断BIOS文件的尾部;通过分析INTLE AMI BIOS,其BIOS的尾部字节应是0F 09 EB CE 00 00 00 00 00 00 00 00 00 00 FF,在搜索中搜索此字节,确定尾部在fffff H位置上,再通过主板使用的BIOS芯片来判断,其使用的是N82802AC芯片,此芯片是8M容量的,其地址正好是00000H---fffffH,因此确定我们确定的BIOS文件尾部是正确的。
( m! f% q1 d$ ^; F7 u![]()
7 R7 s% a# W; H Y 即然确定了BIOS文件的尾部,那么我们只要将100000 H后面的内容全部去掉就可以了。将光标移动到100000 H位置上,点击“编辑”--“HEX 添加/删除”,选择删除,输入需要删除的字节即可。由于我们要删除100000 H后面所有的字符,因此在删除输入的字节数时,我们随意输入一个尽可能大的字节数,点击删除即可;这样就不用计算需要删除的节节数了。呵呵,BIOS感觉这样最方便呀。最大的删除字节数是2147483645。
3 Z. O6 R( L+ [5 m1 | m) g
: p* s, W9 D* N" y, E9 e 删除后,我们就可把剩余的00000--fffffH之间的内容保存即可。点击文件--另存为,输入保存的文件名保存即可。
, Z7 L/ z0 ]; r1 U3 p5 Z; M3 h
1 u: g2 I) n* W: A, D; h* ?/ U5 P A4 v 修改完成的BIOS文件,使用AMIBCP8可以正确打开,因此确定BIOS文件分离成功;然后使用编程器将修改好的文件写入主板BIOS后,插到主板上,开机一切正常,至此INTEL原厂BIOS分离完成。+ N& B% [% k4 l# Q1 \; X7 w: K) f
1 C9 N* @. ^4 S3 J9 Z; c
注意:修改BIOS时,一定要参考BIOS芯片的容量,来判断要分离BIOS文件的大小。
7 G9 |$ t9 W! J* E/ m9 O4 e 分离BIOS,首先要分析BIOS文件的头部和尾部,而且计算删除的字节数时,一定要判断出要删除的地址,然后再做计算。
" @5 l, f+ W' W" n, k3 T- [0 j 分离BIOS也有一定的危险性,因此此方法最好用于维修方面,即BIOS损坏需要使用编程器来恢复的情况下。 |
|