┌────────┐
│拷貝心得三十八集│         磁碟機防寫與解開防寫 ┌┐┌┐∞
└────────┘    ←────────────┘└┘└┘
==============================================================
前言:
      很多機關學校都曾看過磁碟機防寫程式 ,而且大部份都需要長官
密碼才能夠解開防寫 ,所以筆者便想到撰寫解鎖程式 ,這個方法是取自
某磁碟防拷軟體的主意。
--------------------------------------------------------------
    前面許多集內已介紹過磁碟機的讀寫必需透過INT_13插斷 ,所以磁
機的防寫措施也必定是攔截這個插斷 ,你可以在書上查到這個插斷的功
能。

    電腦一開機以後 ,BIOS便會去設定這些插斷指向自己 ,然後再去尋
找主機上面有沒有介面卡上的ROM對映到C000-EFFF這塊記憶體處 ,它的
尋找法是以每16K為一個單位 ,也就是它會去找C000.C400.C800.CC00..
...等等位置 ,其位址資料是否為 "55AA" ,如果是的話 ,BIOS會自動跳
到下一個位址處去執行 ,你可以看看主機上的VGA卡 ,在C000:0000處會
找到這個字串 ,然後以CALL FAR方是呼叫C000:0003的位置 ,最後再返
回主機的BIOS ,繼續未完成的重設主機的任務。

    有些防毒卡或保密卡因為上面含有BIOS ,所以在電腦呼叫它的BIOS
時 ,它會偷偷攔截插斷13 ,以後所有讀寫動作必需經過該卡確認才能順
利進入主機的插斷13 ,如果你能夠把這個插斷直接指向BIOS ,跳過該卡
的確認 ,你便能夠正確讀寫磁碟的資料 ,而不必擔心該卡的保護作用。
--------------------------------------------------------------
防寫原理:
    防寫程式攔截插斷13 ,判別使用者是否以AH=03.05...方式呼叫本
插斷 ,如果是的話就傳回錯誤代碼直接返回主程式。詳情請看書上介紹
本插斷13的呼叫功能。
--------------------------------------------------------------
破解原理:
      我剛才說過電腦剛開機時 ,主機板上的BIOS會把插斷指向自己 ,
也就是說該插斷應該會指向F000:????的位址 ,但是倒底會指向那裡呢?

      緊接著咱們來討論INT_1 ,這個中斷的作用是當"T"旗標開啟時 ,
每執行一個指令碼 ,會觸動一次這個中斷位址 ,但是當你呼叫INTXX
時 ,電腦會暫時關掉"T"旗標 ,直到插斷返回為址。

      現在將這兩個主意配合的話 ,便可以知道BIOS插斷進入點 ,首先
你先攔截INT_1 ,然後用遠程呼叫(CALL FAR)去呼叫INT_13 ,此處我們用
了無關痛養的方式AX=0000去呼叫INT_13 ,避免誤動作發生的傷害 ;INT1
插斷內容是判別程式是否從F000:XXXX處發生中斷的 ,如果是便代表這是
進入點 ,記得千萬不可以直接以INT方式呼叫 ,否則"T"旗標會暫時被關
閉。
--------------------------------------------------------------
玩法:
      執行後 ,程式會找到進入點 ,同時也會問你是否要將插斷改回來
 ,如果要修改的話 ,請鍵入YES ,否則鍵入NO。
--------------------------------------------------------------
注意:
    INT_13也會被DOS所覆蓋 ,但是修改後測試並無發生不良現像。這種
直接修改的方式不確定會不會有不良現像 ,但目前尚無發生問題。

    以上純為破解防寫措施的防毒卡、保密卡、防寫程式。


                     -==本軟體禁止販賣圖利==-
--------------------------------------------------------------