admin 发表于 2024-3-31 20:29:40

易语言实现对UE4引擎实现数据定位和功能调用(转载)

UE4的逆向以及功能调用一直以来是一个让人头疼的问题比如:国内外很多视频上讲得不清不楚SDK的dump搞不定SDK 拿着看不懂Github上给的调用方法还都是C++的代码 易语言没办法直接使用可以说 从0到完完全全对UE4引擎的游戏功能实现或者数据定位还必须靠着老方法 CE+X64DBG一步步找
所以,俺花了大量时间,研究了UE4的结构,并将代码一步步给增添、修改到E上面,使得E也可以对UE4 SDK中的 Function进行调用CLASS进行定位
接下来我以一个例子来说明一下以棒子国最近上线的一款UE4游戏为例 ,我在CE中搜索到的血量的临时地址上打下写入断
断点断在了图片所示的位置,那么RCX+C8这个地址也就是我们要向上追的地址。OK 那么我们 CTRL+F9,然后F8向上返回一层

这里我们追到了rcx是来自于的。按照惯性思维和以往的办法我们是应该写好到这个位置的偏移表达式 并且向上一层前进 去追到一个基地址来源 然后写出表达式得到结果。但是!!!敲重点了!!!我把此处的rcx的值拿出来,0x226EAC8C700 然后丢到工具里去对应
PS:这个工具就是调用了UE4的FindObject,示例的源码我会贴在后面
到此,我的血量数据定位工作就已经完成了。
什么?可能你会说 啥?这就完了? 那要获取这个血量数据的该咋办呢?莫慌莫慌。
我把我的调用代码贴在了这里UE4引擎的核心 也就是这个FindObject 使用它便可以很高效的获取到对象地址
伪表达式来源我们根据DBG里追了一层可以得出[+38]+C8这样...我们就实现了对一个数据的定位,或者说是这个类下面成员的定位
以上,只是我对传统方法的一个延伸,但是我们还有木有不打开DBG就能搞出这个数据的办法嘞?答案肯定是有的

方法二:我们打开我们的SDK正常来讲 playerinfo characterinfo 这些关键词是可以快速定位到我们需要的类的但是,很不幸...这个游戏的dump因为种种原因(DUMP工具版本 UE版本等等原因)
图片5.png (22.74 KB, 下载次数: 0)下载附件2022-10-9 20:34 上传



这个管理器下面空空如也....不过没关系我还是手动还原给大家还原一下理想情况后面的0xC8 0xD8也就是该层的偏移 (实际中间省了+38偏移的一层)
那么遇到了这种dump不完全的情况又该怎么办嘞,这个状况后续再讲。主要是为了向大家介绍 通用E 其实也完完全全能实现对UE4的数据定位 和功能调用
感谢屏幕前帅气的你,花了这么多时间看我写的帖子!
**** Hidden Message *****

Urge 发表于 2024-3-31 20:30:17

这世界上有两个我,一个假装快乐,一个真心难过。

Meet 发表于 2024-3-31 20:43:23

我左青龙,右白虎,肩膀纹个米老鼠.

RUM 发表于 2024-3-31 22:35:07

不回帖,臣妾做不到啊!

Foreordination 发表于 2024-4-1 01:16:22

☆:签到是人气、荣誉的比拼,让我们的签到见证一份坚持吧!!!

Drag 发表于 2024-4-1 02:52:12

帮顶,帮顶,快速顶贴中······

wind 发表于 2024-4-1 03:02:07

路过 帮顶 嘿嘿

Pray 发表于 2024-4-1 03:13:02

楼主不许动,我是来抢沙发的,沙发没有,板凳也行!

WeddingDress 发表于 2024-4-1 04:27:17

听说顶贴有福利,真的假的?

Scar 发表于 2024-4-1 04:48:20

我死了,但是在烈火中我又站起来了,你猜是涅磐,还是尸变?
页: [1] 2 3 4
查看完整版本: 易语言实现对UE4引擎实现数据定位和功能调用(转载)