【Unity游戏破解】外挂原理分析

简介: 【Unity游戏破解】外挂原理分析


认识unity

打包目录结构

dll一般很大,因为里面是所有的游戏功能编译成的二进制码

游戏逆向流程

开发人员代码被编译打包到GameAssembly.dll中

使用il2ppDumper工具,并借助游戏名

_Data\il2cpp_data\Metadata\global-metadata.dat恢复符号

使用IDA对该dII进行反编译

分析核心逻辑实现的代码(相对Mono困难)

根据分析结果对代码进行patch,实现某种变态功能.

Unity游戏攻击面

数值修改

锁血

飞天

无限金币

攻击力翻倍

离谱功能

透视

自瞄

压枪

瞬移

内购破解

可被攻击原因

Unity引擎打包方式成为了外挂开发的帮凶!

mono的打包

C# 是解释型的语言–支持反射-----这个缺陷,可以非常容易恢复打包的函数名,变量名

建议方案

锁血

CE来搜索数值,去确定血量的变量

然后把他固定

用IDA分析血量减(sub)的指令,给他nop掉,就不会扣血

飞天

管人物的高是z这个变量,不停修改人物处在的位置,CE 走坡,走底,锁定Z的变量

无限金币

数字修改,就是内存挂

大同小异,和前面的

去覆盖金币的变量

攻击力翻倍

找到攻击力是哪个变量,去更改攻击力

以上统称内存挂

内存就比如说无后,X特效,广角,不过内存都容易封

透视

去读内存里的数据

自瞄

去找人物的骨骼系统,把准星设置到骨骼就是自瞄了

压枪

看枪后座的实现,可能是一个浮点类型的变量,根据手按左键的时间影响弹道轨迹

瞬移

存在传送的功能,实现了一个传送的函数,调用了就可以

有的直接修改人物坐标

内购破解

找到联网支付的模块在那里,根据返回值判断是否购买,把相应的那一块做一下patch

这是以前的方法,比如滑雪大冒险一样的游戏

Unity游戏防御

开发时注意数据安全

接入第三方反作弊系统

TP

EAC(Easy Anti Cheat)

VAC(Valve AntiCheat)-----------CSGO用

Battleye Anticheat

easy-anticheat 好像是直接扫内存吧

外挂检测思路

符号混淆

变量值混淆

文件完整性校验

调试器检测、阻止调试器附加—无法动态分析了

检测内存编辑工具(Cheat Engine等)

基于签名的内存完整性检测

检测dII注入----常见,外挂都是写成个DLL

检测APIHook----比如透视,hook 一下图形API的函数,可以通过检测常用的函数是否被hook

封锁内存读写----不让在应用层读写内存,上驱动保护的那种

统计异常检测------统计一段时间内游戏崩溃多少次

狠人自爆

实战

查看目录结构

看到unityplayer

猜测打包方式,看Data里面猜测是il2cpp

用il2cpp dumper

把游戏拖进去

搜索getflag

用框架脚本

mono打包方式

例子2-森林

用il2cppDumper去分析

who is he

mono打包方式,就跟源码差不多

相当于看到源码

后记

推荐阅读:r3kapig:校园明星ctf 战队的奇幻养成之旅


🌸I could be bounded in a nutshell and count myself a king of infinite space.

特别鸣谢:木芯工作室 、Ivan from Russia


相关文章
|
4月前
|
存储 自然语言处理 监控
【Unity 实用工具篇】| 游戏多语言解决方案,官方插件Localization 实现本地化及多种语言切换
Unity的多语言本地化是一个很实用的功能,它可以帮助游戏支持多种语言,让不同语言的玩家都能够更好地体验游戏。 而实现本地化的方案也有很多种,各个方案之间也各有优劣,后面也会对多个方案进行介绍学习。 本文就来介绍一个专门作用于多语言本地化的Unity官方插件:Localization 。 这个插件方便进行游戏的多语言本地化,让游戏支持多种语言,下面就来看看该插件的使用方法吧!
|
3月前
|
定位技术 C# 图形学
Unity和C#游戏编程入门:创建迷宫小球游戏示例
Unity和C#游戏编程入门:创建迷宫小球游戏示例
72 2
|
8月前
|
开发框架 Java .NET
《unity游戏优化》第8章内存优化
《unity游戏优化》第8章内存优化
|
4月前
|
vr&ar 图形学
【Unity 3D】VR飞机起飞喷火游戏案例实战(附源码和演示视频 超详细)
【Unity 3D】VR飞机起飞喷火游戏案例实战(附源码和演示视频 超详细)
52 0
|
4月前
|
图形学
【Unity 3D】3D游戏跑酷小子实战教学(附源码和步骤 超详细)
【Unity 3D】3D游戏跑酷小子实战教学(附源码和步骤 超详细)
122 0
|
4月前
|
C# 图形学
【Unity】2D游戏-愤怒的小鸟教学实战(附源码和实现步骤 超详细)
【Unity】2D游戏-愤怒的小鸟教学实战(附源码和实现步骤 超详细)
162 1
|
4月前
|
C# 图形学
【Unity 3D】游戏对象、添加删除获取组件、预制体Prefabs简介
【Unity 3D】游戏对象、添加删除获取组件、预制体Prefabs简介
75 0
|
4月前
|
人工智能 图形学
Unity——游戏AI实例
Unity——游戏AI实例
|
7月前
|
vr&ar 开发工具 图形学
Unity引擎更新收费模式:从收入分成转向游戏安装量,将会有哪些影响呢
Unity引擎更新收费模式:从收入分成转向游戏安装量,将会有哪些影响呢
|
定位技术 图形学
Unity3D——射击游戏(多地图,多人物,枪支切换,驾车,扔手雷等功能,堪比小型和平精英)
Unity3D——射击游戏(多地图,多人物,枪支切换,驾车,扔手雷等功能,堪比小型和平精英)
Unity3D——射击游戏(多地图,多人物,枪支切换,驾车,扔手雷等功能,堪比小型和平精英)