金年会 金字招牌诚信至上,金年会 金字招牌诚信至上,金年会 金字招牌诚信至上,金年会 金字招牌诚信至上

 找回密碼
 注冊

QQ登錄

只需一步,快速開(kāi)始

查看: 13618|回復: 39
打印 上一主題 下一主題

最近寫(xiě)了幾篇關(guān)于DELL機的BIOS分離文章,有興趣的網(wǎng)友可看看.

跳轉到指定樓層
1#
ibmpass 發(fā)表于 2008-9-24 19:55:01 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式 來(lái)自 中國山東煙臺

馬上注冊,結交更多好友,享用更多功能。

您需要 登錄 才可以下載或查看,沒(méi)有帳號?注冊

x
DELL D700M BIOS分離過(guò)程
   近日,網(wǎng)友回復自己一臺DELL D700M的機器,由于刷新過(guò)程中出錯,造成刷新失敗,機器無(wú)法啟動(dòng);從DELL網(wǎng)站下載的BIOS文件,是一個(gè)直接運行的EXX文件,采用BIOS維修網(wǎng)站以前關(guān)于DELL BIOS文件分離的文章,無(wú)法分出BIOS文件,因此尋求耗子。
   網(wǎng)友通過(guò)QQ傳過(guò)來(lái)的BIOS文件,其就是一個(gè)文件名為DELL 700M的EXE自解壓文件;由于是EXE自解壓程序,選擇文件鼠標右鍵--使用WINRAR打開(kāi),將文件解壓出。
# R" h# f0 {: M0 h2 E4 I
6 X' L; @5 O6 F2 Z2 W9 ~. f( n  f: B: B
                               
登錄/注冊后可看大圖
    解壓出的文件只有三個(gè),看文件名,其中的A06應為自刷新文件

& l6 `7 H4 D7 p- a+ L$ p7 Y                               
登錄/注冊后可看大圖
    使用ULTRAEDIT打開(kāi)A06.EXE文件,從文件頭部看出,此文件應是WIN環(huán)境下自動(dòng)運行的程序,因此按以前分離DELL BIOS的經(jīng)驗,首先在ULTRAEDIT 32工具欄中--“搜索”--“查找”--輸入“NAPI”
   
# ?5 }1 |! z4 W  z( J
                               
登錄/注冊后可看大圖
    由于順利搜索到NAPI,下面的工具簡(jiǎn)單的。由于主板使用4M的BIOS文件,因此只要從NAPI開(kāi)始,分出7FFFF地址的字節即可。

' d9 [4 [. p* j2 r5 x8 E$ [* }  u                               
登錄/注冊后可看大圖
    從上圖可看到,NAPI的首地址是AC030H,因此簡(jiǎn)單的方法是,首先刪除AC030H以前的內容,然后再刪除7FFFFH地址以后的內容,然后將文件保存即可。
    刪除16進(jìn)制AC030H地址的內容,我們先將AC030H轉換成10進(jìn)制,即使用WIN自帶的計算器,選擇計算器--查看--16進(jìn)制,選擇十六進(jìn)制,輸入AC030(注意:H不需要輸入,那是16進(jìn)制的標識符,表明AC030為16進(jìn)制),然后選擇十進(jìn)制,計算十進(jìn)制數值“704560”

1 h2 x4 _$ S& x5 d, r# }& ?) x                               
登錄/注冊后可看大圖
    因此我們在ULTRAEDIT32中,將鼠標移到文件頭部,即00000H地址處;在ULTRAEDIT32--工具欄--“編輯”--“HEX 插入/刪除”--選擇刪除,輸入需要刪除的10進(jìn)制字節數:“704560”
3 J8 K2 A6 Z% _# U
                               
登錄/注冊后可看大圖
    確定后刪除,此時(shí)文件頭部即00000H地址處,應正常好為NAPI

$ [. C2 h: e4 b. P+ ^3 F# a, `                               
登錄/注冊后可看大圖
    然后使用簡(jiǎn)單的方法。將鼠標移到地址7FFFFH處,只要刪除7FFFFH后面所有內容,然后將剩余的文件保存即可;鼠標移到8000H處,在ULTRAEDIT32--工具欄--“編輯”--“HEX 插入/刪除”--選擇刪除,輸入需要刪除的10進(jìn)制字節數:“XXXXXXX”,在這里XXXXX可隨意輸入,只要確定7FFFF后面所有無(wú)用內容刪除即可。(注意)XXXXXX必須是純數字。
     刪除后文件尾部如下圖:

