开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 10615|回复: 25
收起左侧

[技术专题] 易语言实现对UE4引擎实现数据定位和功能调用

[复制链接]
结帖率:0% (0/2)
发表于 2022-10-9 20:35:09 | 显示全部楼层 |阅读模式   四川省德阳市
本帖最后由 罚款小猴子 于 2022-10-10 19:59 编辑

UE4的逆向以及功能调用一直以来是一个让人头疼的问题
比如:
国内外很多视频上讲得不清不楚
SDK的dump搞不定
SDK 拿着看不懂
Github上给的调用方法还都是C++的代码 易语言没办法直接使用
可以说 0到完完全全对UE4引擎的游戏功能实现或者数据定位还必须靠着老方法 CE+X64DBG一步步找

所以,俺花了大量时间,研究了UE4的结构,并将代码一步步给增添、修改到E上面,使得E也可以对UE4 SDK中的 Function进行调用  CLASS进行定位

接下来我以一个例子来说明一下
图片1.png
以棒子国最近上线的一款UE4游戏为例 ,我在CE中搜索到的血量的临时地址上打下写入断

断点断在了图片所示的位置,那么RCX+C8这个地址也就是我们要向上追的地址。OK 那么我们 CTRL+F9,然后F8向上返回一层

图片2.png

这里我们追到了rcx是来自于[rcx+38]的。按照惯性思维和以往的办法我们是应该写好到这个位置的偏移表达式 并且向上一层前进 去追到一个基地址来源 然后写出表达式得到结果。
但是!!!敲重点了!!!
我把此处的rcx的值拿出来,0x226EAC8C700 然后丢到工具里去对应

图片3.png
PS:这个工具就是调用了UE4的FindObject,示例的源码我会贴在后面

到此,我的血量数据定位工作就已经完成了。

什么?可能你会说 啥?这就完了? 那要获取这个血量数据的该咋办呢?
莫慌莫慌。
图片4.png

我把我的调用代码贴在了这里
UE4引擎的核心 也就是这个FindObject 使用它便可以很高效的获取到对象地址

伪表达式来源我们根据DBG里追了一层可以得出
[[XMyCharacterInfoManager ....]+38]+C8
这样...我们就实现了对一个数据的定位,或者说是这个类下面成员的定位

以上,只是我对传统方法的一个延伸,但是我们还有木有不打开DBG就能搞出这个数据的办法嘞?答案肯定是有的


方法二:我们打开我们的SDK
正常来讲 playerinfo characterinfo 这些关键词是可以快速定位到我们需要的类的
但是,很不幸...这个游戏的dump  因为种种原因(DUMP工具版本 UE版本等等原因)

图片5.png

这个管理器下面空空如也....不过  没关系
我还是手动还原给大家还原一下理想情况
图片6.png
后面的0xC8 0xD8也就是该层的偏移 (实际中间省了+38偏移的一层)

那么遇到了这种dump不完全的情况又该怎么办嘞,这个状况后续再讲。主要是为了向大家介绍 通用E 其实也完完全全能实现对UE4的数据定位 和功能调用

感谢屏幕前帅气的你,花了这么多时间看我写的帖子!


UE4功能演示.e

912.44 KB, 下载次数: 83, 下载积分: 精币 -2 枚

点评

牛逼 直接拿来写绘制   广东省佛山市  发表于 2022-10-9 21:28

评分

参与人数 3好评 +3 精币 +5 收起 理由
猫携 + 1 + 1 YYDS~!
a524666979 + 1 + 2 支持开源~!感谢分享
kk2apple + 1 + 2 支持开源~!感谢分享

查看全部评分


结帖率:100% (13/13)

签到天数: 13 天

发表于 2024-1-14 08:18:39 | 显示全部楼层   宁夏回族自治区吴忠市
弱弱问下 这个能定位吗?
回复 支持 反对

使用道具 举报

签到天数: 2 天

发表于 2023-12-28 07:33:11 | 显示全部楼层   浙江省绍兴市
回复 支持 反对

使用道具 举报

发表于 2023-11-26 13:32:56 | 显示全部楼层   河南省洛阳市
撒大苏打实打实的
回复 支持 反对

使用道具 举报

结帖率:50% (1/2)
发表于 2023-8-6 15:14:20 | 显示全部楼层   安徽省蚌埠市
Naisss!!!!!!!!!!!!!         
回复 支持 反对

使用道具 举报

结帖率:0% (0/3)

签到天数: 1 天

发表于 2023-1-15 11:21:17 | 显示全部楼层   辽宁省本溪市
楼主 可否传一下dll文件和读写驱动
回复 支持 反对

使用道具 举报

发表于 2022-12-1 06:05:43 | 显示全部楼层   甘肃省兰州市
不错
回复 支持 反对

使用道具 举报

签到天数: 16 天

发表于 2022-11-2 17:00:12 | 显示全部楼层   江西省南昌市
感谢分享
回复 支持 反对

使用道具 举报

签到天数: 16 天

发表于 2022-11-2 16:57:21 | 显示全部楼层   江西省南昌市
感谢分享
回复 支持 反对

使用道具 举报

发表于 2022-10-25 02:07:40 | 显示全部楼层   天津市天津市
感谢分享,不过您忘记打包代码需要用的dll了, UnrealEngine4ToE.dll ,能否再上传一下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表