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

91手機維修論壇

標題: 最近寫(xiě)了幾篇關(guān)于DELL機的BIOS分離文章,有興趣的網(wǎng)友可看看. [打印本頁(yè)]

作者: ibmpass    時(shí)間: 2008-9-24 19:55
標題: 最近寫(xiě)了幾篇關(guān)于DELL機的BIOS分離文章,有興趣的網(wǎng)友可看看.
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),將文件解壓出。  L( W  ]& u6 b, m9 M% {
! a- |# f+ ~4 T, i
                               
登錄/注冊后可看大圖
    解壓出的文件只有三個(gè),看文件名,其中的A06應為自刷新文件

: G2 {8 a1 S* o2 w3 B- C) \                               
登錄/注冊后可看大圖
    使用ULTRAEDIT打開(kāi)A06.EXE文件,從文件頭部看出,此文件應是WIN環(huán)境下自動(dòng)運行的程序,因此按以前分離DELL BIOS的經(jīng)驗,首先在ULTRAEDIT 32工具欄中--“搜索”--“查找”--輸入“NAPI”
   
# n' W: L/ r$ J
                               
登錄/注冊后可看大圖
    由于順利搜索到NAPI,下面的工具簡(jiǎn)單的。由于主板使用4M的BIOS文件,因此只要從NAPI開(kāi)始,分出7FFFF地址的字節即可。

9 o% w3 C( f! M                               
登錄/注冊后可看大圖
    從上圖可看到,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”

; J8 E+ t! n! w; ^                               
登錄/注冊后可看大圖
    因此我們在ULTRAEDIT32中,將鼠標移到文件頭部,即00000H地址處;在ULTRAEDIT32--工具欄--“編輯”--“HEX 插入/刪除”--選擇刪除,輸入需要刪除的10進(jìn)制字節數:“704560”

6 q2 i& e6 R! F; V* c                               
登錄/注冊后可看大圖
    確定后刪除,此時(shí)文件頭部即00000H地址處,應正常好為NAPI
+ |$ e9 a- D+ v8 I" Q: n. R5 l
                               
登錄/注冊后可看大圖
    然后使用簡(jiǎn)單的方法。將鼠標移到地址7FFFFH處,只要刪除7FFFFH后面所有內容,然后將剩余的文件保存即可;鼠標移到8000H處,在ULTRAEDIT32--工具欄--“編輯”--“HEX 插入/刪除”--選擇刪除,輸入需要刪除的10進(jìn)制字節數:“XXXXXXX”,在這里XXXXX可隨意輸入,只要確定7FFFF后面所有無(wú)用內容刪除即可。(注意)XXXXXX必須是純數字。
     刪除后文件尾部如下圖:
  D) ^. O% l) {0 z
                               
登錄/注冊后可看大圖
    操作完成后,點(diǎn)擊ULTRAEDIT32工具欄--“文件”--“另存為”保存為文件,網(wǎng)友使用編程器寫(xiě)入后,開(kāi)機一切正常。

作者: ibmpass    時(shí)間: 2008-9-24 19:55
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文件--參考文章:

. N- F( J6 A( q6 [+ \                               
登錄/注冊后可看大圖
如何分離DELL(戴爾)機整合型BIOS文件(過(guò)程分析及相關(guān)參數介紹)
;因此詢(xún)問(wèn)耗子是否可以從EXE自刷新程序中分離出BIOS文件。2 }/ A5 O  |$ b$ K
    收到網(wǎng)友傳來(lái)的BIOS文件,其就是個(gè)EXE文件。首先選擇使用WINRAR打開(kāi)EXE文件,確定文件是否自解壓的EXE文件,雖然可以使用WINRAR打開(kāi)這個(gè)EXE文件,但是解壓出的文件卻是一個(gè)名為A17AS.BIN的文件,但其只有128K(1M)大小,這顯然不對,因此排除直接分出BIOS文件的想法。
) d: D3 j3 Q* m7 r

" Q& F8 x5 k. G, d                               
登錄/注冊后可看大圖
    無(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文件的頭部,這真是意外中的意外呀。
) I7 d2 n* Q6 c( |1 k# Q) x( V
                               
登錄/注冊后可看大圖
    雖然現在確定文件是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地址后面全是空字節)。
7 C  y1 ~. T8 Z
                               
登錄/注冊后可看大圖
    確定了文件的頭部,以下操作就簡(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ā)現機器的詳細信息,如下圖:
# t& l8 k- j9 o
                               
登錄/注冊后可看大圖
    復制文件中的這部分資料,然后對應地址覆蓋在分出的BIOS文件的文件中。重新保存成文件,傳給網(wǎng)友測試,經(jīng)網(wǎng)友回復,一切正常。至此維修修復完成。
 
    注意:
    1、如是刷新失敗后,先不要急于寫(xiě)芯片,一定要先備份出文件,這樣以后需要時(shí)使用。
    2、此方法是否適應于其它DELL的機器,耗子沒(méi)有時(shí)間測試。因此有興趣的網(wǎng)友可自行測試一下。
    3、分離文件時(shí),文件的大小按BIOS芯片的大小確定即可。

作者: ibmpass    時(shí)間: 2008-9-24 19:56
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。% W3 `& [6 N; t" p
    在此以前,好多網(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。9 S; a7 K8 `! j" q/ V( H& c% L
    耗子經(jīng)過(guò)尋找一些國外網(wǎng)站的資料,加上在自己DELL機上的實(shí)際測試,將一些DELL BIOS的初步分析說(shuō)明一下。
& G( w/ x( h9 L4 r8 D# j( [    其實(shí)下載的DELL的BIOS刷新程序中含有完整的GZip壓縮的BIOS鏡像。我們可以使用使用-writehdrfile或-writeromfile參數很容易的分離出BIOS文件。注:GZip壓縮格式:這是一個(gè)開(kāi)源的壓縮格式,Windows 用戶(hù)可能對其并不熟悉,但是Linux下它的應用十分廣泛(Linux最流行的壓縮方式莫過(guò)于tar打包加上gz壓縮)。
  @5 g) H9 z$ x& Y2 C' }$ ~; }- O    首先下載機器對應的BIOS文件,當然其都是EXE的可運行程序;在WINDOS命令行狀態(tài)下,輸入文件名 -writehdrfile或-writeromfile參數,這里說(shuō)明一下,文件名即為下載的BIOS文件(即EXE格式的文件)。
% a. D& A7 b* @: _' @; O    如我的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- K2 e# J; @, v2 L
     
; A% J" ?, c+ `
                               
登錄/注冊后可看大圖
     

8 i* D% A. b, p4 g+ E                               
登錄/注冊后可看大圖
    分離出的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校驗和的補碼。
    文件頭對比:

* Q7 W$ O- x7 p* `# v+ @                               
登錄/注冊后可看大圖
    文件尾部對比:

( K' N! A/ M+ v  I4 s- J4 }8 G                               
登錄/注冊后可看大圖
    通過(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)友可自行測試。+ A; R* a+ s  n4 x
    -classic4 Z& c0 {; M4 R
    -reportstatus1 t" Q1 v5 w$ P9 I  I
    -norburesults! K& ?. ]* C& t& h( _
    -rburesults
( z3 ?3 N0 t1 L, y: [6 ^1 E    -writeromfile  x3 w4 A  N& e# t- F9 J: b# K% u3 f
    -writehexfile
- O' [; P8 z2 }+ f7 n( F  r4 c    -writehdrfile  B+ {! J& n3 Q4 s1 u& x, k
    -wipeclean- y) x0 \9 L, S# x3 Y( ]/ i
    -wipeall0 ]9 {# I! O) s! Y" ~
    -verbose
' O3 P) \* Q2 t    -prgboot
: `5 s0 j: ]& X4 |) q    -noreboot; `" j/ Q' E. @0 G( S2 F
    -nopause
. q7 V2 _6 P% H! L- B* f    -info0 h  e  N6 ~  F% o1 r; a( `
    -forcetype, _8 ?, E0 W6 ^2 F. {: T$ |) m7 y
    -forceit4 B% F5 y3 X' y( ?- a2 @
    -factory8 u: k. ?6 V; Z6 t2 V
    -edvu
8 ]& E6 w" I. g5 y    -boot
$ _0 C  G2 [# v4 M- P . T! \1 q5 n! g- A1 O
    注意:1、DELL機器的BIOS文件,一定要從DELL廠(chǎng)家下載,最好不要從第三方網(wǎng)站下載。) _8 O# A. J$ u- d6 \
          2、在分離BIOS時(shí),注意使用的參數及格式。/ Z! o7 u* K/ _( n* ?  R# V* L

作者: caven1222    時(shí)間: 2008-10-2 21:13
牛!~學(xué)習了
作者: lidexia1984    時(shí)間: 2008-10-2 21:49
學(xué)習了
作者: 91xiubbss    時(shí)間: 2008-10-2 23:51
好像寫(xiě)了很久了吧,
作者: 小小本本維修    時(shí)間: 2008-10-3 10:18
太辛苦了樓主   謝謝
作者: tianjf    時(shí)間: 2008-10-23 18:39
標題: 謝謝分享
學(xué)習了,牛
作者: tjj181513    時(shí)間: 2008-10-23 18:56
太辛苦了樓主   謝謝
作者: 小呂TT    時(shí)間: 2008-10-26 19:10
太厲害了. ~6 o3 }! u' {  d( P! L

