UltraDebug

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: A C D R G Y M Z X S P
公益项目,接受捐赠
查看: 2446|回复: 0
收起左侧

[游戏安全] 通杀爆改 Unity FPS 游戏系列-第一章

[复制链接]
laosilaisi

主题

0

回帖

UD

新手上路

UID
47
积分
40
注册时间
2022-5-18
最后登录
1970-1-1
2023-9-15 23:34:01 | 显示全部楼层 |阅读模式

本篇为 Windows 篇,Android 篇将和 @正己  梦幻联动,敬请期待

索引

通杀爆改 Unity FPS 游戏系列-序章

通杀爆改 Unity FPS 游戏系列-第二章

环境准备

作为第一章,需要的准备并不多,只需要修改神器:Cheat Engine 即可

在论坛中可以直接下载:
通杀爆改 Unity FPS 游戏系列-第一章 - laosilaisi_UltraDebug CheatEngine_v7.5.exe (28.59 MB, 下载次数: 1)

除此之外就是拿来开刀的 DEMO 程序,可以在序章篇获取

本章内容

本章将先以 windows mono 游戏包为例实现以下功能:

  • 锁血
  • 高跳
  • 移速
  • 无限子弹

先介绍常规修改思路,然后再介绍通杀方法

windows il2cpp 游戏包的修改逻辑类似,主要在原理上会有区别,限于篇幅这篇不展开


功能展示

锁血

通杀爆改 Unity FPS 游戏系列-第一章 - laosilaisi_UltraDebug

高跳

通杀爆改 Unity FPS 游戏系列-第一章 - laosilaisi_UltraDebug

移速

通杀爆改 Unity FPS 游戏系列-第一章 - laosilaisi_UltraDebug

无限子弹

通杀爆改 Unity FPS 游戏系列-第一章 - laosilaisi_UltraDebug


基本思路

在不考虑 CE 修改器的 mono 功能下,基本的修改思路是:

  • 搜索数值
  • 修改数值
  • 查看数值引用情况(可选)
  • 修改赋值代码(可选)
  • 分析数据结构(可选)

锁血

这里以锁血这个功能点为例,演示基本思路的改法

搜索数值

玩家的血量数值就在左下角,直接搜索即可

为照顾部分萌新,这里从打开修改器开始演示,熟悉的小伙伴可以跳过这部分

查看所有进程

通杀爆改 Unity FPS 游戏系列-第一章 - laosilaisi_UltraDebug

打开游戏进程

通杀爆改 Unity FPS 游戏系列-第一章 - laosilaisi_UltraDebug


打开后:
通杀爆改 Unity FPS 游戏系列-第一章 - laosilaisi_UltraDebug


修改搜索类型
通杀爆改 Unity FPS 游戏系列-第一章 - laosilaisi_UltraDebug

将搜索类型改成 Float 浮点数,像玩家血量这种数值通常都是浮点数

在计算机中,浮点数采用的编码格式是 IEEE 754

简单地理解就是在内存中,100.00 被编码为 0x42c80000 (十六进制)

数据本身是不变的,核心在于以什么方式去解读这个数据

打个比方,当你看到 10 这个数据时,如果以十六进制去解读则 0x10 = 16 ,如果以二进制去解读则 binary(10)=2

这里给一个浮点数和十六进制互相转换的网址:https://gregstoll.com/\~gregstoll/floattohex/
通杀爆改 Unity FPS 游戏系列-第一章 - laosilaisi_UltraDebug

关于数据类型的内容这里不再展开,有兴趣的可以回顾我以前的帖子


搜索目标数值

浮点数搜索

修改完搜索类型为 Float 后,填入目标为玩家当前血量即可
通杀爆改 Unity FPS 游戏系列-第一章 - laosilaisi_UltraDebug


十六进制搜索
这里也可以选择类型为 默认的 4 Bytes,然后直接搜索 100 对应的十六进制: 0x42c80000,之后每次搜索也是以十六进制去搜
通杀爆改 Unity FPS 游戏系列-第一章 - laosilaisi_UltraDebug

会发现找到的数据量很明显比直接搜 Float 要少,因为如果是浮点数还有精度问题,这里用十六进制去搜,就相当于锁定了精度


筛选出目标数值

然后等玩家血量变化后,再次搜索数值,最终得到的唯一值就是玩家的血量

浮点数筛选

通杀爆改 Unity FPS 游戏系列-第一章 - laosilaisi_UltraDebug


通杀爆改 Unity FPS 游戏系列-第一章 - laosilaisi_UltraDebug


十六进制筛选

浮点数 90 对应的十六进制为:0x42b40000,在前面提到的:https://gregstoll.com/\~gregstoll/floattohex/ 可以转换得到
通杀爆改 Unity FPS 游戏系列-第一章 - laosilaisi_UltraDebug


可以发现通过常规搜浮点数和直接搜十六进制得到的结果的 Address 内存地址是一样的

这里都是 1AFDAAC0,佐证了前面说的,在内存中浮点数是按 IEEE 754 标准存储的


锁定数值

通杀爆改 Unity FPS 游戏系列-第一章 - laosilaisi_UltraDebug


通杀爆改 Unity FPS 游戏系列-第一章 - laosilaisi_UltraDebug


锁定:
通杀爆改 Unity FPS 游戏系列-第一章 - laosilaisi_UltraDebug

锁定这个值就完成锁血功能了


修改数值:
通杀爆改 Unity FPS 游戏系列-第一章 - laosilaisi_UltraDebug


修改类型:
通杀爆改 Unity FPS 游戏系列-第一章 - laosilaisi_UltraDebug


还有更多的精彩内容,作者设置为付费后可见
UltraDebug免责声明
✅以上内容均来自网友转发或原创,如存在侵权请发送到站方邮件9003554@qq.com处理。
✅The above content is forwarded or original by netizens. If there is infringement, please send the email to the destination 9003554@qq.com handle.
回复 打印

使用道具 举报

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

本版积分规则

小黑屋|小黑屋|Archiver|站点地图|UltraDebug ( 滇ICP备2022002049号-2 滇公网安备 53032102000034号)

GMT+8, 2025-7-1 20:33 , Processed in 0.048733 second(s), 11 queries , Redis On.

Powered by Discuz X3.4

© 2001-2023 Discuz! Team.

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