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)
公开课:
效果视频:
效果图片:
简介:
不以单机游戏做演示,第一章的单机游戏只是学习基础!!!
不以单机游戏做演示,第一章的单机游戏只是学习基础!!!
不以单机游戏做演示,第一章的单机游戏只是学习基础!!!
学完基础,直接做多人游戏,带您完整做一个项目!!!
学完基础,直接做多人游戏,带您完整做一个项目!!!
学完基础,直接做多人游戏,带您完整做一个项目!!!
一共七章 上百个视频 从应用层到内核层!!!
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游戏逆向工程的主要内容,如果未能解决你的问题,请参考以下文章
[玩转UE4/UE5动画系统>Control Rig篇] 之 使用Control Rig实现目标偏移(Aim Offset)(附项目代码)
UE4/UE5 虚幻引擎,材质HueShift色相(色调改变)
[玩转UE4/UE5动画系统>C++篇>C++基础] 之 C++版模板中那些琐碎而又应知应会的语法知识小结(本文献给刚学完谭浩强就来啃UEC++的同学)