* {0 x0 A" f9 j' y                               
登錄/注冊后可看大圖
    操作完成后,點(diǎn)擊ULTRAEDIT32工具欄--“文件”--“另存為”保存為文件,網(wǎng)友使用編程器寫(xiě)入后,開(kāi)機一切正常。

評分

參與人數 1威望 +10 收起 理由
wevip + 10 精品文章

查看全部評分

2#
ibmpass  | 發(fā)表于 2008-9-24 19:55:49 | 只看該作者 來(lái)自 中國山東煙臺
DELL DMC521 BIOS分離維修過(guò)程
    今天一網(wǎng)友回復耗子,自己一臺DELL DMC521機器,由于刷新BIOS時(shí),沒(méi)有關(guān)閉殺毒程序,造成刷新過(guò)程中出錯,重啟無(wú)法開(kāi)機。由于是刷新BIOS出錯后無(wú)法開(kāi)機,因此只要重寫(xiě)BIOS即可解決問(wèn)題;但目前面臨的問(wèn)題是,DELL機器的BIOS比較特殊,其提供的BIOS文件都是EXE自刷新的文件,因此分離比較麻煩,而且網(wǎng)友按主頁(yè)以前提供的DELL BIOS文件分離的文章,無(wú)法分離出BIOS文件--參考文章:
" Z& T$ ]4 X4 w7 o" m
                               
登錄/注冊后可看大圖
如何分離DELL(戴爾)機整合型BIOS文件(過(guò)程分析及相關(guān)參數介紹)
;因此詢(xún)問(wèn)耗子是否可以從EXE自刷新程序中分離出BIOS文件。
/ Y. q) D% c  v# B, [/ y    收到網(wǎng)友傳來(lái)的BIOS文件,其就是個(gè)EXE文件。首先選擇使用WINRAR打開(kāi)EXE文件,確定文件是否自解壓的EXE文件,雖然可以使用WINRAR打開(kāi)這個(gè)EXE文件,但是解壓出的文件卻是一個(gè)名為A17AS.BIN的文件,但其只有128K(1M)大小,這顯然不對,因此排除直接分出BIOS文件的想法。5 }2 n% ]3 ?9 R( I2 `, G- d

