亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 維修 > 硬盤 > 正文

硬盤解鎖

2020-07-05 10:55:22
字體:
來源:轉載
供稿:網友
   不知道你是否曾碰到過從軟盤和硬盤都啟動不了計算機的情形?一般計算機的硬盤分區表被病毒感染后,若不能啟動機子,通常從軟盤可以啟動。但在嚴重的情形下,不但從硬盤不能啟動機子,就是從軟盤也不能啟動。有的惡毒的病毒就能使硬盤被死鎖。筆者一次在自己機子上玩弄硬盤鎖時,就被鎖住過一次。結果在硬盤下選擇DOS或WIN95模式啟動機子都死機,在軟盤下用DOS啟動也死機;在COMS中將硬盤類型選擇None,雖然可以從軟盤啟動,但啟動后沒有硬盤,使用軟盤上的FDISK命令,想重新分區或格式化都沒門。弄得我一籌莫展。 

    本來,硬盤被鎖住時,可以采用3.0以下的DOS版本啟動機子,機子啟動后雖然也不認硬盤,但其不認的原因在于其管理不了現在的大硬盤,因此可以用Debug修改硬盤分區表,修改后可以啟動。但在已進入WINDOWS的年代,3.0以下的DOS實難找到,即使找到,你的機子上恐怕也因沒有5寸軟驅而不能使用。因此,最好的辦法是編制一個程序來解決這個問題。筆者通過嘗試和思考,找到一種比較實用的方法,可以輕松解開死鎖的硬盤,當然也把自己的硬盤解開了。下面,我將這種方法介紹出來。 

二·硬盤鎖住原理 

    硬盤鎖住通常是對硬盤的分區表做手腳,因此首先應該了解硬盤的分區表。硬盤分區表位于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位表示,扇區號所在字節的最高兩位實際上是柱面號的最高兩位。 

    分區表的最后兩個字節是分區表的有效標志,如果將其改變,將不能從硬盤啟動,這是一種簡單的鎖住硬盤的方法。解決的辦法是從軟盤啟動,啟動后硬盤仍然可以使用。用Debug或Noratn中的Diskedit軟件將硬盤該分區表中的標志恢復,則從硬盤啟動也沒有問題了。鎖住硬盤的另一種方法是對分區參數做手腳,如果將分區參數全部變為0,則啟動時由于找不到分區參數,從硬盤是沒法啟動,從軟盤啟動后也不認硬盤,如果你敲入盤符C并回車,將出現提示Invalid driver specification。但所幸的是,畢竟可以啟動機子,不認硬盤沒關系,在A盤上用DOS的Debug仍然可以讀出硬盤0柱面0磁頭1扇區的內容,修改后再寫入0柱面0磁頭1扇區,重新啟動機子又沒問題了。如果將分區表參數隨意改為其它參數,則有可能不能用可以安裝DOS的DOS系統盤啟動,按F3退出后將出現內存分配錯誤,不能裝載DOS的命令解釋器COMMAND的提示,系統就死機了,筆者就曾碰見過這種情形。但用一張格式化成系統盤的軟盤則可以順利啟動,只要有Debug,你仍然可以將分區表參數修改回去??膳碌氖虑槭?,如果你不幸將分區表參數改成一個循環鏈,即C盤的下一個分區指向D驅,D驅的下一個分區又指向C區,這樣循環下去,DOS啟動或WIN95啟動時由于無休止的讀取邏輯驅動器,就只有死機的份了。這是只要有硬盤存在,不管你用軟盤還是硬盤都沒法啟動機子了,由于不能啟動是由于硬盤造成的,即使你將硬盤下到其它計算機上,也沒法使用,這樣硬盤就徹底被鎖死了,筆者所遭遇就是此情形。不信,你只需將硬盤0柱面0磁頭1扇區的1D0H處改為1(如果你的D驅開始柱面號不夠大,此處本來就為1),將1D1H處改為0,表示D盤的開始柱面號跟C盤一樣,看看你的計算機還能不能啟動,不過你在沒有充分的準備前絕不要試。 

    一個完整的硬盤鎖程序,不過是重新改寫0柱面0磁頭1扇區的引導程序,并將分區表破壞或故意制造一個循環分區表,而將真正的硬盤分區表參數和引導程序放在其它隱藏扇區并保護起來,如果啟動時口令不對,則不能啟動機子,口令對了則順利啟動。這種硬盤鎖程序,情形好的還可以用軟盤啟動;情形嚴重的就是連軟盤也不能啟動,硬盤真被鎖住。 

