CN113138910A - 一种输入数据获取方法、装置及介质 - Google Patents

一种输入数据获取方法、装置及介质 Download PDF

Info

Publication number
CN113138910A
CN113138910A CN202110441348.4A CN202110441348A CN113138910A CN 113138910 A CN113138910 A CN 113138910A CN 202110441348 A CN202110441348 A CN 202110441348A CN 113138910 A CN113138910 A CN 113138910A
Authority
CN
China
Prior art keywords
function
screen
input data
target
character
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.)
Granted
Application number
CN202110441348.4A
Other languages
English (en)
Other versions
CN113138910B (zh
Inventor
白智毅
范渊
吴卓群
王欣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Dbappsecurity Technology Co Ltd
Original Assignee
Hangzhou Dbappsecurity Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Dbappsecurity Technology Co Ltd filed Critical Hangzhou Dbappsecurity Technology Co Ltd
Priority to CN202110441348.4A priority Critical patent/CN113138910B/zh
Publication of CN113138910A publication Critical patent/CN113138910A/zh
Application granted granted Critical
Publication of CN113138910B publication Critical patent/CN113138910B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请公开了一种输入数据获取方法、装置及介质,其中方法包括,预先构建各文字编码与各文字的对应关系并基于上屏函数建立捕获函数,在上屏函数执行输入数据上屏操作时,通过捕获函数获取上屏函数包含的与输入数据对应的目标文字编码,并根据对应关系确定目标文字编码对应的目标文字。由于上屏函数是将与输入数据对应的文字编码显示至屏幕上,因此基于上屏函数建立的捕获函数能够准确的获取上屏函数中包含的文字编码,即捕获函数能够直接获取用户输入的文字,避免了获取用户输入文字对应按键信息时产生的文字歧义,提高了输入数据获取的准确性,从而提高了信息收集能力。

Description

一种输入数据获取方法、装置及介质
技术领域
本申请涉及网络空间安全领域,特别是涉及一种输入数据获取方法、装置及介质。
背景技术
随着网络的日益发展,信息收集已成为网络空间安全领域不可或缺的一部分。目前,获取用户通过输入法输入的数据,通常是基于消息钩子(例如Windows消息钩子)或者基于内核层键盘过滤的方式、获取键盘的按键信息,即现有的输入数据获取方法只能根据按键信息获取一个个字母、数字等,无法直观的获取输入数据的文字内容,例如当用户通过拼音输入中文时,只能获取中文对应的拼音字母,而中文又经常存在同音字、多音字的现象,使得现有的获取方法无法准确的获取用户输入数据,降低了输入数据获取的准确性,从而降低了信息收集能力。
由此可见,如何提高输入数据获取的准确性、从而提高信息收集能力是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种输入数据获取方法,用以提高输入数据获取的准确性,从而提高信息收集能力。本申请的目的是还提供一种输入数据获取装置及介质。
为解决上述技术问题,本申请提供一种输入数据获取方法,包括:
预先构建各文字编码与各文字的对应关系;
根据上屏函数建立捕获函数;
在所述上屏函数执行输入数据上屏操作的情况下,通过所述捕获函数获取所述上屏函数包含的、与所述输入数据对应的目标文字编码;
根据所述对应关系确定所述目标文字编码对应的目标文字;
其中,所述上屏函数具体为实现显示所述输入数据的函数,所述上屏操作具体为显示所述输入数据的指令操作。
优选的,所述在所述上屏函数执行输入数据上屏操作的情况下,通过所述捕获函数获取所述上屏函数包含的、与所述输入数据对应的目标文字编码,具体包括:
根据所述上屏函数建立包含有所述捕获函数和所述上屏函数的上下文环境数据的汇编函数;
建立与所述汇编函数对应的跳转指令;
将所述跳转指令插入所述上屏函数;
在所述上屏函数执行所述输入数据进行所述上屏操作的情况下,通过所述跳转指令使得所述汇编函数调用所述捕获函数,以便于所述捕获函数获取所述目标文字编码;
在所述捕获函数获取结束的情况下,通过所述汇编函数及所述上下文环境数据使得所述上屏函数继续完成所述上屏操作。
优选的,所述将所述跳转指令插入所述上屏函数,具体为:
获取所述上屏函数的地址;
根据所述地址插入所述跳转指令。
优选的,所述上屏函数具体为:ImmGetCompositionStringW或CRange::SetText。
优选的,在所述上屏函数为所述ImmGetCompositionStringW时,所述获取所述上屏函数的地址具体为:
获取与所述ImmGetCompositionStringW对应DLL句柄;
根据所述DLL句柄获取所述ImmGetCompositionStringW的地址。
优选的,在所述上屏函数为所述CRange::SetText时,所述获取所述上屏函数的地址具体为:
通过搜索特征码方法获取所述CRange::SetText的地址。
优选的,所述根据所述对应关系确定所述目标文字编码对应的目标文字前,还包括:
根据文字类别对所述对应关系进行分类;
获取各所述类别对应的文字编码范围;
获取所述目标文字编码的目标文字编码范围;
则所述根据所述对应关系确定所述目标文字编码对应的目标文字,具体为:
在所述目标文字编码范围与目标类别对应的文字编码范围匹配的情况下,根据所述目标类别对应的目标对应关系确定所述目标文字。
为解决上述技术问题,本申请还提供一种输入数据获取装置,包括:
构建模块,用于预先构建各文字编码与各文字的对应关系;
第一建立模块,用于根据上屏函数建立捕获函数;
第一获取模块,用于在所述上屏函数执行输入数据上屏操作的情况下,通过所述捕获函数获取所述上屏函数包含的、与所述输入数据对应的目标文字编码;
第一确定模块,用于根据所述对应关系确定所述目标文字编码对应的目标文字;
其中,所述上屏函数具体为实现显示所述输入数据的函数,所述上屏操作具体为显示所述输入数据的指令操作。
为解决上述技术问题,本申请还提供一种输入数据获取装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述的输入数据获取方法的步骤。
为解决上述技术问题,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的输入数据获取方法的步骤。
本申请所提供的输入数据获取方法,预先构建各文字编码与各文字的对应关系并基于上屏函数建立捕获函数,在上屏函数执行输入数据上屏操作时,通过捕获函数获取上屏函数包含的与输入数据对应的目标文字编码,并根据对应关系确定目标文字编码对应的目标文字。由于上屏函数是将与输入数据对应的文字编码显示至屏幕上,因此基于上屏函数建立的捕获函数能够准确的获取上屏函数中包含的文字编码,即捕获函数能够直接获取用户输入的文字,避免了获取用户输入文字对应按键信息时产生的文字歧义,提高了输入数据获取的准确性,从而提高了信息收集能力。
此外,本申请提供的一种输入数据获取装置及介质,与上述输入数据获取方法对应,效果同上。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种输入数据获取方法的流程图;
图2为本申请实施例提供的一种通过捕获函数获取目标文字编码的流程图;
图3为本申请实施例提供的一种输入数据获取装置的结构示意图;
图4为本申请实施例提供的另一种输入数据获取装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种输入数据获取方法,用以提高输入数据获取的准确性,从而提高信息收集能力。本申请的核心是还提供一种输入数据获取装置及介质。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的一种输入数据获取方法的流程图。如图1所示,该方法包括:
S10:预先构建各文字编码与各文字的对应关系。
本申请实施例中,各文字编码与各文字的对应关系可以是通用的对应关系,可以是由用户或者厂商自主设定的对应关系。由于在各文字编码与各文字的对应关系是由用户或者厂商自主设定的对应关系时,需要将用户使用的输入法进行相应的改变,以保证最终获取的目标文字与用户通过输入法输入数据的文字内容相匹配,因此在具体实施中,为了保证本申请提供的输入数据获取方法能够兼容不同的输入法、应用软件等,各文字编码与各文字的对应关系是通用的对应关系。
需要说明的是,各文字编码与各文字的对应关系不仅仅只局限于中文文字与其文字编码的对应关系,还可以是日文文字与其文字编码的对应关系,也可以是俄文文字与其文字编码的对应关系。可以理解的是,中文、日文以及俄文仅为各文字编码与各文字的对应关系的三种表现形式,不代表仅有这三种表现形式。
S11:根据上屏函数建立捕获函数。
本申请实施例中,S11具体为获取上屏函数的调用约定、返回值类型,根据上述调用约定和返回值类型建立捕获函数,以便于利用捕获函数获取上屏函数中参数包含的文字编码。
为了提高输入数据获取方法适用的广泛性,作为优选的实施例,上屏函数包括:ImmGetCompositionStringW或CRange::SetText。
需要说明的是,目前大部分输入法均是基于输入法管理器(Input MethodManager,IMM)或文本服务框架(Text Service Framework,TSF)构成的,因此上屏函数包含IMM对应的ImmGetCompositionStringW和TSF对应的CRange::SetText。
可以理解的是,当基于其它架构构成的输入法时,可以获取其架构用于实现显示输入数据的函数作为上屏函数。
为了方便本领域技术人员理解获取上屏函数的方法,下面将通过IMM和TSF进行具体说明。
1)IMM的上屏函数
确定IMM上屏函数方法包括:一、通过阅读官方文档以及相关参考资料,阅读IMM框架中包含的函数的相关功能,进而获取上屏函数。二、应用程序接口(Application ProgramInterface,API)过滤法:使用调试器打开以IMM框架为输入基础的应用软件(例如:记事本),利用调试器对IMM32.dll中所有的导出函数下记录断点,在用户输入数据后,通过记录断电观察从用户输入拼音到选择文字再到上屏经过的函数,通过函数顺序的位置、名称以及参数意义确定上屏函数;其中记录断点用于记事本执行经过某一函数时将该函数名输出到调试器的日记中,以便于查看。
2)TSF的上屏函数
确定IMM上屏函数方法具体为数据追溯法:使用内存修改编辑工具(CheatEngine,CE)打开基于TSF框架为输入基础的应用软件(例如:写字本),在用户输入一个词语时,通过CE搜索该词语以获得包含有该词语的内存条目,再输入另一个词语后,再通过CE进行该词语的扫描,直至CE结果列表中剩下少数的内存条目,通过查看“是什么函数访问了这个内存条目”、对这些虚函数进行名字分析、查阅官方文档、过滤断点并通过调试器执行观察后,确定上屏函数。
需要说明的是,由于IMM属于函数式API的框架,TSF属于COM框架,因此函数式API的框架可采用上文确定IMM上屏函数方法确定上屏函数,COM框架可采用上文确定IMM上屏函数方法确定上屏函数。
S12:在上屏函数执行输入数据上屏操作的情况下,通过捕获函数获取上屏函数包含的、与输入数据对应的目标文字编码。
其中,上屏函数具体为实现显示输入数据的函数,上屏操作具体为显示输入数据的指令操作。
本申请实施例中,在上屏函数是ImmGetCompositionStringW的情况下,捕获函数通过获取ImmGetCompositionStringW中的第三个参数和第四个参数即可获得目标文字编码,其中ImmGetCompositionStringW的第三个参数为输入数据对应的文字编码、第四个参数为文字编码的长度;在上屏函数是CRange::SetText的情况下,捕获函数通过获取CRange::SetText中的第四个参数和第五个参数即可获得目标文字编码,其中CRange::SetText的第四个参数为输入数据对应的文字编码、第五个参数为文字编码的长度。
S13:根据对应关系确定目标文字编码对应的目标文字。
为了便于查看,作为优选的实施例,S13后,还包括:存储目标文字。
本申请实施例所提供的输入数据获取方法,预先构建各文字编码与各文字的对应关系并基于上屏函数建立捕获函数,在上屏函数执行输入数据上屏操作时,通过捕获函数获取上屏函数包含的与输入数据对应的目标文字编码,并根据对应关系确定目标文字编码对应的目标文字。由于上屏函数是将与输入数据对应的文字编码显示至屏幕上,因此基于上屏函数建立的捕获函数能够准确的获取上屏函数中包含的文字编码,即捕获函数能够直接获取用户输入的文字,避免了获取用户输入文字对应按键信息时产生的文字歧义,提高了输入数据获取的准确性,从而提高了信息收集能力。
图2为本申请实施例提供的一种通过捕获函数获取目标文字编码的流程图。如图2所示,在上述实施例的基础上,S12具体包括:
S20:根据上屏函数建立包含有捕获函数和上屏函数上下文环境数据的汇编函数。
需要说明的是,获取上屏函数的调用约定、返回值类型,根据上述调用约定和返回值类型建立包含有捕获函数和上屏函数上下文环境数据的汇编函数。
S21:建立与汇编函数对应的跳转指令。
S22:将跳转指令插入上屏函数。
作为优选的实施例,S22具体为:获取上屏函数的地址,根据地址插入跳转指令。
其中,在上屏函数为ImmGetCompositionStringW时,获取上屏函数的地址具体为:获取与ImmGetCompositionStringW对应的动态链接库(Dynamic Link Library,DLL)DLL句柄,根据DLL句柄获取ImmGetCompositionStringW的地址。
可以理解的是,当上屏函数为ImmGetCompositionStringW时,IMM架构的相关数据均位于IMM32.dll中,故通过获取IMM33.dll的句柄即可导出ImmGetCompositionStringW的地址。
在上屏函数是CRange::SetText时,获取上屏函数的地址具体为:通过搜索特征码方法获取CRange::SetText的地址。
需要说明的是,搜索特征码方法具体包括:一、利用系统API获取当前系统版本,根据与系统版本对应的特征码定位上屏函数。二、通过多个不同版本对应的多段式特征码,在至少两段特征码连续定位成功的情况下、确定定位到上屏函数。可以理解的是通过上述两种搜索特征码的方式能够兼容不同的系统版本,提高了本申请实施例提供的输入数据获取方法的普遍适用性。
S23:在上屏函数执行输入数据进行上屏操作的情况下,通过跳转指令使得汇编函数调用捕获函数,以便于捕获函数获取目标文字编码。
S24:在捕获函数获取结束的情况下,通过汇编函数及上屏函数上下文环境数据使得上屏函数继续完成上屏操作。
在具体实施中,插入的跳转指令可能会覆盖上屏函数的部分代码,为了保证上屏函数能够完成上屏操作,作为优选的实施例,还包括:申请一块新内存空间,将跳转指令覆盖地址对应的代码保存至新内存空间中,在捕获函数获取结束的情况下,通过上屏函数上下文环境数据和汇编函数跳转至新内存空间中执行上屏函数的部分代码,再跳转至上屏函数使得上屏函数继续完成上屏操作。
本申请实施例所提供的输入数据获取方法,由于在捕获函数获取目标文字编码的过程中,通过根据上屏函数建立包含有捕获函数和上屏函数上下文环境数据的汇编函数,能够在捕获函数获取目标文字后,使得上屏函数还能够实现原有的上屏功能,提高了输入数据获取方法的实用性。
在上述实施例的基础上,S13前,还包括:
根据文字类别对对应关系进行分类,获取各类别对应的文字编码范围,获取目标文字编码的目标文字编码范围,在目标文字编码范围与目标类别对应的文字编码范围匹配的情况下,根据目标类别对应的目标对应关系确定目标文字。
例如,基本汉字的文字编码范围为4E00至9FA5,日本平假名的文字编码范围为3040至309F。当目标文字编码范围与基本汉字的文字编码范围匹配时,则通过基本汉字的文字编码确定对应的汉字。
可以理解的是,在目标文字编码范围与目标类别对应的文字编码范围匹配的情况下,根据目标类别对应的目标对应关系确定目标文字,能够降低遍历所有类别文字编码后确定目标文字的速度,从而提高了输入数据获取的效率。
在上述实施例中,对于输入数据获取方法进行了详细描述,本申请还提供输入数据获取装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
图3为本申请实施例提供的一种输入数据获取装置的结构示意图。如图3所示,基于功能模块的角度,该装置包括:
构建模块10,用于预先构建各文字编码与各文字的对应关系。
第一建立模块11,用于根据上屏函数建立捕获函数。
第一获取模块12,用于在上屏函数执行输入数据上屏操作的情况下,通过捕获函数获取上屏函数包含的、与输入数据对应的目标文字编码。
第一确定模块13,用于根据对应关系确定目标文字编码对应的目标文字。
其中,上屏函数具体为实现显示输入数据的函数,上屏操作具体为显示输入数据的指令操作。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
作为优选的实施例,第一获取模块12具体包括:
第二建立模块,用于根据上屏函数建立包含有捕获函数和上屏函数的上下文环境数据的汇编函数。
第三建立模块,用于建立与汇编函数对应的跳转指令。
第一插入模块,用于将跳转指令插入上屏函数。
调用模块,用于在上屏函数执行输入数据进行上屏操作的情况下,通过跳转指令使得汇编函数调用捕获函数,以便于捕获函数获取目标文字编码。
跳转模块,用于在捕获函数获取结束的情况下,通过汇编函数及上下文环境数据使得上屏函数继续完成上屏操作。
插入模块具体包括:
第二获取模块,用于获取上屏函数的地址。
第二插入模块,用于根据地址插入跳转指令。
第二获取模块,包括:
第三获取模块,用于获取与ImmGetCompositionStringW对应的DLL句柄。
第四获取模块,用于根据DLL句柄获取ImmGetCompositionStringW的地址。
第二获取模块,包括:
第五获取模块,用于通过搜索特征码方法获取CRange::SetText的地址。
还包括:
分类模块,用于根据文字类别对对应关系进行分类。
第六获取模块,用于获取各类别对应的文字编码范围。
第七获取模块,用于获取目标文字编码的目标文字编码范围。
则第一确定模块13具体为:
第二确定模块,用于在目标文字编码范围与目标类别对应的文字编码范围匹配的情况下,根据目标类别对应的目标对应关系确定目标文字。
还包括:
存储模块,用于存储目标文字。
本申请实施例所提供的输入数据获取装置,预先构建各文字编码与各文字的对应关系并基于上屏函数建立捕获函数,在上屏函数执行输入数据上屏操作时,通过捕获函数获取上屏函数包含的与输入数据对应的目标文字编码,并根据对应关系确定目标文字编码对应的目标文字。由于上屏函数是将与输入数据对应的文字编码显示至屏幕上,因此基于上屏函数建立的捕获函数能够准确的获取上屏函数中包含的文字编码,即捕获函数能够直接获取用户输入的文字,避免了获取用户输入文字对应按键信息时产生的文字歧义,提高了输入数据获取的准确性,从而提高了信息收集能力。
图4为本申请实施例提供的另一种输入数据获取装置的结构示意图。如图4所示,基于硬件结构的角度,该装置包括:
存储器20,用于存储计算机程序;
处理器21,用于执行计算机程序时实现如上述实施例中输入数据获取方法的步骤。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序201被处理器21加载并执行之后,能够实现前述任一实施例公开的输入数据获取方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括Windows、Unix、Linux等。数据203可以包括但不限于输入数据获取方法中涉及的数据等。
在一些实施例中,输入数据获取装置还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图4中示出的结构并不构成对输入数据获取装置的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的输入数据获取装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:预先构建各文字编码与各文字的对应关系并基于上屏函数建立捕获函数,在上屏函数执行输入数据上屏操作时,通过捕获函数获取上屏函数包含的与输入数据对应的目标文字编码,并根据对应关系确定目标文字编码对应的目标文字。由于上屏函数是将与输入数据对应的文字编码显示至屏幕上,因此基于上屏函数建立的捕获函数能够准确的获取上屏函数中包含的文字编码,即捕获函数能够直接获取用户输入的文字,避免了获取用户输入文字对应按键信息时产生的文字歧义,提高了输入数据获取的准确性,从而提高了信息收集能力。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例提供的计算机可读存储介质,该介质上存储有计算机程序,计算机程序被处理器执行时,能够实现如下方法:预先构建各文字编码与各文字的对应关系并基于上屏函数建立捕获函数,在上屏函数执行输入数据上屏操作时,通过捕获函数获取上屏函数包含的与输入数据对应的目标文字编码,并根据对应关系确定目标文字编码对应的目标文字。由于上屏函数是将与输入数据对应的文字编码显示至屏幕上,因此基于上屏函数建立的捕获函数能够准确的获取上屏函数中包含的文字编码,即捕获函数能够直接获取用户输入的文字,避免了获取用户输入文字对应按键信息时产生的文字歧义,提高了输入数据获取的准确性,从而提高了信息收集能力。
以上对本申请所提供的一种输入数据获取方法、装置及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种输入数据获取方法,其特征在于,包括:
预先构建各文字编码与各文字的对应关系;
根据上屏函数建立捕获函数;
在所述上屏函数执行输入数据上屏操作的情况下,通过所述捕获函数获取所述上屏函数包含的、与所述输入数据对应的目标文字编码;
根据所述对应关系确定所述目标文字编码对应的目标文字;
其中,所述上屏函数具体为实现显示所述输入数据的函数,所述上屏操作具体为显示所述输入数据的指令操作。
2.根据权利要求1所述的输入数据获取方法,其特征在于,所述在所述上屏函数执行输入数据上屏操作的情况下,通过所述捕获函数获取所述上屏函数包含的、与所述输入数据对应的目标文字编码,具体包括:
根据所述上屏函数建立包含有所述捕获函数和所述上屏函数的上下文环境数据的汇编函数;
建立与所述汇编函数对应的跳转指令;
将所述跳转指令插入所述上屏函数;
在所述上屏函数执行所述输入数据进行所述上屏操作的情况下,通过所述跳转指令使得所述汇编函数调用所述捕获函数,以便于所述捕获函数获取所述目标文字编码;
在所述捕获函数获取结束的情况下,通过所述汇编函数及所述上下文环境数据使得所述上屏函数继续完成所述上屏操作。
3.根据权利要求2所述的输入数据获取方法,其特征在于,所述将所述跳转指令插入所述上屏函数,具体为:
获取所述上屏函数的地址;
根据所述地址插入所述跳转指令。
4.根据权利要求1至3任意一项所述的输入数据获取方法,其特征在于,所述上屏函数具体为:ImmGetCompositionStringW或CRange::SetText。
5.根据权利要求3所述的输入数据获取方法,其特征在于,在所述上屏函数为所述ImmGetCompositionStringW时,所述获取所述上屏函数的地址具体为:
获取与所述ImmGetCompositionStringW对应DLL句柄;
根据所述DLL句柄获取所述ImmGetCompositionStringW的地址。
6.根据权利要求3所述的输入数据获取方法,其特征在于,在所述上屏函数为所述CRange::SetText时,所述获取所述上屏函数的地址具体为:
通过搜索特征码方法获取所述CRange::SetText的地址。
7.根据权利要求1所述的输入数据获取方法,其特征在于,所述根据所述对应关系确定所述目标文字编码对应的目标文字前,还包括:
根据文字类别对所述对应关系进行分类;
获取各所述类别对应的文字编码范围;
获取所述目标文字编码的目标文字编码范围;
则所述根据所述对应关系确定所述目标文字编码对应的目标文字,具体为:
在所述目标文字编码范围与目标类别对应的文字编码范围匹配的情况下,根据所述目标类别对应的目标对应关系确定所述目标文字。
8.一种输入数据获取装置,其特征在于,包括:
构建模块,用于预先构建各文字编码与各文字的对应关系;
第一建立模块,用于根据上屏函数建立捕获函数;
第一获取模块,用于在所述上屏函数执行输入数据上屏操作的情况下,通过所述捕获函数获取所述上屏函数包含的、与所述输入数据对应的目标文字编码;
第一确定模块,用于根据所述对应关系确定所述目标文字编码对应的目标文字;
其中,所述上屏函数具体为实现显示所述输入数据的函数,所述上屏操作具体为显示所述输入数据的指令操作。
9.一种输入数据获取装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任意一项所述的输入数据获取方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任意一项所述的输入数据获取方法的步骤。
CN202110441348.4A 2021-04-23 2021-04-23 一种输入数据获取方法、装置及介质 Active CN113138910B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110441348.4A CN113138910B (zh) 2021-04-23 2021-04-23 一种输入数据获取方法、装置及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110441348.4A CN113138910B (zh) 2021-04-23 2021-04-23 一种输入数据获取方法、装置及介质

