硬碟保護卡破解--小哨兵篇
作者:Ym
2002.6.15 23:43:50 email:yaomingmail@sina.com
現在硬碟保護卡日益盛行,網咖,學校隨處可見,本人就遇到幾種型別和品牌的,小哨兵是其中技術比較完善的一種.早期在學校機房遇到的看門狗,就存在嚴重的技術缺陷,只要修改cmos中的硬碟引數即可破解,所以這裡我想著重談談小哨兵的解法,當然對付看門狗的方法在這裡是行不通的,為此我琢磨了很長時間,直到我前幾天在網上看到一篇破解硬碟保護卡的文章,給我一個嶄新的破解思路,但事實上按原文的方法還是不可破解小哨兵,但離成功僅一步之遙,這篇文章就算是一個補充說明,希望能對大家有點幫助.
首先本人透過閱讀那篇文章後,得知保護卡是透過修改中斷向量來達到保護硬碟不被真正寫入的,其中int13是關鍵,同時還修改了時鐘中斷來達到反跟蹤,恢復中斷向量表的目的.小哨兵攔截了int13的處理程式,將自己的程式掛到上面,這也是無法寫進資料的原因所在,知道了這個,你一定會說我們只要把bios的int13的程式地址,在dos下填入中斷向量表不就大功告成了,其實不然,小哨兵早以想到了這一點,它會利用早以被它修改過的時鐘中斷定時檢查中斷向量表,它一旦發現0000:4c+3處為f0即會修改為別的值.原文章的建議是將時鐘中斷一一還原,本人覺得太過煩瑣,而且出錯的可能性大,不可取.經過嘗試將原中斷處理程式的第一條語句改為0255:0148(此不一定)
jmp f000:xxxx即可.
這裡還要談談xxxx的獲取,這一步也是關鍵,我一開始用debug t跟蹤了幾次都出現了當機,透過觀察每次當機地址都不同,懷疑小哨兵利用時鐘中斷反跟蹤,但每次跟蹤都給了一段時間後才當機,所以在進入int13後你要在這段時間內,以最快的速度,t到f000:xxxx
處,當螢幕上t出第一個f000為段的地方時,後面的偏移量即為我們要找的xxxx.記住它,相信這時你已經當機了,重新啟動,f8進dos.
debug
-d 0:4c
0000:004c 48 01 55 02
-a 0255:0148
-0255:0148 jmp f000:xxxx
-q
c:\>cd windows
c:\windows>win
OK,現在改個桌面,拷個遊戲進去,再重新啟動試一下,還在吧,遊戲可要藏好喲,祝你愉快!