UE4/UE5引擎 FPS游戏逆向工程

Posted 暗藏c

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UE4/UE5引擎 FPS游戏逆向工程相关的知识,希望对你有一定的参考价值。

课程详细目录 : UE4/UE5引擎 FPS游戏逆向工程 · 语雀

工具:

提供可调试EAC调试器(免费)

提供可注入EAC BE的内核层注入器 成品 + 源码(免费)、后期会教写一个内核层注入器

提供内核层dump工具 成品 + 源码(免费) ,解决游戏文件不能直接ida分析问题 // 注: 非dump sdk,请分辨清楚

提供内核层dump sdk脚本 成品 + 源码(免费) // 支持为受保护的游戏dump sdk

实战游戏:

单机游戏 UE4引擎(无保护)、

POLYGON UE5引擎(EAC)、

GUNDAM EVOLUTION 高达进化(EAC)、

超级人类 UE4引擎(BE)、

Apex(EAC)

公开课:

暗藏c的个人空间_哔哩哔哩_Bilibili

效果视频:

暗藏c的个人空间_哔哩哔哩_Bilibili

效果图片:

简介:

不以单机游戏做演示,第一章的单机游戏只是学习基础!!!

不以单机游戏做演示,第一章的单机游戏只是学习基础!!!

不以单机游戏做演示,第一章的单机游戏只是学习基础!!!

学完基础,直接做多人游戏,带您完整做一个项目!!!

学完基础,直接做多人游戏,带您完整做一个项目!!!

学完基础,直接做多人游戏,带您完整做一个项目!!!

一共七章 上百个视频 从应用层到内核层!!!

01 UE4引擎:

// 在 01 UE4引擎 这一环节,只是基础的了解一下UE引擎,打下深厚的基础

// 各种绘制算法 + 内存自瞄 + 静默自瞄 + 子弹追踪 + 各种变态功能都在 02 UE5

00 必要前提 // dx内绘基础

01 自写 DX11Hook 框架

02 解决内绘更改分辨率崩溃问题

03 通过UE引擎源码分析GName算法

04 IDA查找GName

05 CE查找GName

06 C++编写GetName函数

07 验证GName算法

08 IDA查找GWorld

09 玩家类继承关系

10 GWorld结构详解及修复GWorld结构

11 遍历所有Actor坐标 // 实践前面所学

12 寻找世界坐标转屏幕坐标CALL

13 调用世界转屏幕CALL并绘制名字

14 过滤Actors 只绘制敌人

15 寻找敌人骨骼并绘制骨骼索引

16 UE引擎骨骼算法详解 // 主要是讲解UE引擎的骨骼算法,以及解决外部骨骼闪烁

17 解决骨骼闪烁问题

18 寻找骨骼相对坐标转世界坐标CALL

19 用CALL的方式来获取骨骼坐标

20 通过骨骼名来绘制骨骼,解决骨骼索引不同问题

21 寻找摄像机组件 // UE引擎障碍判断

22 寻找射线CALL (障碍判断CALL)

23 射线CALL参数详解并修复函数

24 使用射线CALL做障碍判断

02 UE5引擎: // 带领做一个完整的逆向工程

00 内核注入器的使用

01 基础环境配置

02 复习内绘框架

03 改变框架使其适配注入器

04 寻找GWorld GName等

05 UWorld结构

06 GetName函数

07 UE5坐标与UE4的不同

08 寻找世界坐标转屏幕坐标call

09 绘制所有Actor名字

10 寻找玩家数组 只绘制玩家

11 区分阵营 不绘制队友

12 寻找骨骼以及骨骼坐标call

13 绘制骨骼 // 各种绘制算法

14 绘制菜单

15 绘制2D自适应方框

16 绘制3D旋转方框

17 绘制2D旋转雷达

18 绘制射线

19 绘制朝向

20 绘制血量以及过滤死亡敌人

21 UE5障碍判断

22 内存自瞄实现 // 三种自瞄方式

23 分析射击call

24 静默自瞄实现

25 子弹追踪实现

26 自瞄范围实现

27 分析武器类 // 武器类功能

28 武器无扩散实现

29 武器无后座实现

30 武器全自动实现

31 子弹瞬击实现

32 人物无限耐力实现 // 人物类功能

33 人物加速实现

34 解决游戏崩溃问题

35 通过特征码搜索技术,来达到游戏更新 辅助"免更新"

03 引擎绘制: 

01 引擎绘制跟内绘区别

02 ida分析虚表,快速定位引擎挂钩函数

03 寻找引擎绘制函数

04 ida寻找GEngine

05 使用引擎字体渲染

04 转储(Dump) SDK:

00 基础环境搭建

01 寻找 GUObjectArray

02 修复 TUObjectArray 结构

03 修复 FUObjectItem 结构

04 修复 UObject 结构

05 dump下所有UObject信息

06 修复 UEnum 结构

07 修复 UFunction 结构

08 修复 UStruct 结构

09 修复 FField 结构

10 修复 FProperty 结构

11 Dump SDK // dump sdk 学习

12 通过ida分析出UEnum结构偏移

13 通过ida分析出UStruct结构偏移

14 通过ida分析出UFunction 结构偏移

15 通过ida分析出FField结构偏移

16 通过ida分析出FProperty 结构偏移 // 因为如果结构加密,ce寻找有可能找不到,于是有了ida寻找偏移

17 使用驱动读写来dump驱动保护游戏 // 更改dump脚本 使其支持dump驱动保护游戏

05 对抗结构加密:

GUNDAM EVOLUTION(高达进化) 驱动dump 解决不能直接ida分析

GUNDAM EVOLUTION(高达进化) GWorld解密

GUNDAM EVOLUTION(高达进化) GName解密

GUNDAM EVOLUTION(高达进化) GObject解密

GUNDAM EVOLUTION(高达进化) dump sdk

超级人类 结构加密对抗

// 超级人类对大量结构进行了加密 如GName、dump sdk 结构基本全被加密

// 除此之外 还对游戏文件进行加密处理 使其不能ida静态分析

// 这一环节我们要学习如何对抗加密算法

06 内核基础:

00 内核基础必要前提

01 驱动与R3通讯

02 Cr3方式 驱动读取数据

03 Cr3方式 驱动写入数据

04 Mdl方式 驱动读取数据

05 Mdl方式 驱动写入数据

06 驱动层申请内存

07 驱动层释放内存

08 驱动层修改页保护属性

09 补充

07 内核反射注入(无模块注入,内存注入):

00 内核注入必要前提

01 内存展开DLL

02 修复 重定位表

03 修复 导入表

04 修复 TLS

05 Call ShellCode的几种方式

06 如何绕过eac be等驱动保护,来Call ShellCode

07 组装ShellCode

08 抹除反射注入特征

09 Apex (EAC)注入测试

UE4UE5模型鼠标点击选中边缘高亮(附UE5工程)

使用UE4或者UE5实现模型鼠标点击选中边缘高亮功能。

一、创建UE5的第一人称工程

二、添加高亮材质

高亮材质的单独下载地址:

UE4、UE5模型高亮材质通用-Swift文档类资源-CSDN下载

三、编写蓝图实现射线碰撞检测

显示 鼠标

鼠标左键点击时发送射线检测是否碰撞到模型

一张截图显示太小,用两张显示

 

四、记录当前选中的模型,在点击下一个模型时将它的高亮取消。

 五、最后要使SetRenderCustomDepth生效,需要添加高亮材质

在Outliner面板搜索post

找到PostProcessMaterials,将其中一个材质添加上。

还要将PostProcessVoluneSetting中的InfiniteExtent勾选上。

最后运行查看效果:

 工程下载地址:UE4、UE5模型鼠标点击选中边缘高亮(UE5工程)-Swift文档类资源-CSDN下载

 

以上是关于UE4/UE5引擎 FPS游戏逆向工程的主要内容,如果未能解决你的问题,请参考以下文章

UE4UE5模型鼠标点击选中边缘高亮(附UE5工程)

[玩转UE4/UE5动画系统>Control Rig篇] 之 使用Control Rig实现目标偏移(Aim Offset)(附项目代码)

UE4/UE5 虚幻引擎,材质HueShift色相(色调改变)

虚幻引擎UE4/UE5像素流在广域网上(云)部署(多实例)

虚幻引擎UE4/UE5数字孪生与前端Web页面匹配

[玩转UE4/UE5动画系统>C++篇>C++基础] 之 C++版模板中那些琐碎而又应知应会的语法知识小结(本文献给刚学完谭浩强就来啃UEC++的同学)