[发明专利]一种导出保护游戏中的Python字节码文件的方法及装置在审

专利信息
申请号: 201810608277.0 申请日: 2018-06-13
公开(公告)号: CN108985014A 公开(公告)日: 2018-12-11
发明(设计)人: 刘青云;黎健钧;郭申;梁琪;彭元龙;王刚 申请(专利权)人: 珠海金山网络游戏科技有限公司;珠海西山居互动娱乐科技有限公司
主分类号: G06F21/12 分类号: G06F21/12;G06F21/52
代理公司: 广州嘉权专利商标事务所有限公司 44205 代理人: 俞梁清
地址: 519000 广东省珠海市*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 字节码文件 导出 动态链接库 游戏 储存路径 偏移地址 句柄 可执行文件 静态分析 手机游戏 文件保存 文件内容 游戏进程 钩子 虚拟机 加载 破解 引擎 监测 记录 创建
【说明书】:

一种导出保护游戏中的Python字节码文件的方法,包括以下步骤:A、通过对可执行文件进行静态分析,得到r_object函数的偏移地址;B、创建一动态链接库,该动态链接库包含对r_object函数的钩子句柄、记录字节定位句柄和字节码文件储存路径;C、在游戏加载Python模块之前,在游戏进程注入所述动态链接库,利用所述偏移地址,导出Python模块的给定字节部分的文件内容,并且以pyc或pyo格式的文件保存到指定的储存路径。本发明还提出一种导出保护游戏中的Python字节码文件的装置。本发明的有益效果为:提出通过监测Python虚拟机引擎,从而确认手机游戏是否被破解。

技术领域

本发明涉及到软件开发领域,尤其涉及一种导出保护游戏中的Python字节码文件的方法及装置。

背景技术

随着手机应用程序的开发技术日渐完善,市场上出现种类丰富、玩法多样的手机游戏激烈竞争。游戏开发公司为了尽早占领市场,常常希望尽量压缩手机游戏的开发周期和测试周期,从而让手机游戏提早上架应用商店。为此,基于实际开发环境的考虑,手机游戏常常会使用解释型的脚本语言来开发,以省略应用程序的编译过程。其中,Python由于其自身的高效特点,被许多游戏开发公司用作主要的开发语言。

然而,从手机应用程序自身的安全角度来看,这也可能成为一个潜在的隐患。因为作为解释型语言,手机游戏的Python字节码文件(.pyc或.pyo)是不能被加密的,这意味着发布手机应用程序同时,源代码也一并对外公布。事实上,现有大量的工具反编译Python字节码文件,例如开源网站GitHub上的Mysterie/uncompyle2工具,其可反编译版本号为2.5至2.7之间的Python字节码文件。因此,黑客理论上可以通过破解手机游戏而获取手机应用程序的源代码。通过对上述源代码进行分析,其可针对性地开发手机游戏的外挂,从而使得手机游戏的外挂横行,影响正常用户的用户体验。

发明内容

本发明提供一种导出保护游戏中的Python字节码文件的方法及装置,通过监测Python虚拟机引擎,从而确认手机游戏是否被破解的技术效果。

首先,本发明的技术方案第一方面为一种导出保护游戏中的Python字节码文件的方法,上述方法包括以下步骤:A、通过对可执行文件进行静态分析,得到r_object函数的偏移地址;B、创建一动态链接库,该动态链接库包含对r_object函数的钩子句柄、记录字节定位句柄和字节码文件储存路径;C、在游戏加载Python模块之前,在游戏进程注入上述动态链接库,利用上述偏移地址,导出Python模块的给定字节部分的文件内容,并且以pyc或pyo格式的文件保存到指定的储存路径。

在本发明的一个或多个方法实施例中,上述步骤A还包括以下子步骤:读取Python项目的源码中的r_object函数的定义文件,确定r_object函数的索引字段;通过交互式反汇编器(Interactive Disassembler,简称为IDA),预先打开游戏的可执行文件,在交互式反汇编器的当前字符串表中检索r_object函数的索引字段;记录r_object函数对应的偏移地址。

在本发明的一个或多个方法实施例中,上述步骤B还包括以下子步骤:在上述动态链接库中提供划分Python字节内容的字节位置的句柄,用于划分Python字节内容中的魔数部分、时间戳部分和字节码对象部分,其中使字节码对象部分作为输出内容保存为pyc或pyo格式的字节码文件。

在本发明的一个或多个方法实施例中,上述步骤C还包括以下子步骤:通过Windows的API函数SetWindowsHookEx将上述动态链接库注入到游戏进程,使得启动游戏时导出Python字节码文件。

在本发明的一个或多个方法实施例中,上述方法包括以下步骤:D、监控游戏的异常玩家客户端进程,如果监控到异常进程对Python模块的破解成功,则推送安全信息,以通告上位机根据Python字节码文件修改Python虚拟机引擎。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海金山网络游戏科技有限公司;珠海西山居互动娱乐科技有限公司,未经珠海金山网络游戏科技有限公司;珠海西山居互动娱乐科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201810608277.0/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top