2 u- [6 F. E; `3 U+ }+ ~+ \                               
登錄/注冊后可看大圖
    無(wú)法直接分出BIOS文件,使用ULTRAEDIT32,直接打開(kāi)DMC521.EXE文件,從文件頭部可看出,其就是一個(gè)WIN32程序,當然這個(gè)對我們并沒(méi)有多少幫助;直接向下搜索,意外竟在0277D2H地址處,發(fā)現了“LH5”字符,我們都知道“LH5”是AWARD BIOS的標識字節,因為AWARD BIOS都是使用LH5壓縮的。找到此字節,說(shuō)明文件應是AWARD BIOS,也可通過(guò)此確定BIOS文件的頭部,這真是意外中的意外呀。

  d- _. t$ S' J  b. }6 y                               
登錄/注冊后可看大圖
    雖然現在確定文件是AWARD的,而且也可確定文件頭部。但是在LH5前還有約64K的FF空字節,因此要分出的文件有兩種可能。一種是從LH5處,直接向下分出7FFFFH字節的文件,其就是完整的BIOS文件。二是從LH5前64K空字節處,開(kāi)始分出7FFFFH字節的文件,即包括LH5前的64K空字節。
    由于無(wú)法確定文件的頭部,本來(lái)耗子想按兩種方法分別分出BIOS文件,對比確定一下;但又想投機取巧,于是讓網(wǎng)友將已經(jīng)損壞的BIOS芯片中的內容讀出來(lái),如果芯片中還有數據的話(huà),可以方便的確定,呵呵;還好芯片網(wǎng)友還沒(méi)有擦除,備份出文件,通過(guò)網(wǎng)絡(luò )傳過(guò)來(lái),使用ULTRAEDIT32打開(kāi)備份出的已經(jīng)損壞的文件。
    通過(guò)分析備份出的損壞BIOS芯片的中文件,確實(shí)是文件前面有64K的空字節(機器無(wú)法啟動(dòng)的原因是,BIOS文件沒(méi)有刷新完成,12FFFH地址后面全是空字節)。
6 c, W. m3 `" ~' r
                               
登錄/注冊后可看大圖
    確定了文件的頭部,以下操作就簡(jiǎn)單了。正確分出BIOS文件,并傳給網(wǎng)友測試;網(wǎng)友寫(xiě)入后回復,可以正常開(kāi)機,但進(jìn)入系統后檢測不到機器的型號,顯示全是空白。即然機器可以啟動(dòng)了,但是機器型號等資料檢測不到,看來(lái)BIOS中還有部分信息沒(méi)有加入。
    重新打開(kāi)網(wǎng)友備份出的已經(jīng)損壞的BIOS文件,在文件頭部位置果然發(fā)現機器的詳細信息,如下圖:
2 m5 c" O! W5 H6 |+ N1 V
                               
登錄/注冊后可看大圖
    復制文件中的這部分資料,然后對應地址覆蓋在分出的BIOS文件的文件中。重新保存成文件,傳給網(wǎng)友測試,經(jīng)網(wǎng)友回復,一切正常。至此維修修復完成。
 
    注意:
    1、如是刷新失敗后,先不要急于寫(xiě)芯片,一定要先備份出文件,這樣以后需要時(shí)使用。
    2、此方法是否適應于其它DELL的機器,耗子沒(méi)有時(shí)間測試。因此有興趣的網(wǎng)友可自行測試一下。
    3、分離文件時(shí),文件的大小按BIOS芯片的大小確定即可。
3#
ibmpass  | 發(fā)表于 2008-9-24 19:56:40 | 只看該作者 來(lái)自 中國山東煙臺
DELL系列機器BIOS文件分離分析
    使用DELL系列機器的網(wǎng)友都知道,DELL系列機型的BIOS文件很特殊,DELL廠(chǎng)家提供的BIOS文件,多都是EXE自運行程序,在WIN環(huán)境下直接運行EXE文件,即可自動(dòng)完成刷新;但其EXE文件并不只是一個(gè)簡(jiǎn)單的自解壓程序,無(wú)法使用WINRAR打開(kāi),因此也就無(wú)法解出其中的BIOS文件;無(wú)法解出BIOS文件,在主板損壞后,就無(wú)法使用編程器來(lái)重新修復BIOS。
8 q* e% R9 e& Z- I* Z% L, a    在此以前,好多網(wǎng)友都說(shuō)其DELL的BIOS文件升級,只是升級需要升級的某一部分,即BIOS升級文件只是一個(gè)補丁,并不是全部文件升級,但實(shí)際,DELL BIOS刷新程序是一個(gè)特殊的可執行程序,本身已經(jīng)包括刷新程序和BIOS文件,有32位和16位兩種運行模式,也就是說(shuō),它可以在Windows平臺下以32位程序運行(非實(shí)模式),也可以在純DOS環(huán)境中運行。運行后系統會(huì )自動(dòng)重啟,BIOS刷新完畢。在某些特定的情況下,它可能必須在純DOS環(huán)境中運行,在Windows平臺下會(huì )有錯誤報告,代碼0x00000610。
) E0 f1 ^& P7 k2 y- u$ M; T    耗子經(jīng)過(guò)尋找一些國外網(wǎng)站的資料,加上在自己DELL機上的實(shí)際測試,將一些DELL BIOS的初步分析說(shuō)明一下。
; i& n2 m+ A6 B# t" d4 n& d* l4 n    其實(shí)下載的DELL的BIOS刷新程序中含有完整的GZip壓縮的BIOS鏡像。我們可以使用使用-writehdrfile或-writeromfile參數很容易的分離出BIOS文件。注:GZip壓縮格式:這是一個(gè)開(kāi)源的壓縮格式,Windows 用戶(hù)可能對其并不熟悉,但是Linux下它的應用十分廣泛(Linux最流行的壓縮方式莫過(guò)于tar打包加上gz壓縮)。7 d# d7 U, f4 {* Z6 E
    首先下載機器對應的BIOS文件,當然其都是EXE的可運行程序;在WINDOS命令行狀態(tài)下,輸入文件名 -writehdrfile或-writeromfile參數,這里說(shuō)明一下,文件名即為下載的BIOS文件(即EXE格式的文件)。