三·解開硬盤鎖的程序法 

    如果硬盤被鎖死,是否真的就無法解開呢?當然不是??纯磫栴}的癥結所在,根源在于DOS中的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磁道0磁頭1扇區的內容讀入內存0000:7C00處并跳到0000:7C00處執行,在執行過程中,計算機并不檢查該扇區的內容是什么,只機械地執行讀命令,這使得許多系統型病毒得以生存。但利用這一點,恰恰使我們的程序解鎖法有了用武之地。如果我們用DOS格式化一張可以啟動機子的系統軟盤,將該軟盤的0磁道0磁頭1扇區的內容移到后面的空白扇區中,而重新寫一段程序到該軟盤的0磁道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柱面0磁頭1扇區,重新啟動計算機就可以了。如果實在沒有備份,去掉分區表中的循環鏈,用正常DOS啟動盤重啟機子后至少也可以重新對硬盤分區,不至于硬盤被鎖住打不開了。  

四·程序及說明 

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

C>debug 

-a100 

100  CLI 

101  XOR    AX,AX 

103  MOV    DS,AX 

105  MOV    ES,AX 

107  MOV    SS,AX 

109  MOV    AX,7C00 

10C  MOV    SP,AX 

10E  STI 

10F  MOV    SI,AX 

111  MOV    DI,7E00 

114  CLD 

115  MOV    CX,0200 

118  REPNZ 

119  MOVSB 

11A  JMP    0000:7E1F 

11F  MOV    CX,0003 

122  PUSH    CX 

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

126  MOV    BX,7C00 

129  MOV    CX,4F01 

12C  MOV    DX,0100 

12F  INT    13 

131  POP    CX 

132  DEC    CX 

133  JNZ    0122 

135  MOV    AX,[004C];搶先獲取INT 13H的位置 

138  MOV    [7E88],AX 

13B  MOV    AX,[004E] 

13E  MOV    [7E8A],AX 

141  MOV    AX,[0413] 

144  DEC    AX 

145  MOV    [0413],AX 

148  MOV    CL,06 

14A  SHL    AX,CL 

14C  MOV    ES,AX 

14E  XOR    AX,AX 

150  MOV    DS,AX 

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

155  MOV    DI,0000 

158  MOV    CX,0030 

15B  REPNZ 

015C  MOVSB 

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

0160  MOV    [004C],AX 

0163  MOV    AX,ES 

0165  MOV    [004E],AX 

0168  JMP    0000:7C00 

016D  PUSHF;新INT 13H程序 

016E  CMP    DX,0080;是否是硬盤 

0172  JNZ    0176;不是硬盤則繼續 

0174  POPF 

0175  IRET;是硬盤則直接返回 

0176  CMP    DX,+00;是否讀軟盤BOOT區? 

0179  JNZ    0186 

017B  CMP    CX,+01 

017E  JNZ    0186 

0180  MOV    CX,4F01;是則讀79磁道1磁頭1扇區 

0183  MOV    DX,0100 

0186  POPF 

0187  JMP    0000:0000;此處跳轉去執行舊INT 13, 

            ;舊INT 13H的位置由前面程序獲得后寫入。 

N  key.com 

RCX 

200 





2·程序的裝載 

    在進行下面工作前,先用DOS格式化一張啟動的系統盤,并保證沒有壞扇區,最好進行啟動測試,確保其可以啟動機子。由于現在機子上大多只有3寸軟驅,因此選擇1.44M的3.5寸軟盤。然后用debug key.com將程序key.com調入內存偏移地址為100H,同時在400H處寫入一段裝載程序。即: 

C>debug  key.com 

-a400 

400    MOV    CX,0003 

403    PUSH    CX 

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

407    MOV    BX,1000;為確保成功,首次采用重復讀3次 

40A    MOV    CX,0001 

40D    MOV    DX,0000 

410    INT    13 

412    POP    CX 

413    DEC    CX 

414    JNZ    0403 

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

419    MOV    BX,1000;最后一個磁道的首扇區 

41C    MOV    CX,4F01 

41F    MOV    DX,0100 

422    INT    13 

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

427    MOV    BX,0100 

42A    MOV    CX,0001 

42D    MOV    DX,0000 

430    INT    13 

432    INT    3 

    為保證萬無一失,最好將軟盤這兩個扇區的內容重新讀出來看一看,以保證寫成功了。做好這一切,保險的還是進行一次測試,即用該軟盤啟動一次機子,看能否成功,若成功啟動,你就可以用循環分區表法鎖住硬盤,看從正常DOS下能否啟動,然后再用此軟盤啟動機子試試,看看功效如何? 

    從該軟盤啟動后,不認硬盤,并且在高端內存駐留了新INT 13H程序,該段程序實際上是key.com中從16D到187部分。由于有此段程序存在,在debug下也無法讀硬盤,也就沒法恢復硬盤分區表,因此機子啟動后首先應修改這段程序?,F在的機子基本內存通常都為640K,這樣這段程序就位于內存中9FC0:0000處,在debug下,用U9FC0:0顯示這段程序,可以看到位于9FC0:001A處是一條跳轉指令,該跳轉指令即轉去執行最原始的INT 13H。由于BIOS版本不一樣,跳轉指令指向的位置可能不一樣,如筆者機子上是一條JMP F000:A5D4語句。這時在在debug下編寫這樣一語句:a9FC0:0  JMP F000:A5D4。這樣,對硬盤的禁寫與禁讀都不再起作用了,在debug下用INT 13H的2號子功能可以讀出硬盤分區表,修改恢復后再用3號子功能將數據寫回分區表。退出debug,重新用正常DOS啟動計算機,就可以了。 

    附帶提一下,在正常DOS下,該軟盤由于沒有BOOT區,也就沒有磁盤參數表,從而不能使用,用DIR  A:命令會出現General failure reading drive A提示。不要理睬它,這并不影響它作特殊啟動盤。 

五·建議 

    為更好的保護你的硬盤,筆者建議你最好將你的硬盤分區表信息備份起來。備份有兩種方式,一種是以文件形式將硬盤每個邏輯盤的分區信息存儲起來;另另一種是將分區信息備份在硬盤隱藏扇區里。比如可以將0柱面0磁頭1扇區備份在0柱面0磁頭3扇區,將D盤開始柱面號0磁頭1扇區備份在該柱面0磁頭3扇區,其它邏輯盤也如此。這種方法簡單、方便,也很可靠。用NORTAN中的DISKEDI很容易操作和實現。有了備份分區表信息,就不怕破壞分區表的病毒了;再加上我給你的程序,即使有人真鎖住了你的硬盤,你也可以輕而易舉解開了。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
