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

 找回密碼
 注冊

QQ登錄

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

查看: 13620|回復: 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),將文件解壓出。9 [* T6 d" E6 ?3 h5 l0 h& z
1 g4 W1 w6 D9 T6 }, p. R
                               
登錄/注冊后可看大圖
    解壓出的文件只有三個(gè),看文件名,其中的A06應為自刷新文件
. h. X3 J" S/ o% t
                               
登錄/注冊后可看大圖
    使用ULTRAEDIT打開(kāi)A06.EXE文件,從文件頭部看出,此文件應是WIN環(huán)境下自動(dòng)運行的程序,因此按以前分離DELL BIOS的經(jīng)驗,首先在ULTRAEDIT 32工具欄中--“搜索”--“查找”--輸入“NAPI”
   

3 t! a! ^$ N9 y# l+ N( J( O                               
登錄/注冊后可看大圖
    由于順利搜索到NAPI,下面的工具簡(jiǎn)單的。由于主板使用4M的BIOS文件,因此只要從NAPI開(kāi)始,分出7FFFF地址的字節即可。
+ B" C% d4 \; G, F
                               
登錄/注冊后可看大圖
    從上圖可看到,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”
0 u0 |7 W7 _& t5 N
                               
登錄/注冊后可看大圖
    因此我們在ULTRAEDIT32中,將鼠標移到文件頭部,即00000H地址處;在ULTRAEDIT32--工具欄--“編輯”--“HEX 插入/刪除”--選擇刪除,輸入需要刪除的10進(jìn)制字節數:“704560”
* k6 U( P9 o2 D9 _& _
                               
登錄/注冊后可看大圖
    確定后刪除,此時(shí)文件頭部即00000H地址處,應正常好為NAPI

' Y1 @% O1 [8 Y/ L8 [                               
登錄/注冊后可看大圖
    然后使用簡(jiǎn)單的方法。將鼠標移到地址7FFFFH處,只要刪除7FFFFH后面所有內容,然后將剩余的文件保存即可;鼠標移到8000H處,在ULTRAEDIT32--工具欄--“編輯”--“HEX 插入/刪除”--選擇刪除,輸入需要刪除的10進(jìn)制字節數:“XXXXXXX”,在這里XXXXX可隨意輸入,只要確定7FFFF后面所有無(wú)用內容刪除即可。(注意)XXXXXX必須是純數字。
     刪除后文件尾部如下圖:
6 d% s) N9 V3 P& W
                               
登錄/注冊后可看大圖
    操作完成后,點(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文件--參考文章:

+ {1 a" v# A+ k& Q                               
登錄/注冊后可看大圖
如何分離DELL(戴爾)機整合型BIOS文件(過(guò)程分析及相關(guān)參數介紹)
;因此詢(xún)問(wèn)耗子是否可以從EXE自刷新程序中分離出BIOS文件。
$ J$ H. B( ?' F' Y9 @    收到網(wǎng)友傳來(lái)的BIOS文件,其就是個(gè)EXE文件。首先選擇使用WINRAR打開(kāi)EXE文件,確定文件是否自解壓的EXE文件,雖然可以使用WINRAR打開(kāi)這個(gè)EXE文件,但是解壓出的文件卻是一個(gè)名為A17AS.BIN的文件,但其只有128K(1M)大小,這顯然不對,因此排除直接分出BIOS文件的想法。% {9 b5 r* X" f5 Q
2 w) G/ c' a6 X- W
                               
登錄/注冊后可看大圖
    無(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文件的頭部,這真是意外中的意外呀。

8 n0 |8 C$ N6 L! w# W" J3 A! b$ r) B                               
登錄/注冊后可看大圖
    雖然現在確定文件是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地址后面全是空字節)。
; T1 t* u* D8 \. K  A& {$ t
                               
登錄/注冊后可看大圖
    確定了文件的頭部,以下操作就簡(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ā)現機器的詳細信息,如下圖:

% C9 Y* \0 ?! Z1 X9 b                               
登錄/注冊后可看大圖
    復制文件中的這部分資料,然后對應地址覆蓋在分出的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。
9 Q# j% x2 j( U  b0 e$ n2 g/ q. B    在此以前,好多網(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。
$ Q! [* \2 z( E6 R. ^) h* C    耗子經(jīng)過(guò)尋找一些國外網(wǎng)站的資料,加上在自己DELL機上的實(shí)際測試,將一些DELL BIOS的初步分析說(shuō)明一下。
6 G$ \9 N) _/ L+ P! q: \    其實(shí)下載的DELL的BIOS刷新程序中含有完整的GZip壓縮的BIOS鏡像。我們可以使用使用-writehdrfile或-writeromfile參數很容易的分離出BIOS文件。注:GZip壓縮格式:這是一個(gè)開(kāi)源的壓縮格式,Windows 用戶(hù)可能對其并不熟悉,但是Linux下它的應用十分廣泛(Linux最流行的壓縮方式莫過(guò)于tar打包加上gz壓縮)。
$ d! e; F8 z* Z    首先下載機器對應的BIOS文件,當然其都是EXE的可運行程序;在WINDOS命令行狀態(tài)下,輸入文件名 -writehdrfile或-writeromfile參數,這里說(shuō)明一下,文件名即為下載的BIOS文件(即EXE格式的文件)。
/ _) w) e# Q$ @  l5 |" [2 ~) b    如我的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) f7 w/ ^) N* I% K4 d, t, V, p
     

+ m; }, |, n, @) c                               
登錄/注冊后可看大圖
     

