[发明专利]一种导出保护游戏中的Python字节码文件的方法及装置在审
申请号: | 201810608277.0 | 申请日: | 2018-06-13 |
公开(公告)号: | CN108985014A | 公开(公告)日: | 2018-12-11 |
发明(设计)人: | 刘青云;黎健钧;郭申;梁琪;彭元龙;王刚 | 申请(专利权)人: | 珠海金山网络游戏科技有限公司;珠海西山居互动娱乐科技有限公司 |
主分类号: | G06F21/12 | 分类号: | G06F21/12;G06F21/52 |
代理公司: | 广州嘉权专利商标事务所有限公司 44205 | 代理人: | 俞梁清 |
地址: | 519000 广东省珠海市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 字节码文件 导出 动态链接库 游戏 储存路径 偏移地址 句柄 可执行文件 静态分析 手机游戏 文件保存 文件内容 游戏进程 钩子 虚拟机 加载 破解 引擎 监测 记录 创建 | ||
1.一种导出保护游戏中的Python字节码文件的方法,其特征在于,所述方法包括以下步骤:
A、通过对可执行文件进行静态分析,得到r_object函数的偏移地址;
B、创建一动态链接库,该动态链接库包含对r_object函数的钩子句柄、记录字节定位句柄和字节码文件储存路径;
C、在游戏加载Python模块之前,在游戏进程注入所述动态链接库,利用所述偏移地址,导出Python模块的给定字节部分的文件内容,并且以pyc或pyo格式的文件保存到指定的储存路径。
2.根据权利要求1所述的方法,其特征在于,所述步骤A包括:
读取Python项目的源码中的r_object函数的定义文件,确定r_object函数的索引字段;
通过交互式反汇编器,预先打开游戏的可执行文件,在交互式反汇编器的当前字符串表中检索r_object函数的索引字段;
记录r_object函数对应的偏移地址。
3.根据权利要求1所述的方法,其特征在于,所述步骤B包括:
在所述动态链接库中提供划分Python字节内容的字节位置的句柄,用于划分Python字节内容中的魔数部分、时间戳部分和字节码对象部分,其中使字节码对象部分作为输出内容保存为pyc或pyo格式的字节码文件。
4.根据权利要求1所述的方法,其特征在于,所述步骤C包括:
通过Windows的API函数SetWindowsHookEx将所述动态链接库注入到游戏进程,使得启动游戏时导出Python字节码文件。
5.根据权利要求1所述的方法,其特征在于,还包括以下步骤:
D、监控游戏的异常玩家客户端进程,如果监控到异常进程对Python模块的破解成功,则推送安全信息,以通告上位机根据Python字节码文件修改Python虚拟机引擎。
6.根据权利要求5所述的方法,其特征在于,所述步骤D包括:
对导出的Python字节码文件进行备份和加密。
7.一种计算机装置,包括存储器、处理器及储存在存储器上并能够在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现以下步骤:
A、通过对可执行文件进行静态分析,得到r_object函数的偏移地址;
B、创建一动态链接库,该动态链接库包含对r_object函数的钩子句柄、记录字节定位句柄和字节码文件储存路径;
C、在游戏加载Python模块之前,在游戏进程注入所述动态链接库,利用所述偏移地址,导出Python模块的给定字节部分的文件内容,并且以pyc或pyo格式的文件保存到指定的储存路径。
8.根据权利要求7所述的计算机装置,其特征在于,所述处理器执行所述程序时实现的步骤还包括:
D、监控游戏的异常玩家客户端进程,如果监控到异常进程对Python模块的破解成功,则推送安全信息,以通告上位机根据Python字节码文件修改Python虚拟机引擎。
9.一种计算机可读存储介质,其上储存有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
A、通过对可执行文件进行静态分析,得到r_object函数的偏移地址;
B、创建一动态链接库,该动态链接库包含对r_object函数的钩子句柄、记录字节定位句柄和字节码文件储存路径;
C、在游戏加载Python模块之前,在游戏进程注入所述动态链接库,利用所述偏移地址,导出Python模块的给定字节部分的文件内容,并且以pyc或pyo格式的文件保存到指定的储存路径。
10.根据权利要求9所述的计算机可读存储介质,其特征在于,所述计算机程序被处理器执行时实现的步骤还包括:
D、监控游戏的异常玩家客户端进程,如果监控到异常进程对Python模块的破解成功,则推送安全信息,以通告上位机根据Python字节码文件修改Python虚拟机引擎。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海金山网络游戏科技有限公司;珠海西山居互动娱乐科技有限公司,未经珠海金山网络游戏科技有限公司;珠海西山居互动娱乐科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810608277.0/1.html,转载请声明来源钻瓜专利网。