- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验三 键盘软加锁实验
实验所属系列:系统安全实验系列 实验对象: 本科
实验时数(学分): 4
实验开发教师: 郝玉洁、
【实验目的】
了解WIN2000 OS实模式环境下中断的基本结构。对系统提供的INT 16H 键盘中断进行监控。对非法用户试图通过键盘对计算机系统所做的各种工作进行拦截,即进行键盘使用的限制。
【实验内容】
编写在实模式下的键盘软加锁程序。
【实验开设方式】
(1) 个人或分组上机均可。
(2) 实验前学生准备时间不少于3学时
【实验设备与环境】
(1)基本环境要求:PC及兼容机
(2)系统平台要求:WIN98以上OS,保护模式下工作。
(3)软件相应工具要求:C语言、汇编语言均可。
【实验方法步骤】
基于BIOS键盘中断原理,编写键盘软加锁程序。
【实验报告】
1)提交在实模式下的软件加锁程序清单及软件运行结果的演示。
2)编写并提交所编程序的数据字典。
【实验必备知识】
1、封锁键盘输入
各种跟踪调试软件在工作时,都要从键盘上接收操作者发出的命令,而且还要从屏幕上显示出调试跟踪的结果,这也是各种跟踪调试软件对运行环境的最低要求。因此反跟踪技术针对跟踪调试软件的这种“弱点”,在加密系统无须从键盘或屏幕输入、输出信息时,关闭了这些外围设备,以破坏跟踪调试软件的运行环 境。键盘信息的输入采用硬件中断方式 ,由BIOS中的键盘中断服务程序接收、识别和转换,最后送入可存放16个字符的键盘缓冲区 。
2、BIOS中断简介
????固化在ROM中的基本输入输出系统BIOS(Basic Input/Output System)包含了主要I/O设备的管理程序和许多常用例行程序,它们一般以中断处理程序的形式存在。BIOS直接建立在硬件基础上。
DOS建立在BIOS的基础上,通过BIOS操纵控制硬件。
应用程序、DOS、BIOS和外设接口的间关系如图1所示。
图1 应用程序、DOS、BIOS和外设接口的间关系
3、BIOS键盘中断
(1)键盘中断
当用户按键时,键盘接口会得到一个被按键的键盘扫描码,同时产生一个中断请求。如果键盘中断是允许的(中断屏蔽字中的bit1为0),并且CPU处于中断状态(I=1),那么CPU通常就会响应中断请求,转入键盘中断处理程序。
键盘中断处理程序首先从键盘接口取得代表被按键的扫描码,然后根据扫描码判别用户所按的键并做相应的处理。我们把键盘上的键简单地分成五种类型:字符键(字母、数字和符号等),功能键(如F1和PgUp等),控制键(Ctrl、Alt和左右Shift键),双态键(如Num Lock和Caps Lock等),特殊请求键(如Print screen等)。
(2)键盘I/O程序的功能和调用方法
键盘I/O程序以16H号中断处理程序的形式存在,它属于软中断处理程序。键盘I/O程序提供的主要功能列于下表,每一个功能有一个编号。
在调用键盘I/O程序时,把功能编号置入AH寄存器,然后发出中断指令“INT? 16H”。调用返回后,从有关寄存器中取得出口参数。
例:改变键盘中断服务程序9 、BIOS的键盘I/O 16H中断服务程序的入口地址。
(3)禁止键盘中断
键盘中断是一个可屏蔽中断 ,可通过向8259中断控制器送屏蔽控制字来屏蔽键盘中断。
控制键盘的是中断屏蔽寄存器的第1位 ,只要将该位置1,即可关闭键盘的中断。
IN AL,21H OR AL,02H OUT 21H,AL 需要开放键盘中断时,也要用三条指令: IN AL,21H AND AL,FDH OUT 21H,AL
(4)高级语言编程参考
如果学生采用高级语言(C、C++、Delph、Java等)编程,可以将上述汇编语言嵌入高级语言程序段,完成键盘中断的控制。也可以采用调用Windows系统所提供的API函数的方式处理。对汇编语言熟悉的学生也可以直接采用汇编语言编程,但注意在Windows2000以上的操作系统中,必须采用MASM32版本的汇编语言程序,而不能采用MASM16版本。在程序调试时遇到保护模式与实模式冲突时,实验可以在Windows的实模式下进行。
【评分要求】100分
程序运行正常(不死机)70分
10分
10分
10分
10
应 用 程 序
DOS
BIOS
外 设 接 口
文档评论(0)