一种在游戏直播中防止信息泄露的方法及装置与流程

文档序号:13812166阅读:898来源:国知局

本发明涉及信息处理技术领域,尤其涉及一种在游戏直播中防止信息泄露的方法及装置。



背景技术:

目前,随着网络通信技术的进步和宽带网络的提速,网络直播得到了越来越多的发展和应用。网络直播涉及的领域也越来越广泛,包括游戏、娱乐、体育等各个方面。特别是游戏直播,主播可以通过一边玩游戏一边讲解游戏的方法,吸引大量的观众进行观看。

目前,主播在进行有些直播时,观众可以看到主播的整个屏幕的所有操作,当主播在进行游戏直播过程中需要输入敏感信息时,例如游戏的某个关卡点或者节点需要输入密码信息时,由于游戏软件本身没有对用户密码进行保密或者隐藏的操作,那么此时观看游戏直播的观众可以看到主播输入的密码信息,从而使主播的信息泄露,安全性较低,存在盗号等风险。

可见,现有技术中游戏直播方法中由于信息容易泄露而导致的安全性较低的技术问题。



技术实现要素:

本发明提供一种在游戏直播中防止信息泄露的方法及装置,用以解决现有技术中游戏直播方法中由于信息容易泄露而导致的安全性较低的技术问题。

第一方面,本发明提供了一种在游戏直播中防止信息泄露的方法,包括:获取游戏进程中涉及敏感信息输入的显示函数以及响应函数,其中,所述响应函数用于对敏感信息的输入进行响应;在直播软件中创建功能模块;在所述游戏进程中创建远程线程,以使所述远程线程通过加载所述功能模块,将所述功能模块注入至游戏进程中;基于所述功能模块对所述响应函数进行处理,并对与所述响应函数相应的显示函数中的敏感信息进行替换。

可选地,所述获取游戏进程中涉及敏感信息输入的显示函数以及响应函数,包括:

对所述游戏进程进行逆向分析,查找游戏进程中涉及敏感信息输入的显示函数以及响应函数。

可选地,所述基于所述功能模块对所述响应函数进行处理,并对与所述响应函数相应的显示函数中的敏感信息进行替换,包括:

建立所述功能模块中的自定义函数与所述响应函数的关联;

基于所述关联,对所述响应函数进行处理;

分析与所述响应函数对应的显示函数,对所述显示函数中的敏感信息进行替换。

可选地,所述分析与所述响应函数对应的显示函数,对所述显示函数中的敏感信息进行替换,包括:

判断所述显示函数对应的当前输入字符是否为回退键;

如果所述当前输入字符为回退键,则删除前一个字符;

如果所述当前输入字符为回退键,则将所述当前输入字符替换为隐藏字符。

基于同样的发明构思,本发明第二方面提供了一种在游戏直播中防止信息泄露的装置,包括:

获取模块,用于获取游戏进程中涉及敏感信息输入的显示函数以及响应函数,其中,所述响应函数用于对敏感信息的输入进行响应;

第一创建模块,用于在直播软件中创建功能模块;

第二创建模块,用于在所述游戏进程中创建远程线程,以使所述远程线程通过加载所述功能模块,将所述功能模块注入至游戏进程中;

替换模块,用于基于所述功能模块对所述响应函数进行处理,并对与所述响应函数相应的显示函数中的敏感信息进行替换。

可选的,所述第一获取模块还用于:

对所述游戏进程进行逆向分析,查找游戏进程中涉及敏感信息输入的显示函数以及响应函数。

可选的,所述替换模块还用于:

建立所述功能模块中的自定义函数与所述响应函数的关联;

基于所述关联,对所述响应函数进行处理;

分析与所述响应函数对应的显示函数,对所述显示函数中的敏感信息进行替换。

可选的,所述替换模块还用于:

判断所述显示函数对应的当前输入字符是否为回退键;

如果所述当前输入字符为回退键,则删除前一个字符;

如果所述当前输入字符为回退键,则将所述当前输入字符替换为隐藏字符。

基于同样的发明构思,本发明第三方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:

获取游戏进程中涉及敏感信息输入的显示函数以及响应函数,其中,所述响应函数用于对敏感信息的输入进行响应;

在直播软件中创建功能模块;

在所述游戏进程中创建远程线程,以使所述远程线程通过加载所述功能模块,将所述功能模块注入至游戏进程中;

基于所述功能模块对所述响应函数进行处理,并对与所述响应函数相应的显示函数中的敏感信息进行替换。

基于同样的发明构思,本发明第四方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:

获取游戏进程中涉及敏感信息输入的显示函数以及响应函数,其中,所述响应函数用于对敏感信息的输入进行响应;

在直播软件中创建功能模块;

在所述游戏进程中创建远程线程,以使所述远程线程通过加载所述功能模块,将所述功能模块注入至游戏进程中;

基于所述功能模块对所述响应函数进行处理,并对与所述响应函数相应的显示函数中的敏感信息进行替换。

本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:

本发明实施例提供在游戏直播中防止信息泄露的方法,通过获取游戏进程中涉及敏感信息输入的显示函数以及响应函数;并在直播软件中创建功能模块;然后在所述游戏进程中创建远程线程,以使所述远程线程通过加载所述功能模块,将所述功能模块注入至游戏进程中;最后基于所述功能模块对所述响应函数进行处理,并对与所述响应函数相应的显示函数中的敏感信息进行替换。上述方法首先获取了游戏进程中敏感信息输入的显示函数以及响应函数,并通过游戏进程中创建的远程线程去加载直播软件中创建的功能模块,从而使功能模块注入到游戏进程,即建立了直播软件与游戏进程的联系,通过这种联系从而对游戏进程中字符显示进行控制,通过直播软件构建的功能模块对游戏进程中响应函数进行处理,并对与所述响应函数相应的显示函数中的敏感信息进行替换,从而避免游戏进程中涉及敏感信息的输入时的信息泄露的问题,故而提高了游戏直播的安全性,解决了现有技术中游戏直播方法中由于信息容易泄露而导致的安全性较低的技术问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中一种在游戏直播中防止信息泄露的方法的流程图;

图2为本发明实施例中一种在游戏直播中防止信息泄露的装置的结构图;

图3为本发明实施例中计算机可读存储介质的结构示意图;

图4为本发明实施例中计算机设备的结构示意图。

具体实施方式

本发明提供一种在游戏直播中防止信息泄露的方法及装置,用以解决现有技术中游戏直播方法中由于信息容易泄露而导致的安全性较低的技术问题。

本申请实施例中的技术方案,总体思路如下:

通过获取游戏进程中敏感信息输入的显示函数以及响应函数,并通过游戏进程中创建的远程线程去加载直播软件中创建的功能模块,从而使功能模块注入到游戏进程,即建立了直播软件与游戏进程的联系,通过这种联系从而对游戏进程中字符显示进行控制,通过直播软件构建的功能模块对游戏进程中响应函数进行处理,并对与所述响应函数相应的显示函数中的敏感信息进行替换,从而避免游戏进程中涉及敏感信息的输入时的信息泄露的问题,故而提高了游戏直播的安全性,解决了现有技术中游戏直播方法中由于信息容易泄露而导致的安全性较低的技术问题。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

本实施例提供了一种在游戏直播中防止信息泄露的方法,请参考图1,所述方法包括:

步骤s101:获取游戏进程中涉及敏感信息输入的显示函数以及响应函数,其中,所述响应函数用于对敏感信息的输入进行响应;

步骤s102:在直播软件中创建功能模块;

步骤s103:在所述游戏进程中创建远程线程,以使所述远程线程通过加载所述功能模块,将所述功能模块注入至游戏进程中;

步骤s104:基于所述功能模块对所述响应函数进行处理,并对与所述响应函数相应的显示函数中的敏感信息进行替换。

具体来说,在上述步骤s101中,敏感信息可以是游戏登录时输入的密码,或者是游戏的关卡或者节点中输入的密码,还可以是游戏过程中某些地方的二级密码。游戏进程适用于进行游戏的,在具体的实施过程中,可以通过以下几种方式确定该游戏哪个环节会涉及敏感信息的输入。

第一种,可以通过人工亲自体验玩该游戏,从而确定出游戏中涉及敏感信息输入的环节。

第二种,可以通过分析游戏中涉及敏感信息输入相关函数来进行确定。

作为一种优选方式,在确定出游戏中会涉及敏感信息的输入的环节后,可以对所述游戏进程进行逆向分析,查找游戏进程中涉及敏感信息输入的显示函数以及响应函数,进而获得涉及敏感信息输入的显示函数以及响应函数。

在具体的实施过程中,可以采用逆向工具、静态反编译工具proida和动态逆向调试工具windbg来对游戏进行调试分析,从而查找出其中输入控件显示字符的逻辑处理函数,并依据键盘响应事件来跟踪用户输入键盘时,与用户输入键盘对应的响应函数,然后通过响应函数可以确定用户对应的输入敏感信息的显示函数,上述显示函数是用来显示敏感信息的内容。由于用户输入的敏感信息通常是通过控件输入,因此上述显示函数也用来显示控件的内容,由于不同的显示函数和响应函数的位置相同,控件的id和控件显示的内容不相同。为了方便对敏感信息输入的不同控件进行管理与区分,可以通过逆向分析查找到控件的显示函数,查找敏感信息的控件的id,然后根据控件的id来对需要处理id对应的显示的字符进行处理,例如可以将显示的字符替换成“*”号或者其他符合,从而实现了对敏感信息的隐藏功能。

假设找到的一处铭感信息响应逻辑如下:

voidonshowkeyboardproc(intnid,intninput);

其中参数intnid则是用户当前的输入控件的id。

其中参数intninput则是用户当前的输入按键。

本文首先找到输入控件的显示函数后,接下来则需要查找游戏当中那些输入控件是敏感信息的输入,从而查找到对应的控件id,然后将所有需要进行敏感词替换的控件id记录下来。

在步骤s102中,可以在直播软件中,通过编写代码的方式创建一个功能模块,由于直播软件与游戏进程是两个独立的进程,因此为了实现直播软件与游戏进程之间的通信,则需要创建功能模块。

在创建功能模块之后,本发明实施例可以通过调用windows系统提供的api函数来将上述功能模块注入到与直播软件进程独立的游戏进程中。此时需要创建一个远程线程,该远程线程是直播软件进程在游戏进程中创建的一个线程,具体地可以通过windows系统api函数createremotethread(创建远程线程函数)来在游戏进程中创建一个远程线程,然后上述远程线程调用系统函数loadlibrary,从而加载需要注入到游戏进程的模块。这样一来,直播软件进程就可以通过远程线程加载功能模块,从而实现对游戏进程的控制。将功能模块注入到与直播软件进程独立的游戏进程中的具体实现过程如下:

首先,通过windowsapi函数virtualallocex函数在游戏进程的内存空间中分配内存。然后通过windowsapi函数writeprocessmemory来将创建的功能模块的磁盘路径写入到上述内存中,再调用windowsapi函数createremotethread函数来在游戏进程中创建一个远程线程,该远程线程的执行逻辑就是调用windowsapi函数loadlibrary来加载功能模块的磁盘路径,从而实现在游戏进程开启一个远程线程,通过该远程线程来加载功能模块,进而实现在戏进程注入一个功能模块的功能。

接下来,基于所述功能模块对所述响应函数进行处理,并对与所述响应函数相应的显示函数中的敏感信息进行替换。具体来说,由于直播软件进程需要通过功能模块来控制游戏进程中敏感信息的显示,那么该功能模块具有对游戏进程中响应函数的处理功能和替换字符的功能。

在上述方案中,基于所述功能模块对所述响应函数进行处理,并对与所述响应函数相应的显示函数中的敏感信息进行替换,包括:

建立所述功能模块中的自定义函数与所述响应函数的关联;

基于所述关联,对所述响应函数进行处理;

分析与所述响应函数对应的显示函数,对所述显示函数中的敏感信息进行替换。

