《实验三键盘软加锁实验.docx》由会员分享,可在线阅读,更多相关《实验三键盘软加锁实验.docx(4页珍藏版)》请在优知文库上搜索。
1、实验三键盘软加锁实验实验所属系列:系统安全实验系列实验对象:本科相关课程及专业:计算机系统安全、信息安全实验时数(学分):4实验类别:实践实验类实验开发教师:郝玉洁、湛黔燕【实验目的】了解WlN200OOS实模式环境下中断的基本结构。对系统提供的INT16H键盘中断进行监控。对非法用户试图通过键盘对计算机系统所做的各种工作进行拦截,即进行键盘使用的限制。【实验内容】编写在实模式下的键盘软加锁程序。【实验开设方式】(1)个人或分组上机均可。(2)实验前学生准备时间不少于3学时【实验设备与环境】(D基本环境要求:PC及兼容机(2)系统平台要求:WlN98以上OS,保护模式下工作。(3)软件相应工具
2、要求:C语言、汇编语言均可。【实验方法步骤】基于BIOS键盘中断原理,编写键盘软加锁程序。【实验报告】1)提交在实模式下的软件加锁程序清单及软件运行结果的演示。2)编写并提交所编程序的数据字典。【实验必备知识】1封锁键盘输入各种跟踪调试软件在工作时,都要从键盘上接收操作者发出的命令,而且还要从屏幕上显示出调试跟踪的结果,这也是各种跟踪调试软件对运行环境的最低要求。因此反跟踪技术针对跟踪调试软件的这种“弱点”,在加密系统无须从键盘或屏幕输入、输出信息时,关闭了这些外围设备,以破坏跟踪调试软件的运行环境。键盘信息的输入采用硬件中断方式,由BIOS中的键盘中断服务程序接收、识别和转换,最后送入可存放
3、16个字符的键盘缓冲区。2、BIOS中断简介固化在ROM中的基本输入输出系统BIOS(BasicInput0utputSystem)包含了主要I/O设备的管理程序和许多常用例行程序,它们一般以中断处理程序的形式存在。BlOS直接建立在硬件基础上。DOS建立在BIOS的基础上,通过BIOS操纵控制硬件。应用程序、DOS、BloS和外设接口的间关系如图1所示。应用程序图1应用程序、DOS、BlOS和外设接口的间关系3、BIoS键盘中断(1)键盘中断当用户按键时,键盘接口会得到一个被按键的键盘扫描码,同时产生一个中断请求。如果键盘中断是允许的(中断屏蔽字中的bitl为0),并且CPU处于中断状态(I
4、=I),那么CPU通常就会响应中断请求,转入键盘中断处理程序。键盘中断处理程序首先从键盘接口取得代表被按键的扫描码,然后根据扫描码判别用户所按的键并做相应的处理。我们把键盘上的键简单地分成五种类型:字符键(字母、数字和符号等),功能键(如Fl和PgUP等),控制键(Ctrl、Alt和左右Shift键),双态键(如NumLock和CapsLock等),特殊请求键(如Printscreen等)。(2)键盘I/O程序的功能和调用方法键盘I/O程序以16H号中断处理程序的形式存在,它属于软中断处理程序。键盘I/O程序提供的主要功能列于下表,每一个功能有一个编号。在调用键盘I/O程序时,把功能编号置入A
5、H寄存器,然后发出中断指令INT16H0调用返回后,从有关寄存器中取得出口参数。例:改变键盘中断服务程序9、BIOS的键盘I/O16H中断服务程序的入口地址。(3)禁止键盘中断键盘中断是一个可屏蔽中断,可通过向8259中断控制器送屏蔽控制字来屏蔽键盘中断。控制键盘的是中断屏蔽寄存器的第1位,只要将该位置1,即可关闭键盘的中断。INAL,21HORAL,02HOUT21H,AL需要开放键盘中断时,也要用三条指令:INAL,21HANDAL,FDHOUT21H,AL(4)高级语言编程参考如果学生采用高级语言(C、C+、DelphiJaVa等)编程,可以将上述汇编语言嵌入高级语言程序段,完成键盘中断的控制。也可以采用调用WindoWS系统所提供的API函数的方式处理。对汇编语言熟悉的学生也可以直接采用汇编语言编程,但注意在WindOWS2000以上的操作系统中,必须采用MASM32版本的汇编语言程序,而不能采用MASMI6版本。在程序调试时遇到保护模式与实模式冲突时,实验可以在WindoWS的实模式下进行。【评分要求】100分(I)程序运行正常(不死机)70分(2)界面设计良好10分(3)有设计文档10分(4)有新增功能10分