當前位置:首頁 » 操作系統 » 邏輯硬碟鎖源碼

邏輯硬碟鎖源碼

發布時間: 2023-05-30 04:51:08

❶ 硬碟邏輯鎖的原理

一、計算機啟動過程分析當計算機自檢完成後,並更新過 ESCD (Extended System Configuration Data,擴展系統配置數據)時,如果你的計算機設置是從硬碟啟動,這時計算機將首先硬碟0柱面0磁頭1扇區(主引導區MBR)中的512個位元組讀入內存0000:7C00處並跳到0000:7C00處執行;如果選擇從軟盤啟動,則計算機首先將A盤0磁軌0磁頭1扇區的內容讀入內存神友0000:7C00處並跳到0000:7C00處執行。在讀取過程中,計算機並不檢查該扇區的內容是什麼。接著執行讀入的內容(硬碟主引導區中的前466個位元組,軟盤沒有分區表,軟盤讀入的是其引導區的內容,類似於C盤,D盤第一個扇區的內容),首先開始檢測該扇區的最後兩個字李是不是「55AA」標志,如果「55AA」不存在則列印「Invalid partition table(無效的分區表)」;如果有「55AA」並進一步檢測有無硬碟分區表;如有並再進一步分析硬碟分區表中的內容是否正確;如果硬碟分區表正確可用,便接著讀取活動分區的第一個扇區的內容即引導區(DBR區)的內容,並把控制權移交。但硬碟分區表的內容駐留內存,供計算機調用。二、硬碟分區表和邏輯鎖的原理分析1. 硬碟分區表談到硬碟邏輯鎖加鎖原理,就不得不提到硬碟分區表的結構。硬碟分區表位於硬碟的 0 磁軌 0 柱面第1扇區(即0區)(注意:該扇區為隱含扇區,0道0面的全部扇區均為隱含扇區,普通的磁碟訪問命令無法直接訪問,同時該磁軌的其他62個扇區也是隱含的,因此有引多系統引導程序就把自己的程序代碼放在其他隱含扇區,有些引導區病毒也把自己的代碼放在其他隱含扇區。)。在該扇區512位元組中,硬碟的主引導記錄區MBR (Main Boot Record)只佔用了前 446 個位元組(偏移 000H-- 偏移 1BDH )明游,另外的 64個位元組(偏移 1BEH-- 偏移 1FDH )是硬碟分區表DPT(Disk Partition Table ) , 最後兩個位元組 "55 AA" (偏移 1FEH-偏移 1FFH )是分區結束標志。主引導記錄中包含了硬碟的一系列參數和一段引導程序。其中激瞎銷的硬碟引導程序的主要作用是檢查分區表是否正確並且在系統硬體完成自檢以後引導具有活動標志(80H)的分區上的操作系統,並將控制權交給活動盤上的操作系統的啟動程序。

❷ 如何寫硬碟邏輯鎖

計算機在引導DOS系統時將會搜索所有邏輯盤的順序,當DOS被引導時,首先要去找主引 導扇區的分區表信息,位於硬碟的零頭零柱面的第一個扇區的OBEH地址開始的地方,當 分區信息開始的地方為80H時表示是主引導分區,其他的為擴展分區,主引導分區被定義 為邏輯盤C盤,然後查找擴展分區的邏輯盤,被定義為D盤,以此類推找到E,F,G..... 邏輯鎖就是在此下手,修改了正常的主引導分區記錄將擴展分區的第一個邏輯盤指向 自己,DOS在啟動時查找到第一個邏輯盤後,查找下個邏輯盤總是找到是自己,這樣一來 就形成了死循環,這就是使用軟碟機,光碟機,雙硬碟都不能正常啟動的原因。實際上這邏輯鎖只是利用了DOS在啟動時的一個小小缺陷,便令不少高手都束手無策。知道了邏輯 鎖的上鎖原理,要解鎖也就比較容易了。以前我看到有位朋友採用熱拔插硬碟電源的方法來處理:就是在當系統啟動時,先不給被鎖的硬碟插上電源線,等待啟動完成後再給硬碟熱插上電源線,這時如果硬碟沒有燒壞的話,系統就可以控制硬碟了。當然這是一種非常危險的方法,大家不要輕易嘗試,下面介紹兩種比較簡單和安全的處理方法。

