[发明专利]一种逆向获取UE4全局对象表的方法及其装置有效
申请号: | 201910034236.X | 申请日: | 2019-01-15 |
公开(公告)号: | CN109947466B | 公开(公告)日: | 2023-01-03 |
发明(设计)人: | 刘青云;杨明邦;周诚 | 申请(专利权)人: | 珠海金山数字网络科技有限公司;珠海西山居数字科技有限公司 |
主分类号: | G06F8/74 | 分类号: | G06F8/74;A63F13/60 |
代理公司: | 广州嘉权专利商标事务所有限公司 44205 | 代理人: | 陈慧华 |
地址: | 519000 广东省珠海市高新区唐家湾镇前岛环路325号102室*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 逆向 获取 ue4 全局 对象 方法 及其 装置 | ||
本发明涉及一种逆向获取UE4全局对象表的方法,包括以下步骤:S1、检测目标游戏获取初始信息;S2、调用初始信息并基于目标游戏编写演示样本;S3、分析演示样本中GUObjectArray的偏移值;S4、使用S3中的方式获取目标游戏中GUObjectArray的偏移值;S5、定位目标游戏GUObjectArray在内存中的存储地址;S6、调用存储地址并获取目标游戏的全局对象表。一种逆向获取UE4全局对象表的装置,包括检测模块、样本模块、第一分析模块、第二分析模块、定位模块以及调用模块。本发明实现了在无源码前提下获取目标游戏全局对象表的技术效果,有效提升了工作效率。
技术领域
本发明涉及一种逆向获取UE4全局对象表的方法及其装置,属于游戏开发领域。
背景技术
UE4,全称为Unreal Engine 4,是一款开源的游戏开发引擎,而游戏在运行过程中的场 景展示是通过不同对象的组合实现,例如人物、建筑、植被、地面、天空、载具、武器、工具、界面UI以及其他元素;虽然它们的构成类型有所不同,但均继承自UE4中的UObject。 为了有效地维护和管理这些游戏对象,UE4使用了GUObjectArray,即Global Uobject Arrayinstance,中文翻译为全局对象表。
在实际使用场景中,开发人员为了对游戏性能有所掌握,需要获取游戏对象以及相应的 属性;而维护人员为了有效监测或评估游戏的安全风险,也需要获取游戏对象以及相应的属 性。而当游戏处于开发阶段时,UE4内置的游戏编辑器可以轻松实现上述需要;但当游戏已 经发布且工作人员并无游戏源码时,如何有效获取游戏对象是急需解决的技术问题。
发明内容
针对现有技术的不足,本发明提供了一种逆向获取UE4全局对象表的方法,包括以下步 骤:
S1、检测目标游戏获取初始信息;
S2、调用初始信息并基于目标游戏编写演示样本;
S3、分析演示样本中GUObjectArray的偏移值;
S4、使用S3中的方式获取目标游戏中GUObjectArray的偏移值;
S5、定位目标游戏GUObjectArray在内存中的存储地址;
S6、调用存储地址并获取目标游戏的全局对象表。
进一步,所述初始信息包括UE4的版本。
进一步,编写演示样本所使用的UE4版本必须与初始信息中的UE4版本相同。
进一步,存储地址的定位是通过目标游戏中GUObjectArray的基址添加偏移值实现的。
一种逆向获取UE4全局对象表的装置,包括以下模块:
检测模块,用于检测目标游戏获取初始信息;
样本模块,用于调用初始信息并基于目标游戏编写演示样本;
第一分析模块,用于分析演示样本中GUObjectArray的偏移值;
第二分析模块,用于使用S3中的方式获取目标游戏中GUObjectArray的偏移值;
定位模块,用于定位目标游戏GUObjectArray在内存中的存储地址;以及
调用模块,用于调用存储地址并获取目标游戏的全局对象表。
进一步,所述初始信息包括UE4的版本。
进一步,编写演示样本所使用的UE4版本必须与初始信息中的UE4版本相同。
进一步,存储地址的定位是通过目标游戏中GUObjectArray的基址添加偏移值实现的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海金山数字网络科技有限公司;珠海西山居数字科技有限公司,未经珠海金山数字网络科技有限公司;珠海西山居数字科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910034236.X/2.html,转载请声明来源钻瓜专利网。