當前位置:名人名言大全網 - 笑話大全 - 戴爾D430硬盤鎖定,請高手解決,謝謝。急!!!

戴爾D430硬盤鎖定,請高手解決,謝謝。急!!!

妳好,硬盤鎖定原理

硬盤加鎖通常是篡改硬盤的分區表,所以妳要先了解硬盤的分區表。硬盤分區表位於0柱面0磁頭1扇區。這個扇區的前200個字節是主引導程序,從01BEH開始的後64個字節是分區表。分區表***64字節,分為4列,每列為16字節,用於描述壹個分區。如果用DOS的FDISK程序分區,最多只需要兩列。第壹列描述了基本DOS分區,第二列描述了擴展DOS分區。

分區表列的結構和每個字節的含義如下:

00H—表示活動字節,活動DOS分區為80H,其他為00H。

01H— —該分區中邏輯扇區0的頭數。

02H— —邏輯0扇區所在柱面的扇區號。

03H— —邏輯0扇區所在的柱面號。

04H—分區類型標誌。

05H—該分區中最後壹個扇區的頭編號。

06H—最後壹個扇區的扇區號。

07H——最後壹個氣缸的氣缸號。

08H————該分區前硬盤的總扇區數,用雙字表示。

0CH—該分區中的扇區總數,從邏輯0扇區開始計數,不包括隱藏扇區,用雙字表示。

雖然上面介紹中給出的柱面號和扇區號各占壹個字節,但實際上扇區號是用6位表示的,柱面號是用10位表示的。扇區號所在字節的最高兩位實際上是柱面號的最高兩位。

分區表的最後兩個字節是分區表的有效標誌。如果更改,將無法從硬盤啟動。這是鎖定硬盤的簡單方法。解決方法是從軟盤啟動,啟動後硬盤依然可以使用。使用Noratn中的Debug或Diskedit軟件恢復硬盤分區表中的標誌,這樣從硬盤引導就沒有問題了。另壹種鎖定硬盤的方法是篡改分區參數。如果所有分區參數都改成0,由於啟動時找不到分區參數,無法從硬盤啟動,從軟盤啟動後也不會識別硬盤。如果鍵入驅動器號C並按enter,將提示您輸入無效的驅動程序規格。不過還好,畢竟可以開機,不認硬盤也沒關系。還是可以用DOS Debug在A盤讀取硬盤0柱面0磁頭1扇區的內容,修改後再寫入0柱面0磁頭1扇區,重啟機器也沒問題。如果隨意把分區表參數改成其他參數,可能無法用可以安裝DOS的DOS系統盤啟動。按F3退出後會出現內存分配錯誤,如果不能加載DOS命令解釋器的提示,系統會崩潰。我遇到過這種情況。但是有了格式化為系統盤的軟盤,就可以順利啟動了。只要有Debug,您仍然可以修改分區表參數。可怕的是,如果不幸把分區表參數改成了循環鏈,也就是磁盤C的下壹個分區指向驅動器D,驅動器D的下壹個分區指向區域C,這樣循環下去,DOS啟動或者WIN95啟動只會因為無休止的讀取邏輯驅動器而崩潰。只要有硬盤,不管妳用軟盤還是硬盤,都無法啟動機器。因為因為硬盤的原因無法啟動,所以即使把硬盤下載到另壹臺電腦上也無法使用,所以硬盤是完全鎖定的。這就是我遇到的。不信妳只需要把磁盤0柱面0頭的1d0h改成1(如果妳的D盤的起始柱面號不夠大,這裏已經是1了),把1D1H改成0,也就是說D盤的起始柱面號和c盤的壹樣,看看妳的電腦還能不能工作。

壹個完整的硬盤鎖程序無非是重寫0柱面0磁頭的1扇區的引導程序,用分區表破壞或故意創建壹個循環分區表,把真正的硬盤分區表參數和引導程序放在其他隱藏扇區並加以保護。如果啟動時密碼錯誤,機器無法啟動,如果密碼正確,可以順利啟動。這個硬盤鎖程序如果情況好也可以用軟盤啟動;嚴重的情況是連軟盤都啟動不了,硬盤真的被鎖了。

解鎖硬盤鎖的程序化方法

如果硬盤被鎖了,真的無法解鎖嗎?當然不是。看問題的癥結。問題的根源在於IO。SYS文件,其中包含四個模塊:LOADER、IO1、IO2和IO3。其中,IO1包含了壹個關鍵程序SysInt_I,它在啟動時固執己見,堅持讀取分區表,不讀完絕不罷休。如果分區表是循環的,只會崩潰。這就是DOS的脆弱和不完整。其實這也不能怪DOS,因為DOS必須讀取分區表參數才能獲得硬盤的使用權,而且DOS也規定了盤符不能超過26,但是並沒有考慮到這樣的循環分區表。總之,機器無法啟動是因為DOS操作系統。如果妳寫另壹個操作系統,妳也許能啟動機器。當然,這只是壹個玩笑。

明白原因是DOS,問題就好辦了。DOS啟動時不需要讀取硬盤分區表嗎?我不會讓妳看分區表甚至硬盤,妳可以順利啟動。的確,解鎖硬盤鎖的程序實現方法就是基於這個思路。當然,這只能從軟盤開始。

看電腦的啟動過程,我們與電腦開機時首先進行的硬件自檢無關。我們只關心它第壹次處理磁盤時做了什麽。如果選擇從硬盤開始,計算機與磁盤的初始交互是將硬盤0柱面0頭的1扇區的內容以0000: 7c00讀入內存,跳轉到0000: 7c00執行;如果選擇從軟盤開始,計算機與磁盤的初始交互是將A盤0磁道1扇區的內容以0000: 7c00讀入內存,跳轉到0000: 7c00執行。在執行過程中,計算機並不檢查這個扇區的內容,只是機械地執行read命令,使得很多系統病毒得以存活。但利用這壹點,正好讓我們的程序解鎖方法發揮了作用。如果我們用DOS格式化壹張可以啟動電腦的系統軟盤,把軟盤0磁道1扇區的內容移到後面的空白扇區,重新寫壹個程序到軟盤0磁道1扇區,這樣我們寫的程序在軟盤啟動時會先執行。在這個程序中有壹些功能:在DOS啟動前攔截INT 13H,駐留高端內存並監控INT 13H判斷是否讀取硬盤,如果是,直接返回,從而禁止讀取硬盤,避免DOS讀取硬盤循環分區表導致的死機;同時攔截軟盤的讀取。如果妳讀的是軟盤0磁道0頭1扇區,那就改為用引導程序和磁盤參數表讀扇區,防止DOS在啟動時因為找不到軟盤的磁盤參數表而崩潰。在完成這些任務的同時,我們還要讀取軟盤的真正引導程序,並賦予其控制權。

這個方法可以稱得上萬能,因為從軟盤啟動的時候從來不跟硬盤打交道,所以無論妳用什麽方法鎖硬盤,對DOS啟動都沒有影響。當然,這種方式啟動的機器是不識別硬盤的,不過沒關系。可以使用Debug調出機器啟動後駐留在高端內存的新的INT 13H程序,改成只有壹條語句直接執行舊的INT 13H,這樣就可以在Debug下用INT 13H讀取硬盤0柱面0頭的扇區1的內容。如果有備份,恢復分區表參數,然後寫入0柱面頭的扇區1。如果沒有備份,就把分區表裏的循環鏈去掉,至少用正常的DOS啟動盤重新開機後再給硬盤分區,這樣硬盤就不會被鎖死打不開了。

程序和說明

1?下面是key.com寫入軟盤0磁道0頭1扇區的源程序,該程序是通過debug輸入的。

C & gt調試

-a100

100 CLI

101異或AX,AX

103 MOV DS,AX

AX MOV東大街105號

107 MOV SS,AX

109 MOV AX,7C00

10C MOV SP,AX

10E STI

10F MOV SI,AX

MOV第7E00區11

114 CLD

MOV CX,0200

118共和國

119 MOVSB

JMP 0000:7E1F

11F MOV CX,0003

122推送CX

123 MOV AX,0201;讀取引導軟盤的引導扇區

126 MOV BX,7C00

CX MOV 129,4F01

12C MOV傳真,0100

12F INT 13

131流行CX

132 CX 12月

133 JNZ 0122

135 MOV AX,[004 c];先得到INT 13H的位置。

138 MOV [7E88],AX

13B MOV AX,[004E]

13E MOV [7E8A],AX

141 MOV斧,[0413]

144 DEC AX

MOV 145[0413],傳真

148 MOV CL,06

CL,14A SHL AX

14C MOV東區,AX

14E異或AX,AX

150 MOV DS,AX

152 MOV SI,7E6D將重寫的INT 13H程序復制到高端內存。

155 MOV第0000號

158 MOV CX,0030

15B共和國

015C MOVSB

