欢迎来到毕设资料网! | 帮助中心 毕设资料交流与分享平台
毕设资料网
全部分类
  • 毕业设计>
  • 毕业论文>
  • 外文翻译>
  • 课程设计>
  • 实习报告>
  • 相关资料>
  • ImageVerifierCode 换一换
    首页 毕设资料网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    综合课程设计报告--键盘输入截获系统的设计与实现

    • 资源ID:1401798       资源大小:82KB        全文页数:9页
    • 资源格式: DOC        下载积分:100金币
    快捷下载 游客一键下载
    账号登录下载
    三方登录下载: QQ登录
    下载资源需要100金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

    综合课程设计报告--键盘输入截获系统的设计与实现

    1、键盘输入截获系统的设计与实现键盘输入截获系统的设计与实现 摘要摘要 Windows 系统键盘截获系统,在我们的生活中是很常见的,比如在军方的某些系统中, 为确保某些机密信息不被泄露出去, 就要求在工作人员在于外界交流的时候, 无意中输出的 可能隐含机密信息不被发送出去,此时可以设置关键字,使用钩子来屏蔽这些信息,不让其 发送出去,这样就很好的杜绝了机密信息的泄露的发生,提高军方系统的安全性,以上是一 个很常见的例子,那么当提及到 Windows 系统信息截获,不得不想到动态链接库和钩子, 动态链接库在 Windows 系统中无处不在,编程过程中,调用的所有的 API 都是从系统动态 链接库导出

    2、的,实际上,不使用动态链接库几乎是不可能的,因为 Windows 提供给编程人 员的几乎所有功能都驻留在动态链接库中。 Windows 应用程序的运行模块是基于消息驱动的, 任何线程只要注册了窗口类都会有一 个消息队列来接收用户的输入消息和系统消息。 为了取得特定线程接收或者发送的消息, 就 要用到 Windows 提供的钩子。Windows 钩子广泛应用于各种检测侦查程序中,如输入监视、 API 截获等。一般的钩子函数都必须写在动态链接库中,以便注入到其进程。 一、一、需求分析需求分析 1 1、实验要求:实验要求: 设计一个基于 Windows 或 Linux 的键盘输入捕获系统,对特定键盘

    3、输入进行 检测过滤。要求如下: (1)设计一个键盘钩子程序捕获键盘动作,捕获任意窗口上的键盘输入, 并进行记录; (2)能监控 QQ、MSN、word、Excel、记事本、IE 网页等应用程序; (3)设置一些关键词,根据键盘输入,设计一种关键词检测的方法,能在 记录的键盘输入中检测出关键词出现的位置; (4)对输入的关键词,进行过滤,阻止其在相关的应用程序中输出; 2 2、实验环境:实验环境: Microsoft Visual studio 2010 二、二、实验实验分组情况分组情况: 三、三、实验原理实验原理概述概述: 钩子钩子: 钩子是 Windows 中可以拦截事件的一种机制, 可以指

    4、定一个函数作为特定类型的被 拦截事件的钩子过程。 钩子过程可以对拦截的每个事件进行处理。 不同类型的钩子可 以为消息处理机制的不同方面提供访问,例如,WH_MOUSE 钩子可以监视与鼠标操作 相关的消息。 系统为每一个类型的钩子维护一个独立的钩子链, 其中包含指定一组作 为钩子过程的回调函数指针。 当与指定类型的钩子相关联的消息发生时, 系统会把消 息传递给钩子链中相关钩子过程。 关于钩子需要了解到以下几点: (1) 钩子是用来截获系统的消息流的。利用钩子,可以处理任何感兴趣的消息,包 括其他线程的消息。 (2) 截获消息后,用于处理消息的子程序叫做钩子函数,它是应用程序自定义的一 个函数,在

    5、安装钩子时要把这个函数的地址告诉 Windows. (3) 系统中同一时间可以有多个进程安装钩子。多个钩子函数在一起组成钩子链。 所以在处理截获到的消息时,应该把消息事件传递下去,以便其他钩子也有机 会处理这一消息。 (4) 钩子会使系统变慢,因为他增加了系统对每个消息的处理量。仅应该在必要时 才安装钩子,而且在不需要时尽快移除。 全局钩子全局钩子: 钩子可以分为全局钩子和特定线程钩子, 全局钩子的钩子过程只能在 Dll 中定义, 全局钩子可以监视与调用线程位于同一个桌面的所有线程的消息, 然后调用钩子过程 对拦截的消息进行处理。 线程钩子线程钩子:钩子的另一种类型是特定线程钩子,他只能监视一

    6、个单独的线程的消息。特定的 线程钩子的钩子过程可以在应用程序的任何位置,每个线程都有自己的私有内存空 间, 所以一个线程不能调用其他线程的代码, 也不能访问其他线程的内存数据, 这样, 如果在安装钩子的线程中定义钩子的过程, 则其他正在运行的线程被拦截消息后, 就 不能成功调用钩子过程了。 动态链接库动态链接库: 动态链接库是应用程序的一个模块, 这个模块用于导出一些函数和数据供程序 中的其他模块使用。可以从以下 3 个方面来理解这个概念: (1)动态链接库是应用程序的一部分,他的任何操作都是代表应用程序进行的。所以动态 链接库在本质上与可执行文件没有区别, 都是作为模块被进程加载到自己的空间地址 的。 (2)动态链接库在程序编译时并没有被插入到可执行文件中,在程序运行时整个库的代码 才会调入内存,这就是所谓的“动态链接” 。 (3)如果有多个程序用到同一个动态链接库,Windows 在物理内存中只保留一份库的代码, 仅通过分页机制将这份代码映射到不同的进程中, 这样, 不管有多少程序同时使用一 个库,库代码实际占用的物理内存永远只有一份。 四、总体设计:四、总体设计: 为


    注意事项

    本文(综合课程设计报告--键盘输入截获系统的设计与实现)为本站会员(毕***)主动上传,毕设资料网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请联系网站客服QQ:540560583,我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们
    本站所有资料均属于原创者所有,仅提供参考和学习交流之用,请勿用做其他用途,转载必究!如有侵犯您的权利请联系本站,一经查实我们会立即删除相关内容!
    copyright@ 2008-2025 毕设资料网所有
    联系QQ:540560583