一种游戏数据安全加密方法及设备技术

技术编号:38212962 阅读:10 留言:0更新日期:2023-07-25 11:21
本发明专利技术涉及数据处理技术领域,公开了一种游戏数据安全加密方法及设备,包括如下步骤:S1,在用户登录时判断设备操作系统是否被破解,如破解,标记用户,未破解,进行下一步;S2,登录后游戏每帧绘制循环中,检测用户是否修改或扩展游戏数据,如是,标记用户,如否,进行下一步;S3,每一轮游戏结束更新内存加密传入参数,并采用更新后的传入参数对内存数据混淆;该方法可以防止破解者静态分析查找函数名或变量名;防止破解者查找关键字符串;保证内存数据呈现方式不同、无规律,防止了破解者找数据存储规律;可以防止系统函数被fishhook掉,即使破解者添加断点,也不能断住,从而阻断破解者静态分析代码和动态调试代码,保护游戏数据的安全性。据的安全性。据的安全性。

【技术实现步骤摘要】
一种游戏数据安全加密方法及设备


[0001]本专利技术涉及数据处理
,具体涉及一种游戏数据安全加密方法及设备。

技术介绍

[0002]随着技术的不断发展,手机游戏的种类越来越多,数量越来越大,手机游戏的受众群体随之越来越多,同时针对手游的破解手段也越来越丰富,现有的游戏代码和数据大多对内存数据进行对称加密,破解者仅需通过代码静态分析或动态调试找到游戏算法实现部分,就可制作破解游戏数据软件,破解软件的实用使得普通游戏用户体验感差。

技术实现思路