015D MOV AX,0000;將新的INT 13H位置寫入中斷向量表。

0160 MOV [004C],AX

0163 MOV AX,ES

0165 MOV [004E],AX

JMP 0000:7C00

016D PUSHF;新INT 13H程序

016E CMP DX,0080;是硬盤嗎?

0172 JNZ 0176;如果不是硬盤,繼續。

0174 POPF

0175 IRET;如果是硬盤,直接返回。

0176 CMP DX,+00;妳想讀取軟盤的引導區嗎?

0179 JNZ 0186

017B CMP CX,+01

017E JNZ 0186

0180 MOV CX,4f 01;如果是,讀取79磁道1磁頭1扇區。

0183 MOV傳真,0100

0186 POPF

0187 JMP 0000:0000;跳到這裏執行舊的INT 13,

;舊INT 13H的位置是由前面的程序獲得,然後寫入。

key.com北部

RCX

200

W

Q

2?程序裝入

在執行以下工作之前,用DOS格式化啟動系統盤,並確保沒有壞扇區。最好進行啟動測試,確保能啟動機器。因為現在大部分機器上只有3寸軟驅,所以我們選擇1.44M的3.5寸軟盤,然後用debug key.com把程序key.com轉移到偏移量地址為100H的內存中,在400H寫壹個加載程序。即:

C & gt調試key.com

-a400

MOV CX 400號,郵編0003

403推CX

404 MOV AX,0201;將A盤的引導程序讀入1000H的內存中。

407 MOV BX,1000;為了保證成功,第壹次采用重復閱讀3遍。

40A MOV CX,0001

40D MOV DX,0000

410 INT 13

412流行CX

413 CX 12月

414 JNZ 0403

416 MOV AX,0301;將已讀入內存的軟盤引導程序寫入軟盤。

419 MOV BX,1000;最後壹個軌道的第壹個扇區

MOV CX,4F01

41F MOV傳真,0100

422 INT 13

424 MOV AX,0301;將key.com程序寫入軟盤0磁道0磁頭1扇區。

427號,0100

42A MOV CX,0001

42D MOV DX,0000

430 INT 13

432 INT 3

為了保證萬無壹失,最好重新讀取軟盤這兩個扇區的內容,以保證寫入成功。要做好這壹切,安全的做法是進行壹次測試,就是用這張軟盤啟動電腦壹次,看能不能成功啟動。如果啟動成功,可以用循環分區表的方法鎖定硬盤,看看在正常DOS下能否啟動,然後用這張軟盤試著啟動電腦,看看效果如何。

從這個軟盤啟動後,硬盤不被識別,高端內存中存在壹個新的程序INT 13H,實際上就是key.com從16D到187的部分。因為這個程序,妳無法在調試下讀取硬盤,也無法恢復硬盤分區表,所以要在機器啟動後先修改這個程序。目前機器的基本內存通常是640K,所以這個程序在內存中的位置是9FC0:0000。在debug下,用U9FC0: 0顯示這個程序,可以看到在9FC0: 001A有壹條跳轉指令,就是執行最原始的INT 13H。因為BIOS版本不同,跳轉指令可能指向不同的位置,比如作者電腦上的壹條JMP F000:A5D4語句。此時在debug下寫這樣壹條語句:A9FC0: 0JMPF000: A5D4。這樣,禁止在硬盤上寫和讀就不再起作用了。在debug下,可以用INT 13H的2號子函數讀取硬盤的分區表,修改恢復後可以用3號子函數將數據寫回分區表。退出調試,用正常DOS重啟電腦。

順帶壹提,正常DOS下,軟盤因為沒有引導區,沒有磁盤參數表,所以不能用。使用DIR A:命令將導致讀取drive A提示符時出現壹般故障。忽略它,不影響它的專用啟動盤。

建議

為了更好的保護妳的硬盤,建議妳備份妳的硬盤分區表信息。備份有兩種方式,壹種是將硬盤各邏輯盤的分區信息以文件的形式存儲;另壹種是備份硬盤隱藏扇區的分區信息。比如可以在0柱面0磁頭3扇區備份0柱面0磁頭1扇區,在0柱面0磁頭3扇區備份D磁盤開始柱面0磁頭1扇區,以及其他邏輯磁盤。該方法簡單、方便、可靠。在NORTAN中使用DISKEDI易於操作和實現。有了備份分區表信息,就不怕病毒破壞分區表了;再加上我給妳的程序,就算真的有人鎖了妳的硬盤,妳也能輕松解鎖。