方法一:修改DOS啟動文件
首先准備一張DOS6.22的系統盤,帶上debug、pctools5.0、fdisk等工具。然後在一台正常的機器上,使用你熟悉的二進制編輯工具(debug、pctools5.0,或者windows下的ultraedit都行)修改軟盤上的IO.SYS文件(修改前記住改該文件的屬性為正常),具體是在這個文件裡面搜索第一個55aa字元串,找到以後修改為任何其他數值即可。用這張修改過的系統軟盤你就可以順利地帶著被鎖的硬碟啟動了。不過這時由於該硬碟正常的分區表已經被黑客程序給惡意修改了,你無法用FDISK來刪除和修改分區,而且仍無法用正常的啟動盤啟動系統,這時你可以用DEBUG來手工恢復。使用DEBUG手工修復硬碟步驟如下:

a:\ >debug
-a
-xxxx:100 mov ax,0201 讀一個扇區的內容
-xxxx:103 mov bx,500 設置一個緩存地址
-xxxx:106 mov cx,0001 設置第一個硬碟的硬碟指針
-xxxx:109 mov dx,0080 讀零磁頭
-xxxx:10c int 13 硬碟中斷
-xxxx:10e int 20
-xxxx:0110 退出程序返回到指示符
-g 運行
-d500 查看運行後500地址的內容

這時候會發現地址6be開始的內容是硬碟分區的信息,發現此硬碟的擴展分區指向自己,這就使DOS或WINDOWS啟動時查找硬碟邏輯盤進去死循環,在DEBUG指示符下用E命令修改內存數據 具體如下:

E6BE
xx.0 xx.0 xx.0...............
.............................
.......................55 AA
55 AA表示硬碟有效的標記,不要修改,xx0表示把以前的數據xx改成0

再用硬碟中斷13把修改好的數據寫入硬碟就可以了,具體如下:

A:\ >debug
a 100 表示修改100地址的匯編指令
-xxxx:100 mov ax,0301 寫硬碟一個扇區
-xxxx: 這里直接按回車
-g 運行
-q 退出

然後運行 FDISK/MBR(重置硬碟引導扇區的引導程序),再重新啟動電腦就行了。 怎麼樣?用這種方法處理夠簡單的吧?而且這種方法還有一個好處就是可以保住盤上的 數據!如果你不需要保數據的話,還有更加簡單的處理方法:
方法二:巧設BIOS,用DM解鎖大家知道DM軟體是不依賴於主板BIOS的硬碟識別安裝軟體,(所以在不能識別大硬碟的老主板上也可用DM來安裝使用大容量硬碟)。就算在BIOS中將硬碟設為NONE,散孫DM也可識別並處理硬碟。

首先你要找到和硬碟配套的DM軟體(找JS要或去網上盪),然後把DM拷到沖纖鏈一張系統盤上。接上被鎖硬碟,開機,按住DEL鍵,進CMOS設置,將所有IDE硬碟設為NONE(這是關鍵所在!),保存設置,重啟動,這時系統即可 帶鎖啟動。啟動後運行DM,你會發現DM可以繞過BIOS,識別出硬碟,選中該硬碟,分區格式化,就OK了。這么簡單?不過這種 方法的弱點是硬碟上的數據將全豎耐部丟失

❸ 巧解硬碟邏輯鎖

巧解硬碟邏輯鎖

硬碟邏輯鎖想必不少網友們不會陌生吧,硬碟邏輯鎖最初是江民公司的kv300

L版中帶的一個保護程序,本意是對付那些企圖破解KV300軟體那些人的硬碟的。後來有好事者將它分離出來單獨用上了。那時江民公司為了打擊盜版,在KV新版升級程序植入了一個黑客程序,當檢測到用戶使用了盜版的KV以後就將硬碟的分區表鎖住,被稱為「主動邏輯鎖」,使無數人受害,江民公司也因此被處罰,這都是很早以前的事了。

前幾天我的一位朋友向我求助,說自己用邏輯鎖把自己的硬碟鎖住了......,我很是奇怪,難不成這哥們吃飽了撐的沒事干?後來到了朋友家裡才明白,原來這哥們在網上看到了有邏輯鎖這個程序,非常感興趣,就找了一個想要發給朋友惡作劇一含橘下,但是從網上下載了程序後,又不知道好不好用,所以就在自己的機子上試了一下。