作者: 晨吉    時(shí)間: 2008-10-26 20:10
辛苦了   挺復雜的  慢慢學(xué)吧
作者: 鄭州華誠科技    時(shí)間: 2008-10-26 20:20
試過(guò),挺好用的
作者: woshililixin    時(shí)間: 2008-11-20 23:13
值得佩服,太感謝了
作者: kai2045    時(shí)間: 2008-11-20 23:35
頂一下.學(xué)習了
作者: sunny217    時(shí)間: 2008-11-25 14:59
請教樓主.DELL的BIOS在哪下載.官網(wǎng)怎么查不到..不像IBM的那樣好查啊.能不能給個(gè)具體地址..
作者: sdjnlfc    時(shí)間: 2008-11-25 15:07
太辛苦了樓主   謝謝
9 u$ S8 s* V- W# A) S9 \6 P本文來(lái)自: 中華維修論壇(www.91xiubbs.com) 詳細出處參考:http://www.91xiubbs.com/thread-119035-1-1.html
作者: qjklwidt    時(shí)間: 2008-12-8 22:03
標題: ==
太歷害啦,但是還是看不懂太深了吧
作者: idallyc    時(shí)間: 2008-12-8 22:06
有必要寫(xiě)得這么夸張嗎??????突出專(zhuān)業(yè)嗎?
作者: 遠洋科技    時(shí)間: 2008-12-10 18:15
太牛了支持,
作者: NORMAN    時(shí)間: 2008-12-10 18:45
真的太復雜了,不懂
作者: 戴廣    時(shí)間: 2008-12-15 14:52
學(xué)習了,但我還是不會(huì )啊,我沒(méi)親手做過(guò),遺憾啊
作者: JKX    時(shí)間: 2008-12-16 10:16
樓主辛苦了,謝謝分享,
作者: yyw1975    時(shí)間: 2008-12-16 16:39
牛,學(xué)習了實(shí)在是高
作者: 初心    時(shí)間: 2008-12-22 08:05
不錯,謝
作者: chenbo1987    時(shí)間: 2008-12-22 13:12
高手啊,頂起,,,,,
作者: wjx6841    時(shí)間: 2008-12-26 16:52
謝謝了真的辛苦了
作者: 楓mjj    時(shí)間: 2008-12-30 23:18
太強了,可惜看得我頭都大了。。。
作者: 筆記本之星    時(shí)間: 2009-1-2 00:21
果真是高手啊
作者: 本本易修    時(shí)間: 2009-1-2 21:56
太厲害了$ ~& ?; F( J3 Q+ T+ Y+ a
& P" y6 p' R9 m4 G
作者: 大東10    時(shí)間: 2009-3-14 19:19
牛 人   太厲害了。
作者: lrh123    時(shí)間: 2009-3-15 15:00
實(shí)在是高
作者: sdjnlfc    時(shí)間: 2009-3-15 15:10
太辛苦了樓主   謝謝
作者: heju123    時(shí)間: 2009-3-16 19:11
有點(diǎn)看不懂呀
作者: xingdongli2006    時(shí)間: 2009-3-16 19:40
這個(gè)是真的,我就碰到一個(gè)高人,DELL 1000的BIOS真的被他分離出來(lái)了,一個(gè)字牛
作者: trl254948510    時(shí)間: 2009-3-28 23:12
不懂啊,還得學(xué)習學(xué)習/!
作者: jsc335    時(shí)間: 2009-3-30 09:53
呵呵,一直佩服樓主BIOS和解密的技術(shù),希望以后多多賜教
作者: 惠州維修    時(shí)間: 2009-3-30 10:33
不錯;究吹拿靼。
, u( e& L/ i# m. AULTRAEDIT這個(gè)軟件要下載的吧。
+ a' p) r* `$ T2 n: m能不開(kāi)介紹下IBM的分離法。謝謝
作者: jing799940141    時(shí)間: 2009-4-27 14:34
辛苦了.
作者: xinok08    時(shí)間: 2009-5-14 12:34
hao  xuexi   haodongxi!!!
作者: luoxianhua2003    時(shí)間: 2009-5-14 20:25
真是個(gè)高手啊




歡迎光臨 91手機維修論壇 (http://www.jstransmit.com/) Powered by Discuz! X3.4
惠州市| 天长市| 平舆县| 新河县| 成都市| 盐池县| 白朗县| 托里县| 阿合奇县| 库尔勒市| 江川县| 枣庄市| 滦平县| 壤塘县| 盘锦市| 上蔡县| 乐至县| 合作市| 威宁| 察雅县| 琼海市| 濮阳县| 肥西县| 调兵山市| 克拉玛依市| 柳河县| 潞西市| 台安县| 凌云县| 紫云| 云和县| 沅陵县| 平潭县| 太湖县| 侯马市| 博乐市| 洞口县| 浦江县| 游戏| 阿城市| 应城市|