" Y/ K! ?5 ]( }. b/ r  {! x2 S, L    如我的DELL 630M機器的BIOS,下載最新版本BIOS為MX51_A04.exe文件,在XP命令行狀態(tài)下,分動(dòng)運行MX51_A04 -writehdrfile和MX51_A04 -writeromfile,可分別在當前目錄下得到一個(gè)文件;文件名為MX51_A04.hdr和MX51_A04.rom
; R; K, k+ F/ x' m9 H2 I! i4 x, q5 v
     
, t- B: Z2 a. T" @( u
                               
登錄/注冊后可看大圖
     
% q2 Q# v! Q) g) v% o
                               
登錄/注冊后可看大圖
    分離出的MX51_A04.rom文件即為BIOS文件,大小為1,048,576字節,正好為1M?芍苯佑镁幊唐鲗(xiě)入BIOS芯片中。MX51_A04.hdr的BIOS鏡像,大小為1,048,668字節,等于1MB+92字節,這92字節分別是頭部的84字節和結尾的8字節,除去這92個(gè)字節即可得到ROM文件。其中頭部的84字節是以$RBU開(kāi)頭的版權字符串,結尾的8字節中前4字節是ROM文件的CRC32校驗和的補碼,后4字節是前面84字節+1MB完整ROM鏡像+4字節ROM校驗和的CRC32校驗和的補碼。
    文件頭對比:
5 L( w) f: I, _3 c. d, P
                               
登錄/注冊后可看大圖
    文件尾部對比:
7 C% g% t' m* K
                               
登錄/注冊后可看大圖
    通過(guò)對比我們發(fā)現,我們只要去掉xxxx.hdr頭部的84字節,及尾部的8字節。然后保存即為需要的BIOS文件,不過(guò),我們可以直接分出BIOS文件,這一步就不需要了。
    對于HDR文件的用處,是在純DOS環(huán)境下刷新BIOS時(shí)使用。如MX51_A04.exe -readgzfile這條命令將在當前文件夾下尋找D610_A06.gz文件,如果找到,它把該文件解壓得到D610_A06.hdr文件,校驗其中的CRC信息,并把該hdr文件中所包含的1MB ROM鏡像刷新到BIOS中。所以,如果我們手頭有ROM鏡像,只須先添加92字節成為HDR鏡像,然后用GZip打包成gz文件就可以刷新了。其實(shí)DELL機器的BIOS,可直接在WIN環(huán)境下運行并刷新,在DOS環(huán)境下刷新基本用不上,這只是讓網(wǎng)友了解一下HDR文件的作用。
    簡(jiǎn)單一句話(huà),就是如果想分離DELL機器的BIOS文件,只要使用文件名加 -writeromfile參數即可。但其命令并不針對所有DELL機型,這一點(diǎn)網(wǎng)友需要注意。另附命令其它參數,有興趣的網(wǎng)友可自行測試。
