中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » 一个叫intchain的工具,可观察中断遍历哪些程序
作者:
标题: 一个叫intchain的工具,可观察中断遍历哪些程序 上一主题 | 下一主题
ko20010214
版主




积分 7294
发帖 1628
注册 2002-10-16
状态 离线
『楼 主』:  一个叫intchain的工具,可观察中断遍历哪些程序


发信人: microbe (奇妙的微生物), 信区: DOS
标  题: 一个很有意思的程序
发信站: BBS 水木清华站 (Sat Jan 31 13:42:30 1998) WWW-POST


    看过《未公开的DOS核心技术》这本书的人,一定记得里面有个叫intrspy的程序,
可以观察某个程序调用了哪些中断。我自己做了一个叫做intchain的工具,可以观察
某个中断遍历哪些程序(当然都是驻留内存的)。比如,下面是一个intchain的输出:

C:\USER>intchain 21 2a
INTCHAIN 3.0 is developed by Scott Zhong, SCDZ of USTC, Jan 30 1997

Trace Interrupt 21 Call
Enter : AX=2A00  BX=0000  CX=0000  DX=0000  SI=0000  DI=0000  BP=0000  ES=144C

Code Entry   Name       Type       Owner      Pos   Size   Exec   LastIns&INT
-----------------------------------------------------------------------------
0253:04A0    IFS$HLP$   Device     IFSHLP             2k      1   Jump Far
00C9:0FB2    MSDOS      Kernel     MSDOS      LOW            23   Jump Far
FF03:41E7    MSDOS      Kernel     MSDOS      HMA           157   Call Far
                                                                  INT  2A
0070:027A    IO         SysDev S   IO         LOW             3   RetF
FF03:84FE    MSDOS      Kernel     MSDOS      HMA             3   Call Far
0070:00EE    CLOCK$     SysDev I   IO         LOW             7   Jump Far
FFFF:0040    MSDOS      Kernel     MSDOS      HMA            92   RetF
                                                                  INT  1A
FF03:850A    MSDOS      Kernel     MSDOS      HMA            65   Iret
                                                                  INT  2A

Totally output 8 Modules and executed 351 Instructions
Return: AX=2A05  BX=0000  CX=07CD  DX=0215  SI=0000  DI=0000  BP=0000  ES=144C
Operation seems to be successful

下面是在Win95的DOS框下观察INT 13H中断的结果,很有意思的哦:只有一条指令ARPL。

C:\USER>intchain 13
INTCHAIN 3.0 is developed by Scott Zhong, SCDZ of USTC, Jan 30 1997

Trace Interrupt 13 Call
Enter : AX=0000  BX=0000  CX=0000  DX=0000  SI=0000  DI=0000  BP=0000  ES=127D

Code Entry   Name       Type       Owner      Pos   Size   Exec   LastIns&INT
-----------------------------------------------------------------------------
FD5C:2557    ROM BIOS   BasicI/O   BIOS       ROM             1   ARPL

Totally output 1 Module and executed 1 Instruction
Return: AX=0000  BX=0000  CX=0000  DX=0000  SI=0000  DI=0000  BP=0000  ES=127D
Operation seems to be successful

    这个程序还可以用来检测当前内存环境中有没有病毒呢:你的INT 13H,INT 21H中断链
里有没有可疑的模块啊?

    OK,如果对这个程序感兴趣,可以在下面的地址下载:
    ftp://ftp.lib.pku.edu.cn/incoming/intchain/int.exe

    这是一个自解压的程序,解开后有两个文件:intchain.exe和readme.txt。

    BTW: Win95的beta版里有一个同名的程序,不过那个太土,我就自己做了一个。

--
走过天涯路  终究还是回头
看尽花似海  如雪落





※ 修改:·microbe 於 Jan 31 13:49:17 修改本文·[FROM:    202.38.72.18]
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 202.38.72.18]

(本文采用S-Term文章拷贝脚本拷贝)
==================================================




ko20010214
=================================
大功告成,打个Kiss!
ko20010214@MSN.com
神州优雅Q300C
Intel CeleronM 370处理器 | 256MbDDR内存
40G硬盘 | USB2.0 | IEEE 1394
13.3 ' WXGA 宽屏(16:10) | COMBO光驱
10/100M网卡 | 四合一读卡器
2003-6-1 00:00
查看资料  发送邮件  发短消息 网志  OICQ (16959102)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: