資料介紹
一、修改硬盤分區表信息
硬盤分區表信息對硬盤的啟動至關重要,如果找不到有效的分區表,將不能從硬盤啟動或即使從軟盤啟動也找不到硬盤。通常,第一個分區表項的第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扇區),并轉去執行主引導記錄。
由于硬盤啟動時首先是BIOS調用自舉程序INT 19H將主硬盤的0柱面0磁頭1扇區的主引導記錄讀入內存0000:7C00H處執行,而我們已經偷梁換柱,將0柱面0磁頭1扇區變為我們自己設計的程序。這樣從硬盤啟動時,首先執行的不是主引導程序,而是我們設計的程序。在執行我們設計的程序時,口令若不對則無法繼續執行,也就無法啟動了。即使從軟盤啟動,由于0柱面0磁頭1扇區不再有分區信息,硬盤也不能被訪問了。當然還可以將我們設計的程序像病毒一樣,將其中一部分駐留在高端內存,監視INT 13H的使用,防止0柱面0磁頭1扇區被改寫。
三、對硬盤實現用戶加密管理
UNIX操作系統可以實現多用戶管理,在DOS系統下,將硬盤管理系統進行改進,也可實現類似功能的多用戶管理。該管理系統可以滿足這樣一些要求: 1.將硬盤分為公用分區C和若干專用分區D。其中“超級用戶”來管理C區,可以對C區進行讀寫和更新系統;“特別用戶”(如機房內部人員)通過口令使用自己的分區,以保護自己的文件和數據;“一般用戶”(如到機房上機的普通人員)任意使用劃定的公用分區。后兩種用戶都不能對C盤進行寫操作,這樣如果把操作系統和大量應用軟件裝在C盤,就能防止在公共機房中其他人有意或無意地對系統和軟件的破壞,保證了系統的安全性和穩定性。 2.在系統啟動時,需要使用軟盤鑰匙盤才能啟動系統,否則硬盤被鎖住,不能被使用。此方法的實現可通過利用硬盤分區表中各邏輯盤的分區鏈表結構,采用匯編編程來實現。
四、對某個邏輯盤實現寫保護
我們知道,軟盤上有寫保護缺口,在對軟盤進行寫操作前,BIOS要檢查軟盤狀態,如果寫保護缺口被封住,則不能進行寫操作。而寫保護功能對硬盤而言,在硬件上無法進行,但可通過軟件來實現。在DOS系統下,磁盤的寫操作包括幾種情況:①在COMMAND.COM支持下的寫操作,如MD、RD、COPY等;②在DOS功能調用中的一些子功能如功能號為10H、13H、3EH、5BH等可以對硬盤進行寫操作;③通過INT 26H將邏輯扇區轉換為絕對扇區進行寫;④通過INT 13H的子功能號03H、05H等對磁盤進行寫操作。 但每一種寫操作最后都要調用INT 13H的子功能去實現。
因此,如果對INT 13H進行攔截,可以實現禁止對硬盤特定邏輯盤的寫操作。由于磁盤上文件的寫操作是通過INT 13H的03H子功能進行寫,調用此子功能時,寄存器CL表示起始扇區號(實際上只用到低6位);CH表示磁道號,在硬盤即為柱面號,該柱面號用10位表示,其最高兩位放在CL的最高兩位。對硬盤進行分區時可以將硬盤分為多個邏輯驅動器,而每個邏輯驅動器都是從某一個完整的柱面開始。如筆者的硬盤為 2.5GB,分為C、D、E、F、G五個盤。其中C盤起始柱面號為00H,D盤起始柱面號為66H,E盤起始柱面號為E5H,F盤起始柱面號為164H, G盤起始柱面號為26BH。如果對INT 13H進行攔截,當AH=03H,并且由CL高兩位和CH共同表示的柱面號大于E4H并小于164H,就什么也不做就返回,這樣就可以實現對E盤禁止寫。
?
硬盤分區表信息對硬盤的啟動至關重要,如果找不到有效的分區表,將不能從硬盤啟動或即使從軟盤啟動也找不到硬盤。通常,第一個分區表項的第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扇區),并轉去執行主引導記錄。
由于硬盤啟動時首先是BIOS調用自舉程序INT 19H將主硬盤的0柱面0磁頭1扇區的主引導記錄讀入內存0000:7C00H處執行,而我們已經偷梁換柱,將0柱面0磁頭1扇區變為我們自己設計的程序。這樣從硬盤啟動時,首先執行的不是主引導程序,而是我們設計的程序。在執行我們設計的程序時,口令若不對則無法繼續執行,也就無法啟動了。即使從軟盤啟動,由于0柱面0磁頭1扇區不再有分區信息,硬盤也不能被訪問了。當然還可以將我們設計的程序像病毒一樣,將其中一部分駐留在高端內存,監視INT 13H的使用,防止0柱面0磁頭1扇區被改寫。
三、對硬盤實現用戶加密管理
UNIX操作系統可以實現多用戶管理,在DOS系統下,將硬盤管理系統進行改進,也可實現類似功能的多用戶管理。該管理系統可以滿足這樣一些要求: 1.將硬盤分為公用分區C和若干專用分區D。其中“超級用戶”來管理C區,可以對C區進行讀寫和更新系統;“特別用戶”(如機房內部人員)通過口令使用自己的分區,以保護自己的文件和數據;“一般用戶”(如到機房上機的普通人員)任意使用劃定的公用分區。后兩種用戶都不能對C盤進行寫操作,這樣如果把操作系統和大量應用軟件裝在C盤,就能防止在公共機房中其他人有意或無意地對系統和軟件的破壞,保證了系統的安全性和穩定性。 2.在系統啟動時,需要使用軟盤鑰匙盤才能啟動系統,否則硬盤被鎖住,不能被使用。此方法的實現可通過利用硬盤分區表中各邏輯盤的分區鏈表結構,采用匯編編程來實現。
四、對某個邏輯盤實現寫保護
我們知道,軟盤上有寫保護缺口,在對軟盤進行寫操作前,BIOS要檢查軟盤狀態,如果寫保護缺口被封住,則不能進行寫操作。而寫保護功能對硬盤而言,在硬件上無法進行,但可通過軟件來實現。在DOS系統下,磁盤的寫操作包括幾種情況:①在COMMAND.COM支持下的寫操作,如MD、RD、COPY等;②在DOS功能調用中的一些子功能如功能號為10H、13H、3EH、5BH等可以對硬盤進行寫操作;③通過INT 26H將邏輯扇區轉換為絕對扇區進行寫;④通過INT 13H的子功能號03H、05H等對磁盤進行寫操作。 但每一種寫操作最后都要調用INT 13H的子功能去實現。
因此,如果對INT 13H進行攔截,可以實現禁止對硬盤特定邏輯盤的寫操作。由于磁盤上文件的寫操作是通過INT 13H的03H子功能進行寫,調用此子功能時,寄存器CL表示起始扇區號(實際上只用到低6位);CH表示磁道號,在硬盤即為柱面號,該柱面號用10位表示,其最高兩位放在CL的最高兩位。對硬盤進行分區時可以將硬盤分為多個邏輯驅動器,而每個邏輯驅動器都是從某一個完整的柱面開始。如筆者的硬盤為 2.5GB,分為C、D、E、F、G五個盤。其中C盤起始柱面號為00H,D盤起始柱面號為66H,E盤起始柱面號為E5H,F盤起始柱面號為164H, G盤起始柱面號為26BH。如果對INT 13H進行攔截,當AH=03H,并且由CL高兩位和CH共同表示的柱面號大于E4H并小于164H,就什么也不做就返回,這樣就可以實現對E盤禁止寫。
?
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 開關電源輸出紋波抑制的幾種方法
- 單片機軟件濾波的幾種方法
- AN021 測量MCU代碼運行時間的幾種方法
- 軸承孔磨損維修有哪幾種方法? 11次下載
- 總結幾種常用的單片機加密方法
- 產生調幅波的幾種方法
- 分析電路常用的幾種方法 20次下載
- “三維六步”干擾排查有哪幾種方法?資料下載
- 電路分析常用的幾種方法資料下載
- 幾種方法來判斷電路中正負極資料下載
- 破解MCU的幾種方法及預防措施資料下載
- 電路設計靜電保護的幾種方法資料下載
- 電動汽車監視和控制功耗的幾種方法資料下載
- 電磁兼容性整改的幾種方法 9次下載
- 快速硬盤加密算法的設計與實現
- 環路測試方法有哪幾種 41次閱讀
- 有哪幾種方法可以對Saber MAST模型進行加密呢? 525次閱讀
- Docker鏡像國內加速的幾種方法 5256次閱讀
- 西門子PLC常用的幾種加密方式 1288次閱讀
- 幾種常用的NLP數據增強方法 1624次閱讀
- 虛擬機:Linux查看路由信息的幾種方法 8105次閱讀
- 干貨:計算fibnacci 級數的幾種方法 2308次閱讀
- 如何實現電平轉換,多種方法 1.1w次閱讀
- 手機投屏到智能電視上的幾種方法 5.9w次閱讀
- 電路板維修常用的幾種方法介紹 7w次閱讀
- 單片機C語言編程中定時器初值計算的兩種方法 1w次閱讀
- 使用STM32測量頻率和占空比的幾種方法 1.5w次閱讀
- (純干貨)使用STM32測量頻率和占空比的幾種方法 4.2w次閱讀
- 電流表內阻是多少_測電流表內阻的幾種方法 9.7w次閱讀
- 調試Python程序代碼的幾種方法總結 4206次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多