具体来说,首先编写功能模块的自定函数,例如为控件响应函数,由于该空间响应函数是对游戏进程中的响应函数进行处理的,因而控件响应函数的参数已经返回值需要与游戏进程中的响应函数保持一致,在具体的实施过程中可以通过hook功能来建立功能模块中的自定义函数与所述响应函数的关联。

下面具体介绍hook功能,hook(钩子)是windows消息处理机制中的内容,应用程序可以通过钩子机制截获处理window消息或是其他一些特定事件。本发明中采用hook相关的工具可以对系统的任意函数或者代码进行hook,从而可以实现监控函数的执行,或者是修改函数的执行结果或者是中间结果等。hook原理是将需要hook的函数的汇编代码,修改成一处跳转指令,从原有指令处跳转到用户自定义的函数处,等待用户自定义的函数执行完成后,则再回复原先修改的指令,然后接着执行原先的指令,从而在原有的执行流程中加入了一段自定义的函数代码,从而实现了hook的功能。本发明可以采用微软提供的开源的hook功能库detours库。通过hook功能,功能模块可以对游戏进程中的响应函数进行处理;并分析与所述响应函数对应的显示函数,从而对所述显示函数中的敏感信息进行替换。

在介绍了hook的相关功能之后,本发明采用detours的hook工具对函数进行hook。首先调用detours的初始化接口:detourtransactionbegin();然后调用detous的hook功能来对游戏进程中的响应函数进行hook。detourattach(onshowkeyboardproc,myonshowkeyboardproc),其中,onshowkeyboardpro为游戏进程中响应函数代码,myonshowkeyboardproc为自定函数的代码,接下来调用detours的函数执行hook功能。detourtransactioncommit(),从而建立了所述功能模块中的自定义函数与所述响应函数的关联。

本发明实施中,自定义函数原型如下:voidmyonshowkeyboardproc(intnid,intninput),其中nid表示控件id,intninput表示输入的敏感信息,通过分析与所述响应函数对应的显示函数,对显示函数中的敏感信息进行替换,可以通过下述方法来实现:

判断所述显示函数对应的当前输入字符是否为回退键;

如果所述当前输入字符为回退键,则删除前一个字符;

如果所述当前输入字符为回退键,则将所述当前输入字符替换为隐藏字符。

为了方便区分各个控件,首先会对当前的控件的id进行判断,以判断当前的控件是否为步骤s101中显示敏感信息的控件,如果当前的控件不是显示敏感信息的控件则不进行处理,当前的控件是显示敏感信息的控件,则需要判断当前的输入字符是否是回退键,如果是回退键,则不对回退键进行隐藏,仍然保留原来的操作,即删除当前字符的前一个字符,如果当前字符不是回退键,则替换显示的字符。在具体的实施过程中,可以通过下述方法完成隐藏敏感信息的功能,防止了游戏直播过程中主播的敏感信息被泄漏,从而提高了游戏直播的安全性。

if(nid==敏感控件)//通过if语句判断当前空间id是否为敏感信息输入的控件id。

if(ninput==回退键)//如果当前字符为回退键则,删除一个显示的字符。

else//如果当前字符不为回退键,将当前的显示字符替换成一个“*”字符。

基于同样的发明构思,本发明还提供了与一种在游戏直播中防止信息泄露的方法相对应的装置,具体参见实施例二

实施例二

本发明实施例提供了一种在游戏直播中防止信息泄露的装置,请参见图2,该装置包括:

获取模块201,用于获取游戏进程中涉及敏感信息输入的显示函数以及响应函数,其中,所述响应函数用于对敏感信息的输入进行响应;

第一创建模块202,用于在直播软件中创建功能模块;

第二创建模块203,用于在所述游戏进程中创建远程线程,以使所述远程线程通过加载所述功能模块,将所述功能模块注入至游戏进程中;

替换模块204,用于基于所述功能模块对所述响应函数进行处理,并对与所述响应函数相应的显示函数中的敏感信息进行替换。

可选的,所述第一获取模块201还用于:对所述游戏进程进行逆向分析,查找游戏进程中涉及敏感信息输入的显示函数以及响应函数。

可选的,所述替换模块204还用于:

建立所述功能模块中的自定义函数与所述响应函数的关联;

