TSR驻留汇编,是怎样让DOS识别它是TSR代码的?
发布网友
发布时间:2022-05-01 12:25
我来回答
共3个回答
热心网友
时间:2023-10-11 22:23
硬盘主引导扇区是一个敏感的区域, 它的安全与否直接决定硬盘是否能够正常使用。 深入认识和灵活使用硬盘主引导扇区将有助于你的系统维护和许多特殊工作完成。
一、与DOS 引导扇区的区别
对于DOS系统来说, 有两种不同的引导扇区,即DOS 引导扇区和硬盘主引导扇区。 DOS 引导扇区存在于软盘的第一逻辑扇区或硬盘DOS分区的第一逻辑扇区,是用FORMAT命令对磁盘格式化时产生的, 是引导DOS 系统或正确使用磁盘的必要条件,在DOS下可用DEBUG方便地读出:
C>DEBUG
-L 100 2 0 1
;读C盘0扇区到内存当前段的100H处
-D ;显示DOS 引导扇区内容
硬盘主引导扇区则指的是硬盘的物理地址0 面0 道1 扇区,是用FDISK 进行硬盘分区时产生的, 它属于整个硬盘而不属于某个独立的DOS 分区, 是硬盘正确引导和使用的必要条件。由于它不在DOS分区范围之内,所以无法用上述方法读出, 只有用相关的汇编程序代码读出:
C>DEBUG
-A
XXXX:0100 MOV AX,0201H ;指定扇区数
XXXX:0103 MOV BX,0800H ;指定内存地址
XXXX:0106 MOV CX,0001H ;指定磁道和扇区号
XXXX:0109 MOV DX,0080H ;指定磁头和驱动器号
XXXX:010C INT 13H ;读磁盘操作
XXXX:010E INT 3-d800 ;显示读出内容
二、扇区结构
硬盘主引导扇区占据一个扇区,共512(200H)个字节,具体结构如下:
1.硬盘主引导程序,位于该扇区的0-1BDH处;
2.硬盘分区表,位于1BEH-1FDH处,每个分区表占用16个字节,共4个分区表,16个字节各字节意义如下:
0:自举标志,80H为可引导分区,00为不可引导分区;
1~3:本分区在硬盘上的开始物理地址;
4:分区类型,其中1表示为12位FAT表的基本DOS分区;4为16位FAT表的基本DOS分区;5为扩展DOS 分区;6为大于32M的DOS分区;其它为非DOS分区。
5~7:本分区的结束地址;
8~11:该分区之前的扇区数,即此分区第一扇区的绝对扇区号;
12~15:该分区占用的总扇区数。
3.引导扇区的有效标志,位于1FEH-1FFH处,固定值为AA55H。
三、硬盘主引导扇区的作用
硬盘主引导扇区在各个DOS版本下其内容基本一致,主要完成的任务是:
1.存放硬盘分区表,这是硬盘正确读写的关键数据。
2.检查硬盘分区的正确性,要求只能且必须存在一个活动分区。
3.确定活动分区号,并读出相应操作系统的引导记录。
4.检查操作系统引导记录的正确性, DOS引导扇区末尾也存在着一个AA55H标志,供引导程序识别。
5.释放引导权给相应的操作系统。例如,当确认DOS 操作系统引导记录存在时, 则调出DOS引导程序并执行。
另外,当它发现引导故障时将给出部分提示信息,如:
“Invalid partition table”表示硬盘分区表错误, 没有或存在两个以上活动分区;
“Error loading operating system”表示读DOS引导记录时出错;
“Missing operating system”表示 DOS引导记录无有效标志AA55H。
四、硬盘主引导扇区的应用
正是硬盘主引导扇区直接决定硬盘的安全性, 所以利用它可以完成很多特殊的功能操作, 简单列举如下:
1.清除硬盘引导功能。
由于硬盘引导必须使用引导程序, 并检测活动分区的正确性, 所以人为的修改或破坏引导程序部分, 或者清除活动分区引导标志, 都将使硬盘无法启动。
2.加密整个硬盘。
硬盘主引导扇区末尾的扇区有效标志AA55H是系统承认硬盘的前提,所以可以采取清除名修改此标志位达到加密硬盘的目的, 即使从A 驱引导系统也无法对硬盘进行操作, 恢复AA55H即可解密硬盘。
3.加密单个硬盘分区。
硬盘单个分区的加密可采取修改分区类型的方法,比如把扩展DOS 分区的类型标志 05H改为FFH,则DOS 认为此分区为非DOS分区,无法对其进行访问, 包括此分区中的所有逻辑盘。当然修改或清除某一分区表的所有数据同样具有加密单个分区的作用, 但操作繁琐并且具有危险性。
4.加入硬盘启动口令识别。
通过修改硬盘的主引导程序, 在引导DOS 操作系统之前,加入一段口令识别程序段,如口令正确则正常引导系统,否则拒绝引导,达到口令识别的目的。
5.先于DOS 驻留内存程序。
在主引导程序中安装某些中断服务程序,如时钟中断等,通过对INT 21H或其它DOS关键数据的监视,完成病毒的实时检测功能,因为此方法在引导DOS系统之前完成,所以其监视效果非常可靠。
6.实现同一硬盘多个操作系统的选择启动。
硬盘可以分成4个独立的分区,装入4个不同的操作系统,通过特殊的方法可以共享多个DOS版本,但各操作系统或各DOS版本间的切换是一件非常麻烦的事,通过修改硬盘主引导程序加入按键识别过程,可实现四个分区的自由选择引导。
7.实现硬盘主引导扇区或DOS引导扇区的自我修复。
如果在硬盘其它空闲扇区保留一份完好的主引导扇区内容,而在主引导程序中每次启动前进行主引导扇区的正确性检查工作,当发现异常时,即调入原来完好的主引导扇区内容,就可以及时发现和清除病毒,对于系统有很好的保护作用。
热心网友
时间:2023-10-11 22:23
聚乙烯(Polyethylene,PE),简称PE。是乙烯进行加聚而成的高分子有机化合物。聚乙烯是世界上公认的接触食品最佳材料。无毒、无味、无臭,符合食品包装卫生标准。聚乙烯薄膜,轻盈透明,具有防潮、抗氧、耐酸、耐碱、气密性一般,热封性优异等性能。素有“塑料之花”的美称。是塑料包装印刷用量最多、最重要的材料。 常用的食品塑料袋多为聚乙烯薄膜制成,该薄膜无毒,故可用于盛装食品。还有一种薄膜为聚氯乙烯制成,聚氯乙烯本身也无毒性,但根据薄膜的用途所加入的添加剂往往是对人体有害的物质,具有一定的毒性。所以这类薄膜及由该薄膜做的塑料袋均不宜用来盛装食品。
目前,中国塑料年产量为300万吨,消费量在600万吨以上。全世界塑料年产量为1亿吨,如果按每年15%的塑料废弃量计算,全世界年塑料废弃量就是1500万吨,中国的年塑料废弃量在100万吨以上,废弃塑料在垃圾中的比例占到40%,这样大量的废弃塑料作为垃圾被埋在地下,无疑给本来就缺乏的可耕种土地带来更大的压力。 塑料在给人们的生活带来方便的同时,也给环境带来了难以收拾的后患,人们把塑料给环境带来的灾难称为“白色污染”。 目前,很多国家都采取焚烧(热能源再生)或再加工制造(制品再生)的办法处理废弃塑料。这两种办法使废弃塑料得到再生利用,达到了节约资源的目的。但由于废弃塑料在焚烧或再加工时会产生对人体有害的气体,污染环境,所以可以说废弃塑料的处理至今仍是环保工作中令人头疼的一大难题。
塑料袋的危害
塑料袋的确给人们生活带来了方便,但是这一时的方便却带来长久的危害。 塑料袋回收价值较低,在使用过程中除了散落在城市街道、旅游区、水体中、公路和铁路两侧造成“视觉污染”外,它还存在着潜在的危害。 塑料结构稳定,不易被天然微生物菌降解,在自然环境中长期不分离。这就意味着废塑料垃圾如不加以回收,将在环境中变成污染物长期存在并不断累积,会对环境造成极大危害。
影响农业发展。
废塑料制品混在土壤中不断累积,会影响农作物吸收养分和水分,导致农作物减产。
对动物生存构成威胁。
抛弃在陆地上或水体中的废塑料制品,被动物当作食物吞入,导致动物死亡。去年青海湖畔有20户牧民共有近千只羊因此致死,经济损失约30多万元。羊喜欢吃塑料袋中夹裹着的油性残留物,却常常连塑料袋一起吃下去了,由于吃下的塑料长时间滞留胃中难以消化,这些羊的胃被挤满了,再也不能吃东西,最后只能被活活饿死。这样的事在动物园、牧区、农村、海洋中屡见不鲜。
废塑料随垃圾难处理
废塑料随垃圾填埋不仅会占用大量土地,而且被占用的土地长期得不到恢复,影响土地的可持续利用。进入生活垃圾中的废塑料制品如果将其填埋,200年的时间才能将其降解。 而且,塑料袋以石油为原料,不仅消耗了大量资源,还不能被分解,埋在地下会污染土地、河流。
其它
另外,塑料袋本身会释放有害气体。特别是熟食,用塑料袋包装后,常常会变质。变质的食品对儿童健康发育的影响尤为突出。 它耗能巨大,据测算,我国每产1吨塑料袋需耗3吨石油,而我国每年塑料袋的用量至少可供300万辆普通轿车行驶5年。改变这一局面,淘汰超薄塑料袋大势所趋,利国利民,功在千秋万代!
热心网友
时间:2023-10-11 22:23
硬盘主引导扇区是一个敏感的区域, 它的安全与否直接决定硬盘是否能够正常使用。 深入认识和灵活使用硬盘主引导扇区将有助于你的系统维护和许多特殊工作完成。
一、与DOS 引导扇区的区别
对于DOS系统来说, 有两种不同的引导扇区,即DOS 引导扇区和硬盘主引导扇区。 DOS 引导扇区存在于软盘的第一逻辑扇区或硬盘DOS分区的第一逻辑扇区,是用FORMAT命令对磁盘格式化时产生的, 是引导DOS 系统或正确使用磁盘的必要条件,在DOS下可用DEBUG方便地读出:
C>DEBUG
-L 100 2 0 1
;读C盘0扇区到内存当前段的100H处
-D ;显示DOS 引导扇区内容
硬盘主引导扇区则指的是硬盘的物理地址0 面0 道1 扇区,是用FDISK 进行硬盘分区时产生的, 它属于整个硬盘而不属于某个独立的DOS 分区, 是硬盘正确引导和使用的必要条件。由于它不在DOS分区范围之内,所以无法用上述方法读出, 只有用相关的汇编程序代码读出:
C>DEBUG
-A
XXXX:0100 MOV AX,0201H ;指定扇区数
XXXX:0103 MOV BX,0800H ;指定内存地址
XXXX:0106 MOV CX,0001H ;指定磁道和扇区号
XXXX:0109 MOV DX,0080H ;指定磁头和驱动器号
XXXX:010C INT 13H ;读磁盘操作
XXXX:010E INT 3-d800 ;显示读出内容
二、扇区结构
硬盘主引导扇区占据一个扇区,共512(200H)个字节,具体结构如下:
1.硬盘主引导程序,位于该扇区的0-1BDH处;
2.硬盘分区表,位于1BEH-1FDH处,每个分区表占用16个字节,共4个分区表,16个字节各字节意义如下:
0:自举标志,80H为可引导分区,00为不可引导分区;
1~3:本分区在硬盘上的开始物理地址;
4:分区类型,其中1表示为12位FAT表的基本DOS分区;4为16位FAT表的基本DOS分区;5为扩展DOS 分区;6为大于32M的DOS分区;其它为非DOS分区。
5~7:本分区的结束地址;
8~11:该分区之前的扇区数,即此分区第一扇区的绝对扇区号;
12~15:该分区占用的总扇区数。
3.引导扇区的有效标志,位于1FEH-1FFH处,固定值为AA55H。
三、硬盘主引导扇区的作用
硬盘主引导扇区在各个DOS版本下其内容基本一致,主要完成的任务是:
1.存放硬盘分区表,这是硬盘正确读写的关键数据。
2.检查硬盘分区的正确性,要求只能且必须存在一个活动分区。
3.确定活动分区号,并读出相应操作系统的引导记录。
4.检查操作系统引导记录的正确性, DOS引导扇区末尾也存在着一个AA55H标志,供引导程序识别。
5.释放引导权给相应的操作系统。例如,当确认DOS 操作系统引导记录存在时, 则调出DOS引导程序并执行。
另外,当它发现引导故障时将给出部分提示信息,如:
“Invalid partition table”表示硬盘分区表错误, 没有或存在两个以上活动分区;
“Error loading operating system”表示读DOS引导记录时出错;
“Missing operating system”表示 DOS引导记录无有效标志AA55H。
四、硬盘主引导扇区的应用
正是硬盘主引导扇区直接决定硬盘的安全性, 所以利用它可以完成很多特殊的功能操作, 简单列举如下:
1.清除硬盘引导功能。
由于硬盘引导必须使用引导程序, 并检测活动分区的正确性, 所以人为的修改或破坏引导程序部分, 或者清除活动分区引导标志, 都将使硬盘无法启动。
2.加密整个硬盘。
硬盘主引导扇区末尾的扇区有效标志AA55H是系统承认硬盘的前提,所以可以采取清除名修改此标志位达到加密硬盘的目的, 即使从A 驱引导系统也无法对硬盘进行操作, 恢复AA55H即可解密硬盘。
3.加密单个硬盘分区。
硬盘单个分区的加密可采取修改分区类型的方法,比如把扩展DOS 分区的类型标志 05H改为FFH,则DOS 认为此分区为非DOS分区,无法对其进行访问, 包括此分区中的所有逻辑盘。当然修改或清除某一分区表的所有数据同样具有加密单个分区的作用, 但操作繁琐并且具有危险性。
4.加入硬盘启动口令识别。
通过修改硬盘的主引导程序, 在引导DOS 操作系统之前,加入一段口令识别程序段,如口令正确则正常引导系统,否则拒绝引导,达到口令识别的目的。
5.先于DOS 驻留内存程序。
在主引导程序中安装某些中断服务程序,如时钟中断等,通过对INT 21H或其它DOS关键数据的监视,完成病毒的实时检测功能,因为此方法在引导DOS系统之前完成,所以其监视效果非常可靠。
6.实现同一硬盘多个操作系统的选择启动。
硬盘可以分成4个独立的分区,装入4个不同的操作系统,通过特殊的方法可以共享多个DOS版本,但各操作系统或各DOS版本间的切换是一件非常麻烦的事,通过修改硬盘主引导程序加入按键识别过程,可实现四个分区的自由选择引导。
7.实现硬盘主引导扇区或DOS引导扇区的自我修复。
如果在硬盘其它空闲扇区保留一份完好的主引导扇区内容,而在主引导程序中每次启动前进行主引导扇区的正确性检查工作,当发现异常时,即调入原来完好的主引导扇区内容,就可以及时发现和清除病毒,对于系统有很好的保护作用。
热心网友
时间:2023-10-11 22:23
聚乙烯(Polyethylene,PE),简称PE。是乙烯进行加聚而成的高分子有机化合物。聚乙烯是世界上公认的接触食品最佳材料。无毒、无味、无臭,符合食品包装卫生标准。聚乙烯薄膜,轻盈透明,具有防潮、抗氧、耐酸、耐碱、气密性一般,热封性优异等性能。素有“塑料之花”的美称。是塑料包装印刷用量最多、最重要的材料。 常用的食品塑料袋多为聚乙烯薄膜制成,该薄膜无毒,故可用于盛装食品。还有一种薄膜为聚氯乙烯制成,聚氯乙烯本身也无毒性,但根据薄膜的用途所加入的添加剂往往是对人体有害的物质,具有一定的毒性。所以这类薄膜及由该薄膜做的塑料袋均不宜用来盛装食品。
目前,中国塑料年产量为300万吨,消费量在600万吨以上。全世界塑料年产量为1亿吨,如果按每年15%的塑料废弃量计算,全世界年塑料废弃量就是1500万吨,中国的年塑料废弃量在100万吨以上,废弃塑料在垃圾中的比例占到40%,这样大量的废弃塑料作为垃圾被埋在地下,无疑给本来就缺乏的可耕种土地带来更大的压力。 塑料在给人们的生活带来方便的同时,也给环境带来了难以收拾的后患,人们把塑料给环境带来的灾难称为“白色污染”。 目前,很多国家都采取焚烧(热能源再生)或再加工制造(制品再生)的办法处理废弃塑料。这两种办法使废弃塑料得到再生利用,达到了节约资源的目的。但由于废弃塑料在焚烧或再加工时会产生对人体有害的气体,污染环境,所以可以说废弃塑料的处理至今仍是环保工作中令人头疼的一大难题。
塑料袋的危害
塑料袋的确给人们生活带来了方便,但是这一时的方便却带来长久的危害。 塑料袋回收价值较低,在使用过程中除了散落在城市街道、旅游区、水体中、公路和铁路两侧造成“视觉污染”外,它还存在着潜在的危害。 塑料结构稳定,不易被天然微生物菌降解,在自然环境中长期不分离。这就意味着废塑料垃圾如不加以回收,将在环境中变成污染物长期存在并不断累积,会对环境造成极大危害。
影响农业发展。
废塑料制品混在土壤中不断累积,会影响农作物吸收养分和水分,导致农作物减产。
对动物生存构成威胁。
抛弃在陆地上或水体中的废塑料制品,被动物当作食物吞入,导致动物死亡。去年青海湖畔有20户牧民共有近千只羊因此致死,经济损失约30多万元。羊喜欢吃塑料袋中夹裹着的油性残留物,却常常连塑料袋一起吃下去了,由于吃下的塑料长时间滞留胃中难以消化,这些羊的胃被挤满了,再也不能吃东西,最后只能被活活饿死。这样的事在动物园、牧区、农村、海洋中屡见不鲜。
废塑料随垃圾难处理
废塑料随垃圾填埋不仅会占用大量土地,而且被占用的土地长期得不到恢复,影响土地的可持续利用。进入生活垃圾中的废塑料制品如果将其填埋,200年的时间才能将其降解。 而且,塑料袋以石油为原料,不仅消耗了大量资源,还不能被分解,埋在地下会污染土地、河流。
其它
另外,塑料袋本身会释放有害气体。特别是熟食,用塑料袋包装后,常常会变质。变质的食品对儿童健康发育的影响尤为突出。 它耗能巨大,据测算,我国每产1吨塑料袋需耗3吨石油,而我国每年塑料袋的用量至少可供300万辆普通轿车行驶5年。改变这一局面,淘汰超薄塑料袋大势所趋,利国利民,功在千秋万代!
热心网友
时间:2023-10-11 22:24
通过该程序的退出方式,或者说退出时调用哪个中断,int 20h和mov ax,4c00h再int 21h不是TSR,印象中mov ah,31h再int 21h为退出但驻留内存,即TSR。追问哪个能找到TSR详细点的介绍,你说的有点笼统
追答TSR代码要想得到执行,有两个条件:
第一是它的执行体还驻留在内存中,而不是执行完毕后就被操作系统清场,上述回复就是说明如何不被清场的,调用int 21h,传ah为31h可行,普通程序调用int 20h或mov ah,4ch+int 21h退出时,其曾经占据的内存将被操作系统回收。
第二是它的执行体有得到执行的机会,也就是说在别的程序运行时,有可能触发它的执行,一般通过拦截系统中断调用来实现。int 8(时钟)和int 9(键盘)的触发很频繁,拦截它们就能具有较多的执行机会,拦截int 21h或其中某项特殊调用(针对ah取什么值来判定)也行,就看你的程序期望如何得到执行权而定了。
更详细的资料,应该去找书籍、示例等,此处一言难尽。
热心网友
时间:2023-10-11 22:23
通过该程序的退出方式,或者说退出时调用哪个中断,int 20h和mov ax,4c00h再int 21h不是TSR,印象中mov ah,31h再int 21h为退出但驻留内存,即TSR。追问哪个能找到TSR详细点的介绍,你说的有点笼统
追答TSR代码要想得到执行,有两个条件:
第一是它的执行体还驻留在内存中,而不是执行完毕后就被操作系统清场,上述回复就是说明如何不被清场的,调用int 21h,传ah为31h可行,普通程序调用int 20h或mov ah,4ch+int 21h退出时,其曾经占据的内存将被操作系统回收。
第二是它的执行体有得到执行的机会,也就是说在别的程序运行时,有可能触发它的执行,一般通过拦截系统中断调用来实现。int 8(时钟)和int 9(键盘)的触发很频繁,拦截它们就能具有较多的执行机会,拦截int 21h或其中某项特殊调用(针对ah取什么值来判定)也行,就看你的程序期望如何得到执行权而定了。
更详细的资料,应该去找书籍、示例等,此处一言难尽。