少妇久久久久久| 91探花福利精品国产自产在线| 欧美精品在线免费| 77777少妇光屁股久久一区| 亚洲精品女av网站| 久久99精品国产99久久6尤物| 亚洲精品wwww| 激情成人在线视频| 日韩在线视频免费观看| 国产精品香蕉国产| 色小说视频一区| 欧美高清视频免费观看| 国产一区二区三区在线看| 日韩高清免费观看| 欧美成人一二三| 国产成人高清激情视频在线观看| 色噜噜国产精品视频一区二区| 高清欧美性猛交xxxx黑人猛交| 亚洲视频在线观看网站| 欧美激情一二区| 欧美激情videos| 欧美裸体xxxx| 91久久夜色精品国产网站| 国产91精品久久久| 日韩av免费在线播放| 欧美午夜影院在线视频| 日韩在线免费高清视频| 国产精品视频公开费视频| 亚洲欧美三级在线| 久久成人这里只有精品| 欧美午夜美女看片| 亚洲va欧美va国产综合久久| 色综久久综合桃花网| 日韩在线观看高清| 午夜免费在线观看精品视频| 成人乱色短篇合集| 一个人看的www久久| 久久久久免费精品国产| 欧美黑人xxx| 国内久久久精品| 国产精自产拍久久久久久蜜| 中文字幕精品—区二区| 国产一区二区黄| 欧美性xxxxx极品| 深夜福利亚洲导航| 91最新在线免费观看| 一本色道久久综合亚洲精品小说| 成人午夜高潮视频| 欧美日韩在线视频首页| 久久久久久av| 在线日韩精品视频| 亚洲影视九九影院在线观看| 日韩欧中文字幕| 国内精品久久久久久中文字幕| 91精品久久久久久久久久久久久久| 亚洲高清一二三区| 欧美午夜精品久久久久久浪潮| 日韩精品久久久久| 久久久久久久久网站| 欧美乱妇高清无乱码| 久久久久成人精品| 久久国产精品电影| 国产精品一区电影| 91精品国产综合久久男男| 欧美韩日一区二区| 国产精品美女在线| 日韩大片在线观看视频| 亚洲精品视频网上网址在线观看| 亚洲一区二区免费在线| 日韩在线视频线视频免费网站| 亚洲自拍偷拍区| 亚洲已满18点击进入在线看片| 国产999在线| 亚洲直播在线一区| 日韩大胆人体377p| 51午夜精品视频| 亚洲性猛交xxxxwww| 久久久日本电影| 亚洲精品国精品久久99热一| 欧美成人在线影院| 日韩一区二区在线视频| 亚洲热线99精品视频| 精品久久久久久久久久国产| 欧美精品激情在线| 成人美女av在线直播| 中文字幕日韩精品在线观看| 在线视频欧美日韩| 亚洲成人精品视频| 亚洲一区二区久久久久久久| 亚洲欧美日韩精品久久亚洲区| 久久国产精品99国产精| 8x拔播拔播x8国产精品| 久久亚洲精品小早川怜子66| 成人欧美一区二区三区黑人孕妇| 国产精品小说在线| 久久久久久久久国产| 国产97人人超碰caoprom| 日本久久久a级免费| 欧美大片在线看免费观看| 午夜欧美大片免费观看| 久久国产精品网站| 亚洲精品日韩欧美| 国产日产欧美精品| 日本免费久久高清视频| 成人在线国产精品| www.欧美视频| 久久久国产影院| 亚洲第一精品福利| 日韩免费观看视频| 最新69国产成人精品视频免费| 欧美激情女人20p| 中文字幕精品一区二区精品| 亚洲精品按摩视频| 中文日韩电影网站| 美日韩丰满少妇在线观看| 成人久久18免费网站图片| 全色精品综合影院| 高清欧美电影在线| 91精品国产综合久久久久久久久| 久久九九免费视频| 欧美电影在线观看网站| 成人免费午夜电影| 国产日韩欧美夫妻视频在线观看| 欧美激情亚洲综合一区| 国产精品热视频| 久久精品影视伊人网| 欧美午夜久久久| 亚洲国模精品私拍| 久久夜精品va视频免费观看| 欧美一区二区视频97| 成人在线视频网站| 91理论片午午论夜理片久久| 中文字幕日韩精品有码视频| 一本一道久久a久久精品逆3p| 亚洲女成人图区| 国产精品自拍视频| 免费91麻豆精品国产自产在线观看| 日本高清久久天堂| 亚洲国产天堂久久综合网| 国产精品亚洲片夜色在线| 欧美小视频在线观看| 成人在线激情视频| 中文字幕精品av| 九九热r在线视频精品| 亚洲欧美日韩中文在线| 成人有码在线播放| 日韩精品在线免费播放| 日韩欧美a级成人黄色| 亚洲第一免费网站| 欧美激情欧美激情在线五月| 亚洲精品一区中文| 精品久久久久久| 国产性猛交xxxx免费看久久| 日本精品免费观看| 亚州国产精品久久久| 俺也去精品视频在线观看| 国内精品模特av私拍在线观看| 亚洲人午夜色婷婷| 亚洲人成网7777777国产| 成人网在线免费看| 不卡中文字幕av| 亚洲成人av在线| 在线日韩第一页| 国产日韩在线看片|