巧解硬盤“邏輯鎖”
發(fā)布時間:2007/8/23 0:00:00 訪問次數(shù):433
在《電子報》去年第45期上看到《硬盤被炸紀實》一文,覺得用作者的方法雖然可以恢復被“炸”的硬盤,但是“江民炸彈”軟件并不是到處都有的,下面筆者將給出三種比較簡單有效的方法,在這之前先分析一下被“炸”的原理。
計算機在引導DOS系統(tǒng)時將會搜索所有邏輯盤的順序,當DOS被引導時,首先要去找主引導扇區(qū)的分區(qū)表信息,即位于硬盤的零頭零柱面的第一個扇區(qū)的OBEH地址開始的地方,當分區(qū)信息開始的地方為80H時表示是主引導分區(qū),其他的為擴展分區(qū),主引導分區(qū)被定義為邏輯盤C盤,然后查找擴展分區(qū)的邏輯盤,被定義為D盤,以此類推找到E、F、G等,“邏輯鎖”就是在此下手,修改了正常的主引導分區(qū)記錄將擴展分區(qū)的第一個邏輯盤指向自己,DOS在啟動時查找到第一個邏輯盤后,查找下個邏輯盤總是找到自己,這樣一來就形成了死循環(huán),這就是使用軟驅、光驅、雙硬盤都不能正常啟動的原因。實際上這“邏輯鎖”只是利用了DOS在啟動時的一個小小缺陷,便令不少高手都束手無策。如果能找到DOS3.1啟動盤那簡直是你的福氣,因為“邏輯鎖”對DOS3.1以下的系統(tǒng)不起作用,可是它早被我們丟到垃圾箱里去了。既然知道了“邏輯鎖”的“上鎖”原理,要解鎖也就比較容易,我們再來談談如何解鎖:
方法一:可以采用“熱拔插”硬盤電源的方法來處理
就是在當系統(tǒng)啟動時,先不給被鎖的硬盤插上電源線,等待啟動完成后再給硬盤“熱插”上電源線,這時如果硬盤沒有燒壞的話,系統(tǒng)就可以控制硬盤了。當然這是一種非常危險的方法,大家不要輕易嘗試,而且在有的主板中這種做法是行不通的。
方法二:修改DOS啟動文件
首先準備一張DOS6.22的系統(tǒng)盤,拷上debug、fdisk、format等程序。然后在一臺正常的機器上,用debug、pctools5.0或者windows下的ultraedit來修改軟盤上的IO.SYS文件(修改前要去掉它的只讀、隱藏屬性),在這個文件里面搜索第一個“55aa”字符串,找到以后修改為任何別的數(shù)值即可。用這張修改過的系統(tǒng)軟盤你就可以順利地帶著被鎖的硬盤啟動了。不過這時由于該硬盤正常的分區(qū)表已經(jīng)被黑客程序給惡意修改了,你無法用fdisk來刪除和修改分區(qū),而且仍無法用正常的啟動盤啟動系統(tǒng),這時你可以用debug來手工恢復。使用debug手工修復硬盤步驟如下:
。幔海埽荆洌澹猓酰
。
。海保埃 mov ax,0201
(讀一個扇區(qū)的內(nèi)容)
。海保埃 mov bx,500
(設置一個緩存地址 )
。海保埃 mov cx,0001
(設置第一個硬盤的硬盤指針)
。海保埃 mov dx,0080
(讀零磁頭)
。海保埃 int 13
(硬盤中斷)
-xxxx:10e int 20
。海埃保保
(退出程序返回到指示符)
-g (運行)
。洌担埃 (查看運行后500地址的內(nèi)容)
這時候會發(fā)現(xiàn)地址6BE開始的內(nèi)容是硬盤分區(qū)的信息,發(fā)現(xiàn)此硬盤的擴展分區(qū)指向自己,這就使DOS或WINDOWS啟動查找硬盤邏輯盤時進入死循環(huán),在debug指示符下用E命令修改內(nèi)存數(shù)據(jù),具體如下:
。牛叮拢 .......................
。兀 xx.0 xx.0...........
...................................
。担 AA
55 AA表示硬盤有效的標記,不要修改,xx.0表示把以前的數(shù)據(jù)“xx”改成0,再用硬盤中斷13把修改好的數(shù)據(jù)寫入硬盤就可以了,具體如下:
。幔海埽荆洌澹猓酰
。幔海保埃 表示修改100地址的匯編指令
-xxxx100 mov ax,0301 (寫硬盤一個扇區(qū))
。 (這里直接按回車)
。 (運行)
。 (退出)
然后運行 fdisk/mbr(重置硬盤引導扇區(qū)的引導程序),再重新啟動電腦就行了。怎么樣?用這種方法處理夠簡單的吧?而且這種方法還有一個好處就是可以保住盤上的數(shù)據(jù)!如果你不需要保住數(shù)據(jù)的話,下面還有更加簡單的處理方法。
方法三:巧設BIOS,用DM解鎖
大家知道DM軟件是不依賴于主板BIOS的硬盤識別安裝軟件(所以在不能識別大硬盤的老主
在《電子報》去年第45期上看到《硬盤被炸紀實》一文,覺得用作者的方法雖然可以恢復被“炸”的硬盤,但是“江民炸彈”軟件并不是到處都有的,下面筆者將給出三種比較簡單有效的方法,在這之前先分析一下被“炸”的原理。
計算機在引導DOS系統(tǒng)時將會搜索所有邏輯盤的順序,當DOS被引導時,首先要去找主引導扇區(qū)的分區(qū)表信息,即位于硬盤的零頭零柱面的第一個扇區(qū)的OBEH地址開始的地方,當分區(qū)信息開始的地方為80H時表示是主引導分區(qū),其他的為擴展分區(qū),主引導分區(qū)被定義為邏輯盤C盤,然后查找擴展分區(qū)的邏輯盤,被定義為D盤,以此類推找到E、F、G等,“邏輯鎖”就是在此下手,修改了正常的主引導分區(qū)記錄將擴展分區(qū)的第一個邏輯盤指向自己,DOS在啟動時查找到第一個邏輯盤后,查找下個邏輯盤總是找到自己,這樣一來就形成了死循環(huán),這就是使用軟驅、光驅、雙硬盤都不能正常啟動的原因。實際上這“邏輯鎖”只是利用了DOS在啟動時的一個小小缺陷,便令不少高手都束手無策。如果能找到DOS3.1啟動盤那簡直是你的福氣,因為“邏輯鎖”對DOS3.1以下的系統(tǒng)不起作用,可是它早被我們丟到垃圾箱里去了。既然知道了“邏輯鎖”的“上鎖”原理,要解鎖也就比較容易,我們再來談談如何解鎖:
方法一:可以采用“熱拔插”硬盤電源的方法來處理
就是在當系統(tǒng)啟動時,先不給被鎖的硬盤插上電源線,等待啟動完成后再給硬盤“熱插”上電源線,這時如果硬盤沒有燒壞的話,系統(tǒng)就可以控制硬盤了。當然這是一種非常危險的方法,大家不要輕易嘗試,而且在有的主板中這種做法是行不通的。
方法二:修改DOS啟動文件
首先準備一張DOS6.22的系統(tǒng)盤,拷上debug、fdisk、format等程序。然后在一臺正常的機器上,用debug、pctools5.0或者windows下的ultraedit來修改軟盤上的IO.SYS文件(修改前要去掉它的只讀、隱藏屬性),在這個文件里面搜索第一個“55aa”字符串,找到以后修改為任何別的數(shù)值即可。用這張修改過的系統(tǒng)軟盤你就可以順利地帶著被鎖的硬盤啟動了。不過這時由于該硬盤正常的分區(qū)表已經(jīng)被黑客程序給惡意修改了,你無法用fdisk來刪除和修改分區(qū),而且仍無法用正常的啟動盤啟動系統(tǒng),這時你可以用debug來手工恢復。使用debug手工修復硬盤步驟如下:
。幔海埽荆洌澹猓酰
。
。海保埃 mov ax,0201
(讀一個扇區(qū)的內(nèi)容)
-xxxx:103 mov bx,500
(設置一個緩存地址 )
。海保埃 mov cx,0001
(設置第一個硬盤的硬盤指針)
。海保埃 mov dx,0080
(讀零磁頭)
。海保埃 int 13
(硬盤中斷)
。海保埃 int 20
。海埃保保
(退出程序返回到指示符)
。纭 (運行)
-d500 (查看運行后500地址的內(nèi)容)
這時候會發(fā)現(xiàn)地址6BE開始的內(nèi)容是硬盤分區(qū)的信息,發(fā)現(xiàn)此硬盤的擴展分區(qū)指向自己,這就使DOS或WINDOWS啟動查找硬盤邏輯盤時進入死循環(huán),在debug指示符下用E命令修改內(nèi)存數(shù)據(jù),具體如下:
。牛叮拢 .......................
。兀 xx.0 xx.0...........
。
。担 AA
55 AA表示硬盤有效的標記,不要修改,xx.0表示把以前的數(shù)據(jù)“xx”改成0,再用硬盤中斷13把修改好的數(shù)據(jù)寫入硬盤就可以了,具體如下:
。幔海埽荆洌澹猓酰
a:100 表示修改100地址的匯編指令
。煟保埃 mov ax,0301 (寫硬盤一個扇區(qū))
-xxxx (這里直接按回車)
。 (運行)
。 (退出)
然后運行 fdisk/mbr(重置硬盤引導扇區(qū)的引導程序),再重新啟動電腦就行了。怎么樣?用這種方法處理夠簡單的吧?而且這種方法還有一個好處就是可以保住盤上的數(shù)據(jù)!如果你不需要保住數(shù)據(jù)的話,下面還有更加簡單的處理方法。
方法三:巧設BIOS,用DM解鎖
大家知道DM軟件是不依賴于主板BIOS的硬盤識別安裝軟件(所以在不能識別大硬盤的老主