沒想到直接就把自己的.硬碟鎖住了,光碟機軟碟機全部不好使,DOS也進不去了;實在無奈所以就打電話向尺老散我求助了,我先是幸災樂禍一通,後來又以一頓飯作為條件,答應幫助他解開邏輯鎖。為了讓大家能夠了解如何解開邏輯鎖,今天我將詳細的方法寫出來,也希望一會會對大家有所幫助。

硬碟鎖的原理

說實話,雖然有關於邏輯鎖的文章在網上到處皆是,我對於邏輯鎖也早有耳聞,但是其實我也沒有實際使用和操作過,對於如何解鎖我腦子里也是一團漿糊,但是為了這一頓飯,我怎麼也要試試呀,大不了在朋友面前丟點人!

為了弄清楚邏輯鎖的工作原理和解決辦法,我在網上查了不少資料,邏輯鎖的工作原理基本上是計算機在引導DOS系統時將會搜索所有邏輯盤的順序,當DOS被引導時,首先要去找主引

導扇區的分區表信息,位於硬碟的零頭零柱面的第一個扇區的OBEH地址開始的地陵氏方。

當分區信息開始的地方為80H時表示是主引導分區,其他的為擴展分區,主引導分區被定義為邏輯盤C盤,然後查找擴展分區的邏輯盤,被定義為D盤。

以此類推找到E,F,G…..

"邏輯鎖"就是在此下手,修改了正常的主引導分區記錄將擴展分區的第一個邏輯盤指向自己,DOS在啟動時查找到第一個邏輯盤後,查找下個邏輯盤總是找到是自己,這樣一來

就形成了死循環,這就是使用軟碟機,光碟機,雙硬碟都不能正常啟動的原因。 ;

❹ 我的電腦中了硬碟邏輯鎖,誰知道解鎖的方法啊,要確切實用的。

首先准備一張DOS啟動盤,將Debug和Fdisk程序復制到上面。在其他電腦上,將軟盤上的IO.SYS文件的只讀屬性取消,並使用二進制編輯工具(DOS環境的Debug和PCtools,Windws環境的Ultraedit)進行修改,搜索第一個55AA字元串,改為任意字元(如66BB)。接下來用修改後的軟盤啟致力電腦了。啟動後,通過Debug程序手工修改被修改的分區表,如下:
A:\>debug
-a
-xxxx: 100 mov ax, 0201 (只讀一個扇區的內容)
-xxxx: 103 mov bx, 500 (設置一個緩存地址)
-xxxx: 106 mov cx, 0001 (設置第一個硬碟的邏輯指針)
-xxxx: 109 mov dx, 0080 (讀零磁頭)
-xxxx: 10c int 13 (硬碟中斷)
-xxxx: 10e int 20
-xxxx: 0110 (退出程序)
-g (運行)
-d 500 (查看地址為500的寄存器)

從地址6BE開始的內容是硬碟分區的信息,使用E命令修改內存數據:
E6BE
× ×. 0 × ×.0 × ×.0 … 55 AA

把數據××改成0,再用硬碟中斷13把修改好的數據寫入硬碟:
A>\debug
-a 100 (要修改的寄存器地址為100)
-xxxx: 100 mov ax, 0301 (寫硬碟一個扇區)
-xxxx: (直接按回車)
-g (運行)
-q (退出)

最後,執行Fdisk/MBR命令,重寫硬碟引導區的引導程序,重啟電腦。
第三種廳高方法:製作一張「解鎖」軟盤。首先將故障硬碟卸下,使好旦用帶有Debug程序的DOS啟動盤啟動系統,執行Debug命令,然後將啟動盤取出,放入一張已格式化的空白軟盤,在Debug環境中進行如下操扮襪尺作:
-A 0100
XXXX: 0100 XOR AX, AX
XXXX: 0102 PUSH AX
XXXX: 0103 POP DS
XXXX: 0104 PUSH AX
XXXX: 0105 POP ES
XXXX: 0106 MOV CX, 100
XXXX: 0109 MOV BX, 7C00
XXXX: 010C MOV WORD PTR [BX], 00
XXXX: 0110 INC BX
XXXX: 0111 INC BX
XXXX: 0112 LOOP 10C
XXXX: 0114 MOV AX, 0301
XXXX: 0117 MOV CX, 0001
XXXX: 011A MOV DX, 80
XXXX: 011D MOV BX 7C00
XXXX: 0120 INT 13
XXXX: 0122 JMP FFFF:0000
XXXX: 0127
-W 100 0 0 1
Q
接下來,並閉系統。將故障硬碟單獨作為主盤安裝好,使用製作剛製作的軟盤啟動系統,系統會自動修復,然後重啟。將軟盤取出,換上DOS啟動盤,啟動到DOS環境。此時,硬碟邏輯鎖已經解除,但無法使用,要進行重新分區和格式化。如果要保存硬碟上的數據,可以使用KV300等工具進行分區掃描恢復操作。

