中国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的工具,可观察中断遍历哪些程序 使用 LLM 解释/回答一下


发信人: 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 修改本文·
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·

(本文采用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)  编辑帖子  回复  引用回复

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


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



论坛跳转: