CN114089849A - 鼠标控制方法、装置、设备及存储介质 - Google Patents
鼠标控制方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114089849A CN114089849A CN202111314075.3A CN202111314075A CN114089849A CN 114089849 A CN114089849 A CN 114089849A CN 202111314075 A CN202111314075 A CN 202111314075A CN 114089849 A CN114089849 A CN 114089849A
- Authority
- CN
- China
- Prior art keywords
- mouse
- window
- intercepting
- function
- acquisition function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 230000006870 function Effects 0.000 claims abstract description 120
- 230000008569 process Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 16
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请实施例提供一种鼠标控制方法、装置、设备及存储介质,涉及计算机技术领域,所述方法包括:对窗口获取函数进行拦截,获取鼠标的操作对象的句柄;对事件函数进行拦截,获取所述鼠标当前停留的目标窗口;依据所述句柄和所述目标窗口,确定所述鼠标的操作是否合法;当所述鼠标的操作为非法时,拦截属性获取函数,以禁止所述目标窗口获取所述操作对象的数据。本申请实现了linux系统上对鼠标事件的控制,填补了linux鼠标控制方法上的空白。并且,本申请的方法架构先进,技术稳定,兼容性高,部署方便、灵活,使用方便,用户学习成本低。
Description
技术领域
本申请实施例涉及计算机技术领域,具体而言,涉及一种鼠标控制方法、装置、设备及存储介质。
背景技术
近几年,随着各种泄密事件突发,对国家安全和长远发展都构成了极大威胁。因此国家专门成立了国家信息安全小组,十分重视网络安全。针对关系到国计民生的金融行业等提出了更高的安全防护要求,避免发生泄密事件。
目前,绝大多数数据都是以电子文档的形式存储在计算机中。日常,人与人、企业与企业之间的协作交流,均离不开电子文档。电子文档,在工作、生活中扮演者重要的角色。电子数据的编辑、流转十分方便,相对于传统的纸质文档,其成本低廉、易于运输、流转,大大方便了人们之间的协作。在实现方便的同时,电子文档的流转安全问题也就变的十分突出。
windows平台上有成熟的DLP产品,对含有敏感数据的文档进行加密处理,同时不影响用户的正常使用。用户编辑加密文件时,能控制鼠标拖拽事件,有效防止加密文档内容拖拽到其他文档中,从而保护了电子文档的安全。但是在Linux平台上没有类似windows平台的上的这些鼠标控制功能,难以实现防护功能。
发明内容
本申请实施例提供一种鼠标控制方法、装置、设备及存储介质,旨在解决以上至少一项技术问题。
本申请实施例第一方面提供一种鼠标控制方法,所述方法包括:
对窗口获取函数进行拦截,获取鼠标的操作对象的句柄;
对事件函数进行拦截,获取所述鼠标当前停留的目标窗口;
依据所述句柄和所述目标窗口,确定所述鼠标的操作是否合法;
当所述鼠标的操作为非法时,拦截属性获取函数,以禁止所述目标窗口获取所述操作对象的数据。
可选地,所述方法还包括:
将所述鼠标的操作的来源数据清空,同时将所述目标窗口上鼠标的状态设置为禁用状态。
可选地,所述对窗口获取函数进行拦截,包括:
对进程内部空间中的所述窗口获取函数进行Hook操作,以对所述窗口获取函数进行拦截;
所述对事件函数进行拦截,包括:
对所述进程内部空间中的所述事件函数进行Hook操作,以对所述事件函数进行拦截;
所述拦截属性获取函数,包括:
对所述进程内部空间中的所述属性获取函数进行Hook操作,以对所述属性获取函数进行拦截。
可选地,所述对窗口获取函数进行拦截,包括:
对所述窗口获取函数中指定消息进行拦截,所述指定消息包括:Enter、Leave、Drop、Finished。
可选地,所述方法还包括:
当所述鼠标的操作为合法时,将所述指定消息传递至所述目标窗口中;
其中,所述目标窗口用于通过所述属性获取函数获取所述操作对象的数据,并将获取到的数据显示到对应的界面上。
本申请实施例第二方面提供一种鼠标控制装置,所述装置包括:
窗口获取函数拦截模块,用于对窗口获取函数进行拦截,获取鼠标的操作对象的句柄;
事件函数拦截模块,用于对事件函数进行拦截,获取所述鼠标当前停留的目标窗口;
确定模块,用于依据所述句柄和所述目标窗口,确定所述鼠标的操作是否合法;
属性获取函数拦截模块,用于当所述鼠标的操作为非法时,拦截属性获取函数,以禁止所述目标窗口获取所述操作对象的数据。
可选地,所述属性获取函数拦截模块还包括:
设置子模块,用于将所述鼠标的操作的来源数据清空,同时将所述目标窗口上鼠标的状态设置为禁用状态。
可选地,所述窗口获取函数拦截模块,还用于对所述窗口获取函数中指定消息进行拦截,所述指定消息包括:Enter、Leave、Drop、Finished。
本申请实施例第三方面提供一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如本申请第一方面所述的方法。
本申请实施例第四方面提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现本申请第一方面所述的方法。
本申请的方法通过窗口获取函数获取鼠标的操作对象,通过事件函数获取鼠标的目标窗口,基于所获取的操作对象和目标窗口对鼠标进行控制,本申请实现了linux系统上对鼠标事件的控制,填补了linux鼠标控制方法上的空白。并且,本申请的方法架构先进,技术稳定,兼容性高,部署方便、灵活,使用方便,用户学习成本低。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提出的鼠标控制方法的流程图;
图2是本申请一实施例提出的另一种鼠标控制方法的流程图;
图3是本申请一实施例提出的鼠标控制装置的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在windows平台上,有专用的函数用于实现鼠标拖拽等事件,开发人员仅需对专用的鼠标拖拽函数进行控制,即可阻止对加密文件的拖拽,防止文件泄密。而在linux系统中,由于其并没有用于一个专用于实现鼠标拖拽等事件的函数,因此开发人员不知道如何对鼠标的拖拽等事件进行控制,如何防止文件泄密。
基于此,本申请提出了一种鼠标控制方法,通过拦截窗口获取函数判断鼠标的操作对象,并通过拦截事件函数判断鼠标的目标窗口,获得鼠标的操作对象和目标窗口后,判断鼠标的操作是否合法,若不合法,则阻止鼠标的操作,实现了对鼠标的控制。
参考图1,图1是本申请一实施例提出的鼠标控制方法的流程图。如图1所示,该方法包括以下步骤:
步骤S110、对窗口获取函数进行拦截,获取鼠标的操作对象的句柄。
拦截窗口获取函数(XInternAtom/xcb_intern_atom),获取系统设置的鼠标拖放操作的对象的句柄,并将其保存起来。
句柄,简单的说,是指一种指向结构体的指针,现代CPU引入了MMU(MemoryManagement Unit内存管理单元)。MMU的核心思想是利用虚拟地址替代物理地址,即CPU寻址时使用虚址,由MMU负责将虚址映射为物理地址。MMU的引入,解决了对物理内存的限制。虚拟地址与物理地址需要通过映射,才能使CPU正常工作。操作系统中,句柄即实现了逻辑地址与物理内存的对应及管理。
拦截窗口获取函数中的消息,从拦截得到的消息中获取关于鼠标操作的内容,分析得到该内容得到鼠标当前操作的对象,并进一步获取该对象被系统分配的句柄(通常为内存逻辑地址)。
由于句柄在系统下实际为一个数字,一个唯一的数值,上述步骤换句话说,实际是获取鼠标当前的操作对象的编号数字,这个数字是一个对象的唯一标示,和对象一一对应。这个对象可以是一个块内存,一个资源,或者一个服务等。这个数字的来源可以有很多中,只要能保证和它代表的对象保持唯一对应就可以,比如系统设置的内存地址,或者句柄表的序号,又或者一个自增ID等。
步骤S120、对事件函数进行拦截,获取所述鼠标当前停留的目标窗口;
拦截事件函数(XNextEvent/xcb_wait_for_event),事件函数中传递了鼠标所进行的事件的相关消息如鼠标的移动轨迹、停留的位置等。
分析从事件函数中得到消息,例如分析消息中鼠标当前停留位置的坐标,该坐标是鼠标最终移动到位置,该位置所属的窗口就是鼠标的目标窗口。
步骤S130、依据所述句柄和所述目标窗口,确定所述鼠标的操作是否合法。
依据步骤S110得到句柄与步骤S120所目标窗口进行判断,判断当前操作是否合法,判断内容可以是:判断目标窗口是否有权限接收句柄所代表的内容,或者同时判断句柄能够否进行复制及目标窗口是否允许接收等。
当判断内容为否时,如:目标窗口没有有权限接收句柄程序中的内容,或者句柄不允许复制等,则判断鼠标当前的操作为非法。
步骤S140、当所述鼠标操作为非法时,拦截属性获取函数,以禁止所述目标窗口获取所述操作对象的数据。
当鼠标操作为非法时,拦截属性获取函数(XGetWindowProperty/xcb_get_property),阻止目标窗口通过该函数获取鼠标操作对象的相关数据。
进一步的,所述步骤S140还包括:
将所述鼠标的操作的来源数据清空,同时将所述目标窗口上鼠标的状态设置为禁用状态。
当鼠标操作为非法时,将本次鼠标拖拽的来源数据的内容在内存中清空,同时将当前目标窗口上鼠标的状态设置为禁止拖拽的图标状态。
通过本申请的方法,通过窗口获取函数获取鼠标的操作对象,通过事件函数获取鼠标的目标窗口,实现对Linux系统上鼠标的操作对象、操作目标的检测,并基于检测到的操作对象、目标窗口进行判断,当判断显示操作非法时则阻止目标窗口对操作对象的获取,防止操作对象泄露。
本申请的方法实现了linux系统上对鼠标事件的控制,填补了linux鼠标控制上的空白,且架构先进,技术稳定,兼容性高,并且,本申请的方法部署方便、灵活,使用方便,用户学习成本低。
在本申请中还提供了上述鼠标控制方法的另一个实施例,所述实施例的方法如图2所示,本实施例的应用场景为:
当用户进入Linux系统(如统信UOS桌面操作系统、明朝万达的V3系统、中标麒麟等)后,系统依据当前登录的用户同步其对应的密级及密文使用权限策略,所述密级指用户当前的保密级别(如秘密、机密、绝密等),所述密文使用权限策略指对文件的控制策略如指允许阅读,每一个密级都对应一个密文使用权限策略。
完成密级及密文使用权限策略的同步后,加密指定类型文件,所述加密指定类型文件指指定某一类型的文件适用于上述密级和权限策略,如指定所有Word文件适用于上述密级及权限策略。
如图2所示,所述实施例中包括以下步骤:
步骤S210、对进程内部空间中的所述窗口获取函数进行Hook操作,以对所述窗口获取函数进行拦截;
步骤S220、对所述进程内部空间中的所述事件函数进行Hook操作,以对所述事件函数进行拦截;
步骤S230、对所述进程内部空间中的所述属性获取函数进行Hook操作,以对所述属性获取函数进行拦截。
对进程内部空间中的所述窗口获取函数、所述事件函数、所述属性获取函数进行Hook操作,以实现对所述窗口获取函数、所述事件函数、所述属性获取函数的拦截。
每当系统内启动一个新进程时,操作系统的注入模块将inlinehook模块注入到启动的进程内部空间中,inlinhook模块实现对libx11/libXcb库中指定的API(窗口获取函数XInternAtom/xcb_intern_atom、事件函数XNextEvent/xcb_wait_for_event、属性获取函数XGetWindowProperty/xcb_get_property)进行hook。
钩子(Hook),简单的来说,其是一种消息处理机制,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,钩子在目标窗口处理函数之前处理它,钩子机制允许应用程序截获处理消息或特定事件。
上述步骤中,把Hook挂入程序中,使用Hook来监控以上三个线程的上下文的消息。每当消息发出,在没有到达以上三个线程前,钩子程序就能够先捕获消息,亦即钩子函数先于函数得到控制权。这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。
步骤S240、对窗口获取函数进行拦截,获取鼠标的操作对象的句柄。
窗口/窗体系统具有一组预先定义的属性(例如,窗口的名称、大小提示等),用户可以定义任何其他任意信息并将其与窗口关联。每个属性都有一个名称,这是一个ISO-Latin-1的字符串。对于每个属性,与它关联一个唯一的标识符(被称为atom,原子)。用户可以存储和检索与窗口相关的属性(出于效率原因,通常使用原子而不是字符串),通过(XInternAtom)函数可以获取窗口的各种属性。
当拖拽事件发生时,如将鼠标长击某一文件,并移动到某一窗口时,或者鼠标复制某一内容,移动到一个窗口中进行粘贴时,这一过程可以表述为鼠标与窗口之间进行的文件交互。鼠标发送一个文件至窗口,窗口接收鼠标所发送的文件,在这一交互过程中,窗口需要调用窗口获取函数来判断鼠标是否正在与本窗口进行交互及交互的是何种动作(点击或者将文件拖拽至窗口)。
拦截窗口获取函数的消息,可以快速发现鼠标与窗口正在发生的互动事件,并且从拦截的消息中获取鼠标操作对象在系统中的句柄。
可选的,所述对窗口获取函数进行拦截,包括:
对所述窗口获取函数中指定消息进行拦截,所述指定消息包括:Enter、Leave、Drop、Finished。
优选的,在窗口获取函数中只拦截与鼠标操作相关的消息,即Enter、Leave、Drop、Finished,当拦截到以上消息后,则证明鼠标正在与一个窗口发生交互。
在本申请一个实施例中,对拦截到的消息进行过滤,对Enter、Leave消息放行,只保留可能对文件进行操作的Drop、Finished。
步骤S250、对事件函数进行拦截,获取所述鼠标当前停留的目标窗口。
拦截事件函数的消息,从中获取鼠标的轨迹相关信息,结合这一信息判断顺便鼠标当前停留的窗口。
步骤S260、依据所述句柄和所述目标窗口,确定所述鼠标的操作是否合法。
得到窗口获取函数获取的句柄和事件函数获取的目标窗口后进行判断,判断目标窗口对句柄所代表的的内容(如某一文件、某一程序)进行获取,是否满足系统的密级及密文使用权限策略,如果不满足,则当前鼠标的操作为非法操作。
步骤S270、当所述鼠标的操作为非法时,拦截属性获取函数,以禁止所述目标窗口获取所述操作对象的数据;将所述鼠标的操作的来源数据清空,同时将所述目标窗口上鼠标的状态设置为禁用状态。
若鼠标当前停留的窗体时禁止拖拽来接收数据时,则所述鼠标的操作为非法时,应当拦截属性获取函数,禁止窗体获取待拖拽的数据,并将本次鼠标拖拽的来源数据的内容在内存中清空,同时将当前目标窗体上鼠标的状态设置为禁止拖拽图标状态。
步骤S280、当所述鼠标的操作为合法时,将所述指定消息传递至所述目标窗口中;
其中,所述目标窗口用于通过所述属性获取函数获取所述操作对象的数据,并将获取到的数据显示到对应的界面上。
若当前窗体时允许拖拽接收数据时,则鼠标操作合法,将从窗口获取函数中拦截得到消息如Drop、Finished传递至目标窗口。
当目标窗体获取到鼠标拖拽的Drop/Finished消息后,通过属性获取函数,获取待拖拽的数据,并将获取到的拖拽数据显示到对应的界面上。
基于同一发明构思,本申请一实施例提供一种鼠标控制装置。参考图3,图3是本申请一实施例提出的鼠标控制装置的示意图。如图3所示,该装置包括:
窗口获取函数拦截模块310,用于对窗口获取函数进行拦截,获取鼠标的操作对象的句柄;
事件函数拦截模块320,用于对事件函数进行拦截,获取所述鼠标当前停留的目标窗口;
确定模块330,用于依据所述句柄和所述目标窗口,确定所述鼠标的操作是否合法;
属性获取函数拦截模块340,用于当所述鼠标的操作为非法时,拦截属性获取函数,以禁止所述目标窗口获取所述操作对象的数据。
可选的,所述属性获取函数拦截模块还包括:
设置子模块,用于将所述鼠标的操作的来源数据清空,同时将所述目标窗口上鼠标的状态设置为禁用状态。
可选的,所述窗口获取函数拦截模块,还用于拦截所述窗口获取函数中指定消息,所述指定消息包括:Enter、Leave、Drop、Finished。
基于同一发明构思,本申请另一实施例提供一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请上述任一实施例所述的鼠标控制方法。
基于同一发明构思,本申请另一实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本申请上述任一实施例所述的鼠标控制方法。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种鼠标控制方法、装置、设备及存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种鼠标控制方法,其特征在于,所述方法包括:
对窗口获取函数进行拦截,获取鼠标的操作对象的句柄;
对事件函数进行拦截,获取所述鼠标当前停留的目标窗口;
依据所述句柄和所述目标窗口,确定所述鼠标的操作是否合法;
当所述鼠标的操作为非法时,拦截属性获取函数,以禁止所述目标窗口获取所述操作对象的数据。
2.根据权利要求1所述方法,其特征在于,所述方法还包括:
将所述鼠标的操作的来源数据清空,同时将所述目标窗口上鼠标的状态设置为禁用状态。
3.根据权利要求1所述方法,其特征在于,所述对窗口获取函数进行拦截,包括:
对进程内部空间中的所述窗口获取函数进行Hook操作,以对所述窗口获取函数进行拦截;
所述对事件函数进行拦截,包括:
对所述进程内部空间中的所述事件函数进行Hook操作,以对所述事件函数进行拦截;
所述拦截属性获取函数,包括:
对所述进程内部空间中的所述属性获取函数进行Hook操作,以对所述属性获取函数进行拦截。
4.根据权利要求1所述方法,其特征在于,所述对窗口获取函数进行拦截,包括:
对所述窗口获取函数中指定消息进行拦截,所述指定消息包括:Enter、Leave、Drop、Finished。
5.根据权利要求4所述方法,其特征在于,所述方法还包括:
当所述鼠标的操作为合法时,将所述指定消息传递至所述目标窗口中;
其中,所述目标窗口用于通过所述属性获取函数获取所述操作对象的数据,并将获取到的数据显示到对应的界面上。
6.一种鼠标控制装置,其特征在于,所述装置包括:
窗口获取函数拦截模块,用于对窗口获取函数进行拦截,获取鼠标的操作对象的句柄;
事件函数拦截模块,用于对事件函数进行拦截,获取所述鼠标当前停留的目标窗口;
确定模块,用于依据所述句柄和所述目标窗口,确定所述鼠标的操作是否合法;
属性获取函数拦截模块,用于当所述鼠标的操作为非法时,拦截属性获取函数,以禁止所述目标窗口获取所述操作对象的数据。
7.根据权利要求6所述装置,其特征在于,所述属性获取函数拦截模块还包括:
设置子模块,用于将所述鼠标的操作的来源数据清空,同时将所述目标窗口上鼠标的状态设置为禁用状态。
8.根据权利要求6所述装置,其特征在于,所述窗口获取函数拦截模块,还用于对所述窗口获取函数中指定消息进行拦截,所述指定消息包括:Enter、Leave、Drop、Finished。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时,实现如权利要求1至5中任一所述的方法。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现如权利要求1至5中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111314075.3A CN114089849A (zh) | 2021-11-08 | 2021-11-08 | 鼠标控制方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111314075.3A CN114089849A (zh) | 2021-11-08 | 2021-11-08 | 鼠标控制方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114089849A true CN114089849A (zh) | 2022-02-25 |
Family
ID=80299193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111314075.3A Pending CN114089849A (zh) | 2021-11-08 | 2021-11-08 | 鼠标控制方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114089849A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030042292A (ko) * | 2001-11-22 | 2003-05-28 | 주식회사 토탈시큐리티 | 메시지 가로채기를 이용한 응용 프로그램에 대한 보안 방법 |
CN105468674A (zh) * | 2015-11-12 | 2016-04-06 | 珠海市君天电子科技有限公司 | 窗口拦截方法、装置和终端设备 |
CN105844158A (zh) * | 2016-04-27 | 2016-08-10 | 北京金山安全软件有限公司 | 一种保护窗口的方法、装置和电子设备 |
CN105989268A (zh) * | 2015-03-02 | 2016-10-05 | 苏宁云商集团股份有限公司 | 一种人机识别的安全访问方法和系统 |
CN106649417A (zh) * | 2015-11-04 | 2017-05-10 | 珠海市君天电子科技有限公司 | 一种窗口拦截方法及装置 |
CN110808995A (zh) * | 2019-11-08 | 2020-02-18 | 中国工商银行股份有限公司 | 安全防护方法和装置 |
CN111209573A (zh) * | 2018-11-21 | 2020-05-29 | 中标软件有限公司 | 一种基于鼠标位移轨迹的访问请求安全感知方法 |
CN113010416A (zh) * | 2021-02-26 | 2021-06-22 | 中国工商银行股份有限公司 | 银行柜面交易自动化测试方法及装置 |
-
2021
- 2021-11-08 CN CN202111314075.3A patent/CN114089849A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030042292A (ko) * | 2001-11-22 | 2003-05-28 | 주식회사 토탈시큐리티 | 메시지 가로채기를 이용한 응용 프로그램에 대한 보안 방법 |
CN105989268A (zh) * | 2015-03-02 | 2016-10-05 | 苏宁云商集团股份有限公司 | 一种人机识别的安全访问方法和系统 |
CN106649417A (zh) * | 2015-11-04 | 2017-05-10 | 珠海市君天电子科技有限公司 | 一种窗口拦截方法及装置 |
CN105468674A (zh) * | 2015-11-12 | 2016-04-06 | 珠海市君天电子科技有限公司 | 窗口拦截方法、装置和终端设备 |
CN105844158A (zh) * | 2016-04-27 | 2016-08-10 | 北京金山安全软件有限公司 | 一种保护窗口的方法、装置和电子设备 |
CN111209573A (zh) * | 2018-11-21 | 2020-05-29 | 中标软件有限公司 | 一种基于鼠标位移轨迹的访问请求安全感知方法 |
CN110808995A (zh) * | 2019-11-08 | 2020-02-18 | 中国工商银行股份有限公司 | 安全防护方法和装置 |
CN113010416A (zh) * | 2021-02-26 | 2021-06-22 | 中国工商银行股份有限公司 | 银行柜面交易自动化测试方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8196100B2 (en) | Content management system for computer software with dynamic traceability between code and design documents | |
WO2016033966A1 (zh) | 应用数据的保护方法及装置 | |
CN109923547B (zh) | 程序行为监控设备、分布式对象生成管理设备、存储介质、以及程序行为监视系统 | |
US20200342008A1 (en) | System for lightweight objects | |
JP2011510417A (ja) | プロセス分離実行を通じたdrmクライアント衝突防止システム及び方法 | |
CN103023704B (zh) | 虚拟网络服务设备接入方法及系统 | |
CN112257037B (zh) | 一种进程水印方法、系统及电子设备 | |
CN105447384B (zh) | 一种反监控的方法、系统及移动终端 | |
EP4254240A2 (en) | Methods and systems to identify a compromised device through active testing | |
CN112000971A (zh) | 一种文件权限记录方法、系统及相关装置 | |
CN114089849A (zh) | 鼠标控制方法、装置、设备及存储介质 | |
US9009731B2 (en) | Conversion of lightweight object to a heavyweight object | |
JP5828457B2 (ja) | Api実行制御装置およびプログラム | |
CN112597492B (zh) | 一种基于Windows内核的二进制可执行文件更改监测方法 | |
CN114996955A (zh) | 一种云原生混沌工程实验的靶场环境构建方法及装置 | |
Mutia | Inter-Process Communication Mechanism in Monolithic Kernel and Microkernel | |
CN117348951B (zh) | 应用于linux内核的容器感知装置和容器感知方法 | |
CN104808985B (zh) | 应用程序中对象的管理方法及装置 | |
CN115080355B (zh) | 一种监控日志的生成方法及装置 | |
CN111159703B (zh) | 虚拟机数据泄露检测方法及装置 | |
US11954203B2 (en) | Methods and systems for identifying a compromised device through its unmanaged profile | |
CN113032059B (zh) | 用于在用户界面显示设备信息的方法及相关装置 | |
CN111159704B (zh) | 虚拟内存数据泄露检测方法及装置 | |
US20210049287A1 (en) | Methods and systems for identifying compromised devices from file tree structure | |
US20210051156A1 (en) | Methods and systems for identifying a compromised device through its managed profile |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |