?? genzong.txt
字號:
也談磁盤中斷的動態跟蹤
隨著軟件加密技術的不斷發展,加密軟件普遍采用了多種反跟蹤、抗分析
措施。這就使僅用DEBUG分析加密軟件變得越來越困難,工作量極大。因
此運用TSR技術,通過編制一些軟件加快對加密軟件的分析過程,就成為解
密工作中常用而且有效的手段之一。《計算機世界月刊》1993年第6期上
刊登了張研先生的《磁盤中斷的動態跟蹤》一文,提出了分析磁盤加密軟件的
一個簡便易行的方法。但該法在使用中尚存在一些局限。因為目前比較完善的
加密軟件,會采取一些反動態跟蹤措施。如檢查INT13H中斷是否被用戶
修改等,一旦發現INT 13H已被修改,程序將拒絕執行,使得跟蹤失敗
。為解決這一問題,可以在加密軟件運行過程中動態地修改INT 13H中
斷,使之避開反動態跟蹤檢查。例如采用定時的辦法,在加密軟件運行一段時
間后再修改INT13H中斷。通常加密軟件為了不至于過分繁瑣,只在讀密
鑰盤前進行反動態跟蹤檢查,因此動態地修改INT13H中斷顯然是有效的
。這里筆者介紹一種利用軟盤中斷INT 0EH來實現INT 13H中斷
的動態修改的方法。INT 0EH是管理軟盤控制器的中斷,因其利用價值
不大,常被人忽略。也正是由于這一點,才使我們得以利用它避開反動態跟蹤
檢查。下面的程序是采用上述思想設計的。程序首先修改INT 0EH,之
后一旦加密程序因讀軟盤而產生INT 0EH時,INT 0EH中斷服務
程序將修改INT 13H中斷,由此可開始磁盤中斷的動態跟蹤。這里為節
約篇幅,修改后的INT 13H中斷調用只在對軟盤進行讀寫時產生一個單
步中斷,并恢復可能已被破壞的DEBUG INT1中斷向量。因此該程序
需和DEBUG配合使用。讀者可根據需要編制自己的INT 13H服務程
序。
運行下面程序的步驟為:
(1)運行該程序;
(2)鍵入:DEBUG XXX.EXE 用DEBUG 從硬盤上調
入待分析的加密程序;
(3)鍵入:T
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -