一种游戏文件包的代码混淆方法、系统及介质技术方案

技术编号:32883748 阅读:38 留言:0更新日期:2022-04-02 12:18
本发明专利技术公开了一种游戏文件包的代码混淆方法、系统及介质,所述方法包括以下步骤:设置文件目录类别、关键字基准、字符类别和字符数量;基于所述字符类别和所述字符数量配置文件混淆数组;设置游戏包数量基准,获取第一游戏包导出需求,基于所述游戏包数量基准和所述第一游戏包导出需求设定混淆需求;基于所述文件目录类别、所述关键字基准、所述文件混淆数组和所述混淆需求对所述第一游戏包执行代码混淆操作;本发明专利技术能够在不影响游戏包本身的数据内容的情况下,高效率的对游戏包中的易误审文件的文件信息进行混淆修改,进而防止在游戏包被导出IOS包后,被苹果官方误判。被苹果官方误判。被苹果官方误判。

【技术实现步骤摘要】
一种游戏文件包的代码混淆方法、系统及介质


[0001]本专利技术涉及游戏代码处理
,特别是涉及一种游戏文件包的代码混淆方法、系统及介质。

技术介绍

[0002]现有技术中,因开发游戏的引擎可能存在相同的情况,故生成的多个游戏包中C++的引擎文件会存在相同的情况;而因这些游戏包本身不存在安全问题,但会因为引擎文件相同的原因,使游戏包所导出的IOS包被苹果官方定义为马甲包,进而无法通过游戏资源的审核,影响游戏上线的进度;故需要研发一种高效且便捷的游戏包代码混淆方法,进而使相同引擎所开发游戏的游戏文件包可以不被误审为马甲包,进而防止游戏上线进度被影响。

技术实现思路

[0003]本专利技术的主要目的是,研发一种高效且便捷的游戏包代码混淆方法,进而使相同引擎所开发游戏的游戏文件包可以不被误审为马甲包,进而防止游戏上线进度被影响。
[0004]为解决上述技术问题,本专利技术采用的一个技术方案是:提供一种游戏文件包的代码混淆方法,包括以下步骤:初始配置步骤:设置文件目录类别、关键字基准、字符类别和字符数量;基于所述字符类别和所述字符数量配置文件混淆数组;混淆判断步骤:设置游戏包数量基准,获取第一游戏包导出需求,基于所述游戏包数量基准和所述第一游戏包导出需求设定混淆需求;文件混淆步骤:基于所述文件目录类别、所述关键字基准、所述文件混淆数组和所述混淆需求对所述第一游戏包执行代码混淆操作。
[0005]作为一种改进的方案,所述文件目录类别包括:第一目录类别和第二目录类别;所述第一目录类别为android目录类;所述第二目录类别为windows目录类;所述字符类别包括:第一字符类别、第二字符类别和第三字符类别;所述第一字符类别为数字类;所述第二字符类别为字母类;所述第三字符类别为符号类;所述字符数量包括:第一数量、第二数量和第三数量;所述第一数量为数字类数量;所述第二数量为字母类数量;所述第三数量为符号类数量;所述第一游戏包导出需求包括:第一需求和第二需求;所述第一需求为存在待导出的所述第一游戏包;所述第二需求为不存在待导出的所述第一游戏包。
[0006]作为一种改进的方案,所述基于所述字符类别和所述字符数量配置文件混淆数组的步骤进一步包括:创建空数组;配置字符样本库、随机数生成算法、随机字母生成算法和随机符号生成算法;调用所述随机数生成算法基于所述字符样本库,并按照所述第一字符类别生成与所述第一数量相匹配的若干数字字符;
调用所述随机字母生成算法基于所述字符样本库,并按照所述第二字符类别生成与所述第二数量相匹配的若干字母字符;调用所述随机符号生成算法基于所述字符样本库,并按照所述第三字符类别生成与所述第三数量相匹配的若干符号字符;将若干所述数字字符、若干所述字母字符和若干所述符号字符导入所述空数组中,得到所述文件混淆数组。
[0007]作为一种改进的方案,所述基于所述游戏包数量基准和所述第一游戏包导出需求设定混淆需求的步骤进一步包括:当所述第一游戏包导出需求为所述第一需求时,识别所述第一游戏包的待导出数量;比对所述待导出数量与所述游戏包数量基准;若所述待导出数量与所述游戏包数量基准相匹配,则设定所述混淆需求为第一游戏包待混淆;若所述待导出数量与所述游戏包数量基准非匹配,则设定所述混淆需求为第一游戏包非待混淆。
[0008]作为一种改进的方案,所述基于所述文件目录类别、所述关键字基准、所述文件混淆数组和所述混淆需求对所述第一游戏包执行代码混淆操作的步骤进一步包括:当所述混淆需求为所述第一游戏包待混淆时,提取所述第一游戏包,配置空数据包和空目录,设定组合顺序;基于所述文件目录类别、所述关键字基准、所述文件混淆数组、所述第一游戏包、所述空数据包、所述空目录和所述组合顺序执行混淆目录构建操作,得到待混淆游戏包和混淆目录;基于所述混淆目录对所述待混淆游戏包执行代码混淆操作,得到第一混淆游戏包。
[0009]作为一种改进的方案,所述组合顺序包括:第一顺序、第二顺序和第三顺序;所述混淆目录构建操作包括:将所述第一游戏包中与所述第一目录类别和所述第二目录类别相匹配的目录文件删除,得到第二游戏包;对所述第二游戏包进行备份处理,并对经过备份处理后的所述第二游戏包进行复制处理,得到复制游戏包;提取所述复制游戏包中的执行文件,将所述执行文件导入所述空数据包中,得到所述待混淆游戏包;提取所述待混淆游戏包中所述执行文件的第一文件名以及所述第一文件名所关联的第一类名、第一方法名和第一关联文件名;将所述第一文件名、所述第一类名、所述第一方法名和所述第一关联文件名中与所述关键字基准相匹配的名关键字符标记,得到第二文件名、第二类名、第二方法名和第二关联文件名;从所述文件混淆数组中提取第一数字字符、第一字母字符和第一符号字符,按照所述第一顺序将所述第一数字字符、所述第一字母字符、所述第一符号字符与所述第二文件名中未被标记的文件名进行组合,得到第一混淆文件名;从所述文件混淆数组中提取第二数字字符和第二字母字符,按照所述第二顺序将
所述第二数字字符、所述第二字母字符与所述第二类名中未被标记的类名进行组合,得到第一混淆类名;从所述文件混淆数组中提取第三数字字符和第三字母字符,按照所述第三顺序将所述第三数字字符、所述第三字母字符与所述第二方法名中未被标记的方法名进行组合,得到第一混淆方法名;从所述文件混淆数组中提取第四数字字符、第四字母字符和第二符号字符,按照所述第一顺序将所述第四数字字符、所述第四字母字符、所述第二符号字符与所述第二关联文件名中未被标记的关联文件名进行组合,得到第一混淆关联文件名;基于所述第一关联文件名识别所述执行文件的关联文件;基于所述执行文件和所述关联文件的层级关系识别所述执行文件与所述关联文件之间的文件引用路径;基于所述第一混淆关联文件名、所述第一混淆文件名和所述文件引用路径生成第一混淆路径;在所述空目录中设定第一列表和第二列表;将所述第一混淆文件名、所述第一混淆类名、所述第一混淆方法名、所述第一混淆关联文件名和所述第一混淆路径导入所述第一列表中,得到第一目录;识别所述第一列表中所述第一混淆文件名、所述第一混淆类名、所述第一混淆方法名、所述第一混淆关联文件名和所述第一混淆路径之间的目录顺序;按照所述目录顺序将所述第一文件名、所述第一类名、所述第一方法名、所述第一关联文件和所述文件引用路径导入所述第一目录的所述第二列表中,得到所述混淆目录。
[0010]作为一种改进的方案,所述代码混淆操作包括:基于所述混淆目录中所述第一列表与所述第二列表之间的对应关系,采用所述第一混淆文件名替换所述待混淆游戏包中所述执行文件的所述第一文件名,采用所述第一混淆类名替换所述待混淆游戏包中所述执行文件的所述第一类名,采用所述第一混淆方法名替换所述待混淆游戏包中所述执行文件的所述第一方法名,采用所述第一混淆关联文件名替换所述待混淆游戏包中所述执行文件的所述第一关联文件名,采用所述第一混淆路径替换所述待混淆游戏包中所述执行文件的所述文件引用路径,得到所述第一混淆游戏包。
[0011]作为一种改进的方案,所述代码混淆操作还包括:本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种游戏文件包的代码混淆方法,其特征在于,包括以下步骤:初始配置步骤:设置文件目录类别、关键字基准、字符类别和字符数量;基于所述字符类别和所述字符数量配置文件混淆数组;混淆判断步骤:设置游戏包数量基准,获取第一游戏包导出需求,基于所述游戏包数量基准和所述第一游戏包导出需求设定混淆需求;文件混淆步骤:基于所述文件目录类别、所述关键字基准、所述文件混淆数组和所述混淆需求对所述第一游戏包执行代码混淆操作。2.根据权利要求1所述的一种游戏文件包的代码混淆方法,其特征在于,所述文件目录类别包括:第一目录类别和第二目录类别;所述第一目录类别为android目录类;所述第二目录类别为windows目录类;所述字符类别包括:第一字符类别、第二字符类别和第三字符类别;所述第一字符类别为数字类;所述第二字符类别为字母类;所述第三字符类别为符号类;所述字符数量包括:第一数量、第二数量和第三数量;所述第一数量为数字类数量;所述第二数量为字母类数量;所述第三数量为符号类数量;所述第一游戏包导出需求包括:第一需求和第二需求;所述第一需求为存在待导出的所述第一游戏包;所述第二需求为不存在待导出的所述第一游戏包。3.根据权利要求2所述的一种游戏文件包的代码混淆方法,其特征在于,所述基于所述字符类别和所述字符数量配置文件混淆数组的步骤进一步包括:创建空数组;配置字符样本库、随机数生成算法、随机字母生成算法和随机符号生成算法;调用所述随机数生成算法基于所述字符样本库,并按照所述第一字符类别生成与所述第一数量相匹配的若干数字字符;调用所述随机字母生成算法基于所述字符样本库,并按照所述第二字符类别生成与所述第二数量相匹配的若干字母字符;调用所述随机符号生成算法基于所述字符样本库,并按照所述第三字符类别生成与所述第三数量相匹配的若干符号字符;将若干所述数字字符、若干所述字母字符和若干所述符号字符导入所述空数组中,得到所述文件混淆数组。4.根据权利要求3所述的一种游戏文件包的代码混淆方法,其特征在于,所述基于所述游戏包数量基准和所述第一游戏包导出需求设定混淆需求的步骤进一步包括:当所述第一游戏包导出需求为所述第一需求时,识别所述第一游戏包的待导出数量;比对所述待导出数量与所述游戏包数量基准;若所述待导出数量与所述游戏包数量基准相匹配,则设定所述混淆需求为第一游戏包待混淆;若所述待导出数量与所述游戏包数量基准非匹配,则设定所述混淆需求为第一游戏包非待混淆。5.根据权利要求4所述的一种游戏文件包的代码混淆方法,其特征在于,所述基于所述文件目录类别、所述关键字基准、所述文件混淆数组和所述混淆需求对所述第一游戏包执行代码混淆操作的步骤进一步包括:
当所述混淆需求为所述第一游戏包待混淆时,提取所述第一游戏包,配置空数据包和空目录,设定组合顺序;基于所述文件目录类别、所述关键字基准、所述文件混淆数组、所述第一游戏包、所述空数据包、所述空目录和所述组合顺序执行混淆目录构建操作,得到待混淆游戏包和混淆目录;基于所述混淆目录对所述待混淆游戏包执行代码混淆操作,得到第一混淆游戏包。6.根据权利要求5所述的一种游戏文件包的代码混淆方法,其特征在于,所述组合顺序包括:第一顺序、第二顺序和第三顺序;所述混淆目录构建操作包括:将所述第一游戏包中与所述第一目录类别和所述第二目录类别相匹配的目录文件删除,得到第二游戏包;对所述第二游戏包进行备份处理,并对经过备份处理后的所述第二游戏包进行复制处理,得到复制游戏包;提取所述复制游戏包中的执行文件,将所述执行文件导入所述空数据包中,得到所述待混淆游戏包;提取所述待混淆游戏包中所述执行文件的第一文件名以及所述第一文件名所关联的第一类名、第一方法名...

【专利技术属性】
技术研发人员:付俊峰
申请(专利权)人:苏州九宫数字科技有限公司
类型:发明
国别省市:

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

1