📄 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 + -