Publications (2)

Publication Number Publication Date
CN113138910A true CN113138910A (zh) 2021-07-20
CN113138910B CN113138910B (zh) 2023-08-08

Family

ID=76812468

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110441348.4A Active CN113138910B (zh) 2021-04-23 2021-04-23 一种输入数据获取方法、装置及介质

Country Status (1)

Country Link
CN (1) CN113138910B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101329615A (zh) * 2007-06-21 2008-12-24 刘艳萍 一种输入信息的显示方法及装置
CN101853089A (zh) * 2010-06-01 2010-10-06 深圳市蓝韵实业有限公司 一种医学检查报告辅助输入方法
CN105094362A (zh) * 2015-06-30 2015-11-25 百度在线网络技术(北京)有限公司 一种中文输入的方法和装置
WO2016107344A1 (zh) * 2014-12-30 2016-07-07 北京奇虎科技有限公司 对输入法的上屏候选项进行筛选的方法和装置
US20170147538A1 (en) * 2015-11-23 2017-05-25 Xiaomi Inc. Methods, devices, and computer-readable medium for input processing
CN107193391A (zh) * 2017-04-25 2017-09-22 北京百度网讯科技有限公司 一种上屏显示文本信息的方法和装置
CN107608532A (zh) * 2016-07-11 2018-01-19 北京搜狗科技发展有限公司 一种联想输入方法、装置及电子设备
US20200201535A1 (en) * 2017-06-14 2020-06-25 Zte Corporation Convenient operating method and terminal

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101329615A (zh) * 2007-06-21 2008-12-24 刘艳萍 一种输入信息的显示方法及装置
CN101853089A (zh) * 2010-06-01 2010-10-06 深圳市蓝韵实业有限公司 一种医学检查报告辅助输入方法
WO2016107344A1 (zh) * 2014-12-30 2016-07-07 北京奇虎科技有限公司 对输入法的上屏候选项进行筛选的方法和装置
CN105094362A (zh) * 2015-06-30 2015-11-25 百度在线网络技术(北京)有限公司 一种中文输入的方法和装置
US20170147538A1 (en) * 2015-11-23 2017-05-25 Xiaomi Inc. Methods, devices, and computer-readable medium for input processing
CN107608532A (zh) * 2016-07-11 2018-01-19 北京搜狗科技发展有限公司 一种联想输入方法、装置及电子设备
CN107193391A (zh) * 2017-04-25 2017-09-22 北京百度网讯科技有限公司 一种上屏显示文本信息的方法和装置
US20200201535A1 (en) * 2017-06-14 2020-06-25 Zte Corporation Convenient operating method and terminal

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CODERAIDRICH: "Inline hook ImmGetCompositionStringW获取中文输入", 《HTTPS://BLOG.CSDN.NET/CODERALDRICH/ARTICLE/DETAILS/43061953》 *
JAYKY: "关于HOOK截获中文输入 (日文、韩文也应该适用)", 《HTTPS://BLOG.CSDN.NET/JAYKY/ARTICLE/DETAILS/1388212》 *
周凯;: "一种Windows10中文用户输入痕迹信息提取方法研究与实现", 警察技术 *