$ K9 p! |& l2 P  g  ~6 u/ n5 n! A
    -classic9 d  ^0 y7 F! n4 z7 Z) f1 O
    -reportstatus
  ?4 ~7 w1 U1 y; B    -norburesults, H4 l. C5 U- I( u+ k/ r0 \
    -rburesults
$ _  b* P$ @) O, p3 n    -writeromfile
- u( Z- ~6 O) ], o. m) k    -writehexfile$ m, k3 `9 }6 E3 X
    -writehdrfile
# w& k6 D0 v  u$ h& H! o8 m. q- T    -wipeclean
8 r" j& ]* D* v8 J5 y  V+ Z! O( X    -wipeall# p0 ]! @- V. H+ ?1 N
    -verbose
: r6 U' O. i+ f0 L' }    -prgboot& E8 r/ |/ ?2 K- p  G5 Q; Q+ h4 I
    -noreboot+ S5 e- P8 W5 X1 N
    -nopause7 g6 Q8 L* N$ q; L# v$ @( P
    -info
3 f- B$ B! R. P    -forcetype
0 C, f! S/ t) Y, Y    -forceit
/ ^& u+ m1 \- a9 d+ C. b- b    -factory
: Q( J) A  \9 E5 {    -edvu
; l4 r5 m" g$ ?$ U  a    -boot
; Q5 [; Z# G% Q4 w 
$ v( C, T3 b. K/ J/ N) f5 h    注意:1、DELL機器的BIOS文件,一定要從DELL廠(chǎng)家下載,最好不要從第三方網(wǎng)站下載。6 V3 v7 h8 U3 O! e4 }
          2、在分離BIOS時(shí),注意使用的參數及格式。
# u" M6 I7 ?3 e. M) E) J& l! M
4#
caven1222 發(fā)表于 2008-10-2 21:13:55 | 只看該作者 來(lái)自 中國北京
牛!~學(xué)習了
5#
lidexia1984 發(fā)表于 2008-10-2 21:49:30 | 只看該作者 來(lái)自 中國廣東深圳
學(xué)習了
     
6#
91xiubbss 發(fā)表于 2008-10-2 23:51:52 | 只看該作者 來(lái)自 中國廣東廣州
好像寫(xiě)了很久了吧,
7#
小小本本維修 發(fā)表于 2008-10-3 10:18:21 | 只看該作者 來(lái)自 中國湖南婁底
太辛苦了樓主   謝謝
8#
tianjf 發(fā)表于 2008-10-23 18:39:59 | 只看該作者 來(lái)自 中國江蘇徐州

謝謝分享

學(xué)習了,牛
9#
tjj181513 發(fā)表于 2008-10-23 18:56:49 | 只看該作者 來(lái)自 中國上海
太辛苦了樓主   謝謝
10#
小呂TT 發(fā)表于 2008-10-26 19:10:40 | 只看該作者 來(lái)自 中國廣東深圳
太厲害了
+ `+ x) H% D9 R1 ^( P, I* T. F
11#
晨吉 發(fā)表于 2008-10-26 20:10:28 | 只看該作者 來(lái)自 中國江蘇常州
辛苦了   挺復雜的  慢慢學(xué)吧
12#
鄭州華誠科技 發(fā)表于 2008-10-26 20:20:39 | 只看該作者 來(lái)自 中國河南鄭州
試過(guò),挺好用的
13#
woshililixin 發(fā)表于 2008-11-20 23:13:59 | 只看該作者 來(lái)自 中國湖北武漢
值得佩服,太感謝了
14#
kai2045 發(fā)表于 2008-11-20 23:35:53 | 只看該作者 來(lái)自 中國廣東茂名
頂一下.學(xué)習了
15#
sunny217 發(fā)表于 2008-11-25 14:59:51 | 只看該作者 來(lái)自 中國江蘇南京
請教樓主.DELL的BIOS在哪下載.官網(wǎng)怎么查不到..不像IBM的那樣好查啊.能不能給個(gè)具體地址..
16#
sdjnlfc 發(fā)表于 2008-11-25 15:07:09 | 只看該作者 來(lái)自 中國山東濟寧
太辛苦了樓主   謝謝
- m6 P4 B- P/ [4 G/ T  G本文來(lái)自: 中華維修論壇(www.91xiubbs.com) 詳細出處參考:http://www.91xiubbs.com/thread-119035-1-1.html
17#
qjklwidt 發(fā)表于 2008-12-8 22:03:35 | 只看該作者 來(lái)自 中國湖北荊州

==

太歷害啦,但是還是看不懂太深了吧
18#
idallyc 發(fā)表于 2008-12-8 22:06:52 | 只看該作者 來(lái)自 中國重慶
有必要寫(xiě)得這么夸張嗎??????突出專(zhuān)業(yè)嗎?
19#
遠洋科技 發(fā)表于 2008-12-10 18:15:38 | 只看該作者 來(lái)自 中國廣東廣州
太牛了支持,
20#
NORMAN 發(fā)表于 2008-12-10 18:45:06 | 只看該作者 來(lái)自 中國廣東廣州
真的太復雜了,不懂
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規則

快速回復 返回頂部 返回列表
淳化县| 集安市| 江永县| 长海县| 隆安县| 拜城县| 宁夏| 岗巴县| 定州市| 平泉县| 邮箱| 宜良县| 荆门市| 台安县| 佛学| 灌阳县| 方山县| 彭州市| 长乐市| 乌兰县| 铁力市| 龙门县| 陇西县| 大安市| 察雅县| 汉沽区| 巴林左旗| 灌云县| 阳城县| 麻阳| 广安市| 勃利县| 潼关县| 句容市| 乌苏市| 云和县| 华蓥市| 尼勒克县| 谢通门县| 黄陵县| 英德市|