[0003]针对现有技术存在的不足,本专利技术的目的在于提供一种游戏数据安全加密方法及设备。
[0004]为了实现上述目的,本专利技术提供如下技术方案:
[0005]一种游戏数据安全加密方法,包括如下步骤:
[0006]S1,在用户登录时判断设备操作系统是否被破解,如破解,标记用户,未破解,进行下一步;
[0007]S2,登录后游戏每帧绘制循环中,检测用户是否修改或扩展游戏数据,如是,标记用户,如否,进行下一步;
[0008]S3,每一轮游戏结束更新内存加密传入参数,并采用更新后的传入参数对内存数据混淆。
[0009]在本专利技术中,优选的,还包括步骤S0,提取游戏数据中的关键函数名和变量名,通过MD5计算和左移位运算,映射成无可读性字符串;同时提取游戏数据中的关键字符串,转换成新数组保存,在运行时对新数组反向解析成原字符串。
[0010]在本专利技术中,优选的,对关键字符串先转化成uint32_t类型数组,对数组中的每个字符,进行移位和与操作,然后组成新数组保存。
[0011]在本专利技术中,优选的,在步骤S1中,收集操作系统的汇编指令集,与原系统汇编指令对比,以判断操作系统是否被破解更改。
[0012]在本专利技术中,优选的,在步骤S1和步骤S2中,标记用户是通过将该用户设备上报服务器,服务器进行标记,后续不再处理这台设备发送的数据交互请求,使用户对标记无感知。
[0013]在本专利技术中,优选的,在步骤S2中,游戏每帧绘制循环由mainloop函数实现,在mainloop函数中增加调用syscall系统函数步骤,syscall系统函数用于检测游戏数据中的函数调用、消息传递、事件传递是否被拦截、修改或扩展。
[0014]在本专利技术中,优选的,在步骤S3中,每一轮游戏结束后会生成新的游戏数据,以及内存加密传入参数,依据内存传入参数对游戏数据中使用的货币数据进行移位以及异或操作。
[0015]在本专利技术中,优选的,在步骤S3中,同时游戏内界面展示的数据依传入参数进行对称加密,并实时通过对称函数解密出来作为界面数据进行展示。
[0016]在本专利技术中,优选的,步骤S0还包括采用静态编译器的代码混淆,加大静态分析代码难度。
[0017]一种游戏数据安全加密设备,包括存储器和处理器,所述存储器存储有后台程序,所述后台程序被所述处理器执行时,使得所述处理器执行所述游戏数据安全加密方法的步骤。
[0018]与现有技术相比,本专利技术的有益效果是:
[0019]本专利技术的方法通过替换关键函数和变量名,防止破解者静态分析查找函数名或变量名;通过对关键字符转换,防止破解者查找关键字符串;通过检测系统以及游戏是否被破解,针对破解停止服务,避免对其他用户的影响;通过对内存数据加密,并实时更新加密传入参数,保证内存数据呈现方式不同、无规律,防止了破解者找数据存储规律,并通过使用汇编指令调用系统函数,可以防止系统函数被fishhook掉,即使破解者添加断点,也不能断住,从而阻断破解者静态分析代码和动态调试代码,保护游戏数据的安全性。
附图说明
[0020]图1为本专利技术所述的一种游戏数据安全加密方法流程框图。
具体实施方式
[0021]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0022]需要说明的是,当组件被称为“固定于”另一个组件,它可以直接在另一个组件上或者也可以存在居中的组件。当一个组件被认为是“连接”另一个组件,它可以是直接连接到另一个组件或者可能同时存在居中组件。当一个组件被认为是“设置于”另一个组件,它可以是直接设置在另一个组件上或者可能同时存在居中组件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的。
[0023]除非另有定义,本文所使用的所有的技术和科学术语与属于本专利技术的
的技术人员通常理解的含义相同。本文中在本专利技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本专利技术。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
[0024]请参见图1,本专利技术一较佳实施方式提供一种游戏数据安全加密方法,包括如下步骤:S1,在用户登录时判断设备操作系统是否被破解,如破解,标记用户,未破解,进行下一步;S2,登录后游戏每帧绘制循环中,检测用户是否修改或扩展游戏数据,如是,标记用户,如否,进行下一步;S3,每一轮游戏结束更新内存加密传入参数,并采用更新后的传入参数对内存数据混淆,通过隐藏关键字符串,函数名以及变量名等,防止破解者分析查找,并判断手机或游戏是否被破解,破解则停止对该设备请求,避免其对其他游戏者的干扰,同时数据混淆,保证内存数据无规律,阻断破解者静态分析代码和动态调试代码,保证游戏数据安
全性,避免被破解。
[0025]在本实施方式中,还包括步骤S0,提取游戏数据中的关键函数名和变量名,通过MD5计算和左移位运算,映射成无可读性字符串,从而防止破解者静态分析查找函数名或变量名;同时提取游戏数据中的关键字符串,转换成新数组保存,在运行时对新数组反向解析成原字符串,以防止破解者静态分析查找关键字符串。
[0026]具体的,对关键字符串先转化成uint32_t类型数组,对数组中的每个字符,进行移位和与操作,然后组成新数组保存。
[0027]在本实施方式中,在步骤S1中,采用汇编指令和OC/JAVA代码反射调用机制,收集操作系统的汇编指令集,与原系统汇编指令对比,以判断操作系统是否被破解更改。
[0028]在本实施方式中,在步骤S1和步骤S2中,标记用户是通过将该用户设备上报服务器,服务器进行标记,后续不再处理这台设备发送的数据交互请求,使用户对标记无感知,误认为是服务器出问题。
[0029]在本实施方式中,在步骤S2中,游戏主循环中每帧渲染画面,为1s刷新60帧,游戏每帧绘制循环由mainloop函数实现,在mainloop函数中增加调用syscall系统函数步骤,syscall系统函数用于检测游戏数据中的函数调用、消息传递、事件传递是否被拦截、修改或扩展,这样使得游戏运行的每一次都会检查游戏是否被破解。
...

【技术保护点】

【技术特征摘要】
1.一种游戏数据安全加密方法,其特征在于,包括如下步骤:S1,在用户登录时判断设备操作系统是否被破解,如破解,标记用户,未破解,进行下一步;S2,登录后游戏每帧绘制循环中,检测用户是否修改或扩展游戏数据,如是,标记用户,如否,进行下一步;S3,每一轮游戏结束更新内存加密传入参数,并采用更新后的传入参数对内存数据混淆。2.根据权利要求1所述的一种游戏数据安全加密方法,其特征在于,还包括步骤S0,提取游戏数据中的关键函数名和变量名,通过MD5计算和左移位运算,映射成无可读性字符串;同时提取游戏数据中的关键字符串,转换成新数组保存,在运行时对新数组反向解析成原字符串。3.根据权利要求2所述的一种游戏数据安全加密方法,其特征在于,对关键字符串先转化成uint32_t类型数组,对数组中的每个字符,进行移位和与操作,然后组成新数组保存。4.根据权利要求1所述的一种游戏数据安全加密方法,其特征在于,在步骤S1中,收集操作系统的汇编指令集,与原系统汇编指令对比,以判断操作系统是否被破解更改。5.根据权利要求1所述的一种游戏数据安全加密方法,其特征在于,在步骤S1和步骤S2中,标记用户是通过将该用户设备上报服务器,服务器进行标记,后续不再处理...

【专利技术属性】
技术研发人员:陈松孙冶王通
申请(专利权)人:大鱼竞技北京网络科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1