( q% b$ Z( }; G                               
登錄/注冊后可看大圖
    分離出的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校驗和的補碼。
    文件頭對比:
1 T) {: @% M  \+ T  u7 I
                               
登錄/注冊后可看大圖
    文件尾部對比:

* X1 O1 j% D% o( }4 B                               
登錄/注冊后可看大圖
    通過(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)友可自行測試。
- I1 {& p/ P% V# I4 X! |
    -classic
. }1 `) ?) W" Y3 o8 f5 L' D    -reportstatus
# `3 |0 M9 w) [* ~    -norburesults
/ t  ^) x3 k& I  ~7 ?% w    -rburesults
- I* X( a+ v! O4 C    -writeromfile4 f- X$ n. a+ l) v. }
    -writehexfile
7 S  C5 U: w$ z5 b    -writehdrfile' L, w% l7 ~! W2 N0 z) T
    -wipeclean
  r* c. k  r3 \6 h  ^" v- G* x2 t    -wipeall- h1 p- X% X3 V5 |5 z2 e" }
    -verbose
+ Z" `; d2 `3 R( h% i    -prgboot
, Q3 d/ l$ S8 F) [, l    -noreboot3 z. e: \$ a$ a6 }1 O
    -nopause
/ S& N5 o# H) I- _    -info
! v* |/ N8 K( A* W% L3 i    -forcetype* F. `- h6 ]# y, q) V2 u
    -forceit
8 l" A' X0 n1 l' f$ ?) r. {" u    -factory* W3 w$ B# z+ O6 q- x
    -edvu
3 E- p) ?& {' V3 u" F9 Q    -boot; B: z" ^3 M& l# P4 n$ _8 L* t
 : u  c$ ]# G. ^1 o+ Y* k: K
    注意:1、DELL機器的BIOS文件,一定要從DELL廠(chǎng)家下載,最好不要從第三方網(wǎng)站下載。
7 ?, W/ M  {: Z. \$ a7 p% I& C          2、在分離BIOS時(shí),注意使用的參數及格式。" {5 w" N, ~& L) b2 W: k
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)自 中國廣東深圳
太厲害了: O( |8 L/ e" U* M4 G0 b8 g
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)自 中國山東濟寧
太辛苦了樓主   謝謝
, Z2 l  Z! I  i0 \% y本文來(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)自 中國廣東廣州
真的太復雜了,不懂
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規則

快速回復 返回頂部 返回列表
缙云县| 淄博市| 桃源县| 离岛区| 鹤峰县| 芜湖县| 瓮安县| 漠河县| 松滋市| 沙洋县| 三门峡市| 渑池县| 普陀区| 沁源县| 和静县| 临高县| 新丰县| 通州市| 大姚县| 海伦市| 那曲县| 阿尔山市| 曲阜市| 腾冲县| 三河市| 呼和浩特市| 邵阳县| 沾化县| 德清县| 义乌市| 土默特左旗| 门源| 灌南县| 前郭尔| 绥宁县| 宁武县| 新兴县| 藁城市| 凤阳县| 商都县| 泰顺县|