六年前研究保護卡的時候,寫下的一堆文字,最先被《看雪》論壇收錄,至今仍然能在網上搜索到,自己寫的東西,被流傳開來,真的很有成就感的事情!懷戀一下,呵呵?。?span style="COLOR: #ff0000">當時還是小屁孩,文字略顯稚嫩)
硬盤保護卡破解--小哨兵篇
作者: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,現在改個桌面,拷個游戲進去,再重新啟動試一下,還在吧,游戲可要藏好喲,祝你愉快!
posted on 2008-01-10 14:19
姚明 閱讀(1360)
評論(4) 編輯 收藏 引用 所屬分類:
Win32API