基于所述关联,对所述响应函数进行处理;

分析与所述响应函数对应的显示函数,对所述显示函数中的敏感信息进行替换。

可选的,所述替换模块204还用于:

判断所述显示函数对应的当前输入字符是否为回退键;

如果所述当前输入字符为回退键,则删除前一个字符;

如果所述当前输入字符为回退键,则将所述当前输入字符替换为隐藏字符。

前述图1中实施例中的在游戏直播中防止信息泄露的方法的各种变化方式和具体实例同样适用于本实施例的装置,通过前述对在游戏直播中防止信息泄露的方法的详细描述,本领域技术人员可以清楚的知道本实施例中的装置,所以为了说明书的简洁,在此不再详述。

基于同样的发明构思,本发明还提供了与一种在游戏直播中防止信息泄露的方法相对应的计算机可读存储介质,具体参见实施例三。

实施例三

本发明实施例提供了一种计算机可读存储介质300,请参见图3,其上存储有计算机程序311,该程序被处理器执行时实现以下步骤:

获取游戏进程中涉及敏感信息输入的显示函数以及响应函数,其中,所述响应函数用于对敏感信息的输入进行响应;

在直播软件中创建功能模块;

在所述游戏进程中创建远程线程,以使所述远程线程通过加载所述功能模块,将所述功能模块注入至游戏进程中;

基于所述功能模块对所述响应函数进行处理,并对与所述响应函数相应的显示函数中的敏感信息进行替换。

前述图1中实施例中的在游戏直播中防止信息泄露的方法的各种变化方式和具体实例同样适用于本实施例的计算机可读存储介质,通过前述对在游戏直播中防止信息泄露的方法的详细描述,本领域技术人员可以清楚的知道本实施例中的计算机可读存储介质,所以为了说明书的简洁,在此不再详述。

基于同样的发明构思,本发明还提供了与一种在游戏直播中防止信息泄露的方法相对应的计算机设备,具体参见实施例四。

实施例四

本发明实施例提供了一种计算机设备,请参见图4,包括存储器401、处理器402及存储在存储器401上并可在处理器上运行的计算机程序403,所述处理器402执行所述程序时实现以下步骤:

获取游戏进程中涉及敏感信息输入的显示函数以及响应函数,其中,所述响应函数用于对敏感信息的输入进行响应;

在直播软件中创建功能模块;

在所述游戏进程中创建远程线程,以使所述远程线程通过加载所述功能模块,将所述功能模块注入至游戏进程中;

基于所述功能模块对所述响应函数进行处理,并对与所述响应函数相应的显示函数中的敏感信息进行替换。

前述图1中实施例中的在游戏直播中防止信息泄露的方法的各种变化方式和具体实例同样适用于本实施例的计算机设备,通过前述对在游戏直播中防止信息泄露的方法的详细描述,本领域技术人员可以清楚的知道本实施例中的计算机设备,所以为了说明书的简洁,在此不再详述。

本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:

本发明实施例提供在游戏直播中防止信息泄露的方法,通过获取游戏进程中涉及敏感信息输入的显示函数以及响应函数;并在直播软件中创建功能模块;然后在所述游戏进程中创建远程线程,以使所述远程线程通过加载所述功能模块,将所述功能模块注入至游戏进程中;最后基于所述功能模块对所述响应函数进行处理,并对与所述响应函数相应的显示函数中的敏感信息进行替换。上述方法首先获取了游戏进程中敏感信息输入的显示函数以及响应函数,并通过游戏进程中创建的远程线程去加载直播软件中创建的功能模块,从而使功能模块注入到游戏进程,即建立了直播软件与游戏进程的联系,通过这种联系从而对游戏进程中字符显示进行控制,通过直播软件构建的功能模块对游戏进程中响应函数进行处理,并对与所述响应函数相应的显示函数中的敏感信息进行替换,从而避免游戏进程中涉及敏感信息的输入时的信息泄露的问题,故而提高了游戏直播的安全性,解决了现有技术中游戏直播方法中由于信息容易泄露而导致的安全性较低的技术问题。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1