[发明专利]一种通过Windows系统服务监控Windows系统剪贴板的方法在审
申请号: | 200710118584.2 | 申请日: | 2007-07-10 |
公开(公告)号: | CN101101621A | 公开(公告)日: | 2008-01-09 |
发明(设计)人: | 姜斌斌;文中领;吕俊;陈华平;张磊 | 申请(专利权)人: | 北京鼎信高科信息技术有限公司 |
主分类号: | G06F21/22 | 分类号: | G06F21/22 |
代理公司: | 北京市卓华知识产权代理有限公司 | 代理人: | 陈子英 |
地址: | 100085北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 通过 windows 系统 服务 监控 剪贴板 方法 | ||
技术领域
本发明涉及一种通过Windows系统服务监控Windows系统剪贴板的方法,属于计算机技术领域。
背景技术
目前,很多网站和应用软件对用户的剪切、复制、粘贴操作进行了一些控制,但这些控制存在一些缺陷。有些网站只是进行禁止复制的单一控制,无法阻止用户通过其他方式拷贝网站的文本内容;应用软件的操作控制功能有个体局限性,不具备普遍适用性。除此之外,微软对Windows剪贴板提供了一套API,用来用户进行第二次开发和调用,有些厂商为了对剪贴板进行监控,采取了HOOK这些API或者WINDOWS消息的机制来实现这一功能,但这种实现方式也只能针对部分特定的应用软件,无法对所有应用软件有效,更不能做到与应用无关。
发明内容
为克服现有技术的上述缺陷,本发明提供了一种通过Windows系统服务监控Windows系统剪贴板的方法,这种方法能对用户的剪切、复制、粘贴操作进行完全控制,并对各种软件具有普遍适用性,而且与应用无关。
本发明实现上述目的的技术方案是:一种通过Windows系统服务监控Windows系统剪贴板的方法,其特征在于采用WINDOWS内核HOOK技术对剪贴板相关的系统服务进行HOOK,从而达到对WINDOWS系统剪贴板监控的目的,该方法包括以下步骤:
A、对与剪贴、复制和粘贴操作相关的系统服务信息初始化,找到两个系统描述符表ServiceDescriptorTable和ServiceDescriptorTableShadow,获得两个系统服务NtUserGetClipboardData和NtUserSetClipboardData的服务号ID;
B、计算系统服务NtUserGetClipboardData和NtUserSetClipboardData在Windows中的地址偏移;
C、HOOK两个系统核心态服务NtUserGetClipboardData和NtUserSetClipboardData;
D、有操作请求时,用户发出的原进入系统服务NtUserSetClipboardData和NtUserGetClipboardData的剪贴板操作信息就会进入HOOK的两个相应函数:NewNtUserGetClipboardData和NewNtUserSetClipboardData,在这两个函数中,实现监控剪贴板的所有逻辑处理;
E、退出监控驱动,对两个系统服务解除HOOK。
其中,所述步骤A包括下列步骤:
A1、找到已由Ntoskrnl.exe公开导出的系统描述符表ServiceDescriptorTable(简称:SDT);
A2、通过在系统内存空间的搜索方式找到ServiceDescriptorTableShadow在win32k.sys中的基地址;
A3、通过辅助驱动程序LocalSystem.sys取得两个系统服务NtUserGetClipboardData和NtUserSetClipboardData对应当前系统版本的服务号ID。
所述步骤D中的逻辑处理包括以下步骤:
(1)获取当前发起剪切、复制、粘贴请求的进程号(PID);
(2)获取当前发起剪切、复制、粘贴请求的进程进程名(ProcessName);
(3)判断当前进程号是否是在受监控进程列表中,或者当前进程名是否是csrss.exe,对请求做保留、丢弃或加密等处理。
该方法还在剪贴板HOOK驱动中定义一个分支IRP,以实现操作的中断控制。
本发明通过Windows系统服务监控Windows系统剪贴板的方法采用以上步骤通过在Windows系统核心级,运用Windows内核HOOK技术对剪贴板相关的系统服务进行HOOK,从而达到对Windows系统剪贴板全面的监控目的;由于本方法直接HOOK两个与剪贴板监控相关的最重要的系统核心态服务NtUserGetClipboardData和NtUserSetClipboardData,使对用户剪贴板操作请求的控制具有普遍性;本方法的处理过程不需其他额外的操作,由于感觉不到计算机的底层运行情况,丝毫不影响用户的合法正常操作,而且做到与应用无关。
附图说明
图1为本发明的逻辑流程图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京鼎信高科信息技术有限公司,未经北京鼎信高科信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710118584.2/2.html,转载请声明来源钻瓜专利网。