❺ 硬碟邏輯鎖的形成和解決辦法

硬碟邏輯鎖是江民殺毒軟體打擊反盜版的一種手段。
方法一:修改DOS啟動文件

首先准備一張DOS6.22的系統盤,帶上debug、pctools5.0、fdisk等工具。然後在一台正常的機器上,使用你熟悉的二進制編輯工具(debug、pctools5.0,或者windows下的ultraedit都行)修改軟盤上的IO.SYS文件(修改前記住改該文件的屬性為正常),具體是在這個文件裡面搜索第一個「55aa」字元串,找到以後修改為任何其他數值即可。用這張修改過的系統軟盤你就可以順利地帶著被鎖的硬碟啟動了。不過這時由於該硬碟正常的分區表已經被黑客程序給惡意修改了,你無法用FDISK來刪除和修改分區,而且仍無法用正常的啟動盤啟動系統,這時你可以用DEBUG來手工恢復。使用DEBUG手工修復硬碟步驟如下:

a:\>debug
-a
-xxxx:100 mov ax,0201 讀一個扇區的內容
-xxxx:103 mov bx,500 設置一個緩存地址
-xxxx:106 mov cx,0001 設置第一個硬碟的硬碟指針
-xxxx:109 mov dx,0080 讀零談御棗磁頭
-xxxx:10c int 13 硬碟中斷

-xxxx:10e int 20
-xxxx:0110 退出程序返回到指示符
-g 運行

-d500 查看運行後500地址的內容

這時候會發現地址6be開始的內容是硬碟分區的信息,發現此硬碟的擴展分區指向自己,這就使DOS或WINDOWS啟動時查找硬碟邏輯盤進去死循環,在DEBUG指示符下用E命令修改內存數據 具體如下:
E6BE
xx.0 xx.0 xx.0...............

.............................
.......................55 AA
55 AA表示硬碟有效的標記,不要修改,xx0表示把以前的數據「xx」改成0

再用硬碟中斷13把修改好的數據寫入硬碟就可以了,具體如下:

A:\>debug
a 100 表示修改100地址的匯編指令
-xxxx:100 mov ax,0301 寫硬碟一個扇區
-xxxx: 這里直接按回車
-g 運行
-q 退出
然後運行 FDISK/MBR(重置硬碟引導扇區的引導程序),再重新啟動電腦就行了。

怎麼樣?用這種方法處理夠簡單的吧?而且這種方法還有一個好處就是可以保住盤上的數據!如果你不需要保數據的話,還有更加簡單的處理方法:

方法二:設BIOS,用DM解
大家知道DM軟體是不依賴於主板BIOS的硬碟識別安裝軟體拆寬,(所以在不能識別大硬碟的老主板上也可用DM來安裝使用大容量硬碟)。就算在BIOS中將硬碟設為「NONE」,DM也可識別並處理硬碟。
首先你要找到和硬碟配含拆套的DM軟體(找JS要或去網上盪),然後把DM拷到一張系統盤上。接上被鎖硬碟,開機,按住DEL鍵,進CMOS設置,將所有IDE硬碟設為NONE(這是關鍵所在!),保存設置,重啟動,這時系統即可 「帶鎖」啟動。啟動後運行DM,你會發現DM可以繞過BIOS,識別出硬碟,選中該硬碟,分區格式化,就OK了。這么簡單?

這種方法的弱點是硬碟上的數據將全部丟失。不過,還是有一個方法可以補救的,那就是用一根

IDE-USB連接線把你在你在處理的硬碟連到另一台電腦上用GHOST備份過去後,就可以用GHOST EXPLORER來解決了。

