一、修改硬盤分區表信息
硬盤分區表信息對硬盤的啟動至關重要,如果找不到有效的分區表,將不能從硬盤啟動或即使從軟盤啟動也找不到硬盤。 通常,第一個分區表項的第0子節為80H,表示C盤為活動DOS分區,硬盤能否自舉就依*它。若將該字節改為00H,則不能從硬盤啟動,但從軟盤啟動後,硬盤仍然可以訪問。分區表的第4字節是分區類型標志,第一分區的此處通常為06H,表示C盤為活動DOS分區,若對第一分區的此處進行修改可對硬盤起到一定加密作用。
具體表現在:
1.若將該字節改為0,則表示該分區未使用,當然不能再從C盤啟動了。從軟盤啟動後,原來的C盤不見了,你看到的C盤是原來的D盤,D盤是原來的E盤,依此類推。
2.若將此處字節改為05H,則不但不能從硬盤啟動,即使從軟盤啟動,硬盤的每個邏輯盤都不可訪問,這樣等於整個硬盤被加密了。另外,硬盤主引導記錄的有效標志是該扇區的最後兩字節為55AAH。若將這兩字節變為0,也可以實現對整個硬盤加鎖而不能被訪問。硬盤分區表在物理0柱面0磁頭1扇區,可以用Norton for Win95中的Diskedit直接將該扇區調出並修改後存盤。或者在Debug下用INT 13H的02H子功能將0柱面0磁頭1扇區讀到內存,在相應位置進行修改,再用INT 13H的03H子功能寫入0柱面0磁頭1扇區就可以了。
上面的加密處理,對一般用戶來講已足夠了。但對有經驗的用戶,即使硬盤不可訪問,也可以用INT 13H的02H子功能將0柱面0磁頭1扇區讀出,根據經驗將相應位置數據進行修改,可以實現對硬盤解鎖,因為這些位置的數據通常是固定的或有限的幾種情形。另外一種保險但顯得笨拙的方法是將硬盤的分區表項備份起來,然後將其全部變為0,這樣別人由於不知道分區信息,就無法對硬盤解鎖和訪問硬盤了。
二、對硬盤啟動加口令
我們知道,在CMOS中可以設置系統口令,使非法用戶無法啟動計算機,當然也就無法使用硬盤了。但這並未真正鎖住硬盤,因為只要將硬盤掛在別的計算機上,硬盤上的數據和軟件仍可使用。要對硬盤啟動加口令,可以首先將硬盤0柱面0磁頭1扇區的主引導記錄和分區信息都儲存在硬盤並不使用的隱含扇區,比如0柱面0磁頭3扇區。然後用Debug重寫一個不超過512字節的程序(實際上100多字節足矣)裝載到硬盤0柱面0磁頭1扇區。該程序的功能是執行它時首先需要輸入口令,若口令不對則進入死循環;若口令正確則讀取硬盤上存有主引導記錄和分區信息的隱含扇區(0柱面0磁頭3扇區),並轉去執行主引導記錄。