Also Published As

Publication number Publication date
CN113138910B (zh) 2023-08-08

Similar Documents

Publication Publication Date Title
CN109828903B (zh) 自动化测试方法、装置、计算机装置及存储介质
US10929449B2 (en) Generating a structured document guiding view
CN106484266B (zh) 一种文本处理方法及装置
CN1517904B (zh) 墨水划分器及关联的应用编程接口
CN108427731B (zh) 页面代码的处理方法、装置、终端设备及介质
CN113741898B (zh) 表单生成方法、装置及设备
CN110221899B (zh) 一种用户界面的调节方法、装置及系统
CN110442515B (zh) 应用测试方法、装置、设备及可读存储介质
CN105959469B (zh) 短信的展示方法、展示装置及终端
CN110764680B (zh) 生成模拟键盘的方法、装置、电子设备及计算机可读介质
CN111694733A (zh) 一种软件开发工具包sdk的api测试方法以及测试装置
CN114116441A (zh) 一种ui界面测试方法、装置、电子设备及存储介质
CN105094562A (zh) 一种信息处理方法及终端
CN111460235A (zh) 图谱数据的处理方法、装置、设备及存储介质
CN111240962B (zh) 测试方法、装置、计算机设备及计算机存储介质
CN111142871A (zh) 一种前端页面开发系统、方法、设备、介质
CN113138910A (zh) 一种输入数据获取方法、装置及介质
CN110716866A (zh) 代码质量扫描方法、装置、计算机设备及存储介质
CN106844186B (zh) 应用的脱机测试方法及终端设备
CN115495362A (zh) 生成测试代码的方法、装置、存储介质及计算机设备
CN112835774B (zh) 显卡性能的可视化方法及装置、设备、计算机可读存储介质
CN114048174A (zh) Ofd文档处理方法、装置及电子设备
CN114706581A (zh) 图像分析方法、装置、计算机设备以及存储介质
CN109992514B (zh) 基于可视化内容的移动应用动态分析方法
CN113791860A (zh) 一种信息转换方法、装置和存储介质

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
GR01 Patent grant
GR01 Patent grant