❻ vb! 匯編 硬碟邏輯鎖

這得看你對VB和匯編語言的掌握程度。
可以用VB實現硬碟邏輯鎖,也可以用VB和匯編語言聯合實現。

❼ 什麼叫硬碟的邏輯鎖,如何解開

硬碟邏輯鎖總共有三種,本質都是對硬碟的分區表作了修改,以前只是一些黑客程序使用它,開始大范圍對計算機造成危害是在臭名昭著的KV3000反盜版事件的時候,那時江民公司為了打擊盜版。在KV3000新版升級程序植入了一個黑客程序,當檢測到用戶使用了盜版的KV3000以後就將硬碟的分區表鎖住,被稱為「主動邏輯鎖」,其實就是硬碟邏輯鎖的一種,當時卻使無數無辜的人受害,江民公司也因此被定罪。這是舊事不談,下面我們就來介紹一下它的三種情況和解決方法。 首先我們來了解一下硬碟的分區表。硬碟分搭畢區表位於磁碟的0磁頭0柱面1扇區,這個扇區從01BEH開始的64個位元組就是分區表。分區表共64位元組,分為4欄,每欄16個位元組描述一個分區。如果用FDISK程序分區,那最多隻用兩欄,第一欄描述主引導分區,第二欄描述擴展分區。分區表的結構與各位元組的含義如下: 00H—標志活動位元組。活動DOS分區為80H,其它為00H。 01H—本分區邏輯0扇區所在的磁頭號。 02H—邏輯0扇區所在柱面中的扇區號。 03H—邏輯0扇區所在的柱面號。 04H—分區類型標志。 05H—本分區最後一個扇區的磁頭號。 06H—最後一個扇區的扇區號。 07H—最後一個柱面的柱面號。 08H—硬碟上在本分區之前的扇區總數,用雙位元組表示。 0CH—本分區的扇區總數,從邏輯0扇區計數,不含隱藏扇區,用雙位元組表示。 分區表的最後兩個位元組是它的有效標志,改變後將無法從硬碟啟動,這就是第一種簡單的鎖住硬碟的方法。不過比較容易解決,只要從軟盤啟動就一切正常,啟動後用Debug或Diskedit等軟體將硬碟分區表中的標志恢復就可以了。第二種方法是修改分區參數,如果將分區參數全部變為0,則啟動後由於找不到分區參數無法從硬碟啟動,用啟動盤從軟盤啟動後也不認硬碟,不過機器畢竟能夠啟動,我們可以在啟動後用軟盤里的debug等工具修復被改動的分區表參數,重新啟動後就沒問題了。 我們重點要講的就是第三種,也就是上文提到的「主動邏輯鎖」,它是因為分區表參數被修改成了一個死循環。正常啟動時DOS接管硬碟後查找分區表,主引導分區被定義為C盤,然後查找邏輯盤,定義為D盤,然後是E、F、G,而這個主動邏輯鎖就是將第一個邏輯盤(一知升芹般是D盤)的下一個分區指向它本身,不斷讀取下一個,其實就是讀它自己,結果陷入死循環。因為DOS啟動必須包含基本輸入輸出文件io.sys(我們在windows下也可以看到,位於C盤根目錄下)。而它是有些固執的,啟動以後非要把硬碟分區表讀完然後接管不可,所以無論我們用什麼啟動,它一查找邏輯盤就死循環,我們就看到了硬碟燈常亮系統掛起的情況了。 那麼我們如何解開它呢?從根本上講就是讓io.sys不起作用或者在它起作用以前將分區表參數修改回來。 1、debug法。 用這種方法首先必須要能啟動機器,我們可以在一台正常的電腦上修改啟動軟盤中的io.sys文件,查找到第一個「55aa」字元串,找到以後修改為任何其他數值,用這張啟動軟盤你就可以順利地帶著被鎖的硬碟啟動了。不過這時該硬碟的分區表已經不正常,所以我們無法用FDISK來刪除和修改分區,而且仍然無法用正常的啟動盤啟動系統,這時可以用DEBUG來手工恢復。具體命令如下: a:>debug -a -????:100 mov ax,0201(讀一扇區內容) -????:103 mov bx,500(設置一緩存地址) -????:106 mov cx,0001(設置第一硬碟的硬碟指針) -????:109 mov dx,0080(讀零磁頭) -????:10c int 13 (硬碟中斷) -????:10e int 20 -????:0110 回車 (註:-????各硬碟不相同,跟後面的:1??都是自動顯示的,我們要輸入的只是其後的內容) -g -d500 (查看運行後緩存地址500的內容,這時候我們會發現地址6be開始的內容就是硬碟分區表信息,如果硬碟的擴展分區正是指向自己,那麼DOS或WINDOWS啟動時就會因查找邏輯分區而陷入死循環。)在DEBUG指示符下繼續笑迅修改內存數據: E6BE ??.0 ??.0 ??.0…… …… ……55 AA 55 AA是硬碟有效的標志,不要修改,??.0表示把以前的數據「??」改成了0,再用硬碟中斷13把修改好的數據寫入硬碟就可以了: A:>debug a 100 (表示修改100地址的匯編指令) -????:100 mov ax,0301 (寫硬碟一個扇區) -????: 回車 -g (運行) -q (退出) 退出後運行fdisk/mbr來重置硬碟引導程序,重新啟動即可。 這種方法雖然麻煩一點,但是它能夠恢復硬碟分區表,也就是說恢復以後硬碟中的數據也不會丟失。而以下方法雖然更加方便,但是要麼硬碟中的數據難保,要麼有一定危險性。 2、外掛軟體法 這種方法原理都是繞過bios對硬碟的檢測而直接用一些能夠自己查找硬碟的軟體來控制硬碟。 首先是DM,現在每一個硬碟廠商都有自己的DiskManager程序,而且都能放進一張軟盤里,你可以下載一個使用,如果不清楚自己硬碟的牌子,也可以用IBM出的DM萬用版,不過它對現在32G以上的大硬碟支持不好。我們先在bios裡面將硬碟所在的IDE口設置為none,(如果你不知道哪個是,全部設為none也可以),然後用啟動盤啟動系統,啟動完成後將軟盤取出,放入裝有DM軟體的軟盤,運行DM,它會檢測到你的病硬碟的存在,然後將它重新分區就搞定了。DM具體用法比較簡單,就不詳細說了,不過對E文不太好的朋友可能有些困難,請教身邊的高手吧。 我們還可以使用低格軟體,也是每一種硬碟都有自己的低格軟體,但也有通用的Lformat程序(只有30多k),前面的做法相同,還是在bios裡面屏蔽掉硬碟,用啟動盤啟動,然後換軟盤運行低格程序對硬碟進行低級格式化,由於分區表只在硬碟最前列部分,所以估摸著格過前面的分區表部分就可以停止了,然後重新啟動在bios裡面將硬碟設出來,就可以像一塊新的硬碟一樣對它進行分區等操作了。 3、熱插拔 這是最危險的一種方法,很有可能將你的硬碟燒毀,所以請謹慎。具體做法很簡單,首先將硬碟的電源線拔掉,然後軟盤啟動系統,啟動完成後再將硬碟的電源線插上,這時候系統就能夠控制硬碟了,可以對它進行分區,恢復分區表等操作。我有一個菜鳥朋友就是在熱插拔硬碟3次以後搞定的。不過此種方法存在危險,強烈不推薦使用,如因此損壞,本人概不負責。 其實最好的情況是你有分區表備份,那恢復起來就比較容易了,而且數據也不會丟失。

熱點內容
525標軸選裝哪些配置 發布:2024-04-26 16:34:24 瀏覽:848
機械硬碟的存儲速度優於固態硬碟 發布:2024-04-26 16:02:13 瀏覽:117
訊捷壓縮器 發布:2024-04-26 16:02:08 瀏覽:268
安卓藍牙耳機丟了如何找回 發布:2024-04-26 15:36:13 瀏覽:540
win7最近打開文件夾 發布:2024-04-26 15:23:00 瀏覽:555
演算法筆談 發布:2024-04-26 15:14:34 瀏覽:284
技算計編程 發布:2024-04-26 14:43:42 瀏覽:140
開普票密碼區和備注是什麼意思 發布:2024-04-26 14:43:31 瀏覽:852
吃雞安卓和蘋果如何加好友 發布:2024-04-26 14:39:10 瀏覽:836
centos編譯命令 發布:2024-04-26 14:18:04 瀏覽:654