【Unity逆向】玩游戏遇到的“飞天锁血”是怎么实现的?

简介: 【Unity逆向】玩游戏遇到的“飞天锁血”是怎么实现的?

前言

什么是外挂?

锁血瞬移都是怎么做的?

Unity引擎的致命缺陷是什么?

WEB入侵如何做到?

就是先用kali扫一下,手机信息。根据开了什么端口等等来判断如何去做,是不是可以直接弱口令。

Unity外挂攻防概述

典型游戏

王者荣耀

原神

永劫无界

明日方舟

森林之子

现实应用

工程建设与数字城市

汽车开发

Unity开发流程

创建项目

导入资源

搭建场景

添加组件

编写逻辑

程序测试

打包发布

Unity工作界面

打包发布方式

两种脚本后端

Mono

IL2CPP(最近常用)

Mono

Mono 是跨平台的 .Net Framework 的实现。Mono 做了一件很了不起的事情,将 CLR 在所有支持的平台上重新实现了一遍(包含手机上常用的安卓平台和Switch,PS4,这样的游戏机平台),并且mono还将 .Net Framework 提供的基础类库也重新实现了一遍。

Unity当年选用Mono而不是几乎只能在Windows上运行的.Net Core 就是看重了Mono的跨平台支持。并且Mono是一个开源软件,Unity也很方便在Mono的基础上做修改和微调

Mono跨平台原理

Mono打包先转化为中间语言,然后

在运行的时候再把中间语言翻译为机器码

总之,不会在编译的时候翻译为机器码,而是在运行的时候再编译

JIT方式

Just in time 只有运行的时候才会编译

优点:

打包速度快

只是一个翻译官

翻译为中间代码

支持运行时代码执行

必须将代码发布成托管程序集(.dll)

Mono VM的移植非常麻烦,python,java都是解释型语言,都要通过虚拟机来做事,来调用虚拟机的函数,每个平台都要重新翻译成哪个平台的机器语言,来匹配

Mono版本授权受限,很多C#新的特性无法使用

后期收费了

因此后期Unity发布了il2CPP

Mono打包目录结构

存在 游戏名_Data文件夹

逆向流程

开发人员代码被编译打包到 游戏名_Data\Managed\Assembly-CSharp.dll里面

常规C#逆向流程

使用dnSpy对该DLL进行反编译—支持动调调试

分析核心逻辑实现代码,约等于对着源码阅读

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

patch–打补丁

IL2CPP

IL to C++

AOT方式

ahead of time

会把中间代码在翻译成C++代码,直接用C++编译器就够了,

直接给他都编译好

特点

相比Mono构建更慢

程序效率高

多平台移植方便

打包目录结构

存在UnityPlayer.dll

存在 游戏名_Data 文件夹

没有Mono文件夹

游戏名_Data目录下有il2cpp_data文件夹

逆向流程

相比Mono更复杂些

GameAssembly.dll一般很大,得至少五十兆,非常大,所有代码都在里面

dumper工具回复符号

用IDA对dll反编译

分析核心逻辑实现的代码

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


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

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


相关文章
|
8天前
|
存储 自然语言处理 监控
【Unity 实用工具篇】| 游戏多语言解决方案,官方插件Localization 实现本地化及多种语言切换
Unity的多语言本地化是一个很实用的功能,它可以帮助游戏支持多种语言,让不同语言的玩家都能够更好地体验游戏。 而实现本地化的方案也有很多种,各个方案之间也各有优劣,后面也会对多个方案进行介绍学习。 本文就来介绍一个专门作用于多语言本地化的Unity官方插件:Localization 。 这个插件方便进行游戏的多语言本地化,让游戏支持多种语言,下面就来看看该插件的使用方法吧!
|
8天前
|
定位技术 C# 图形学
Unity和C#游戏编程入门:创建迷宫小球游戏示例
Unity和C#游戏编程入门:创建迷宫小球游戏示例
85 2
|
9月前
|
开发框架 Java .NET
《unity游戏优化》第8章内存优化
《unity游戏优化》第8章内存优化
|
8天前
|
运维 API C#
【Unity游戏破解】外挂原理分析
【Unity游戏破解】外挂原理分析
177 0
【Unity游戏破解】外挂原理分析
|
8天前
|
vr&ar 图形学
【Unity 3D】VR飞机起飞喷火游戏案例实战(附源码和演示视频 超详细)
【Unity 3D】VR飞机起飞喷火游戏案例实战(附源码和演示视频 超详细)
66 0
|
8天前
|
图形学
【Unity 3D】3D游戏跑酷小子实战教学(附源码和步骤 超详细)
【Unity 3D】3D游戏跑酷小子实战教学(附源码和步骤 超详细)
196 0
|
8天前
|
C# 图形学
【Unity】2D游戏-愤怒的小鸟教学实战(附源码和实现步骤 超详细)
【Unity】2D游戏-愤怒的小鸟教学实战(附源码和实现步骤 超详细)
223 1
|
8天前
|
C# 图形学
【Unity 3D】游戏对象、添加删除获取组件、预制体Prefabs简介
【Unity 3D】游戏对象、添加删除获取组件、预制体Prefabs简介
94 0
|
8天前
|
图形学
【Unity3D开发小游戏】Unity3D零基础一步一步教你制作跑酷类游戏
【Unity3D开发小游戏】Unity3D零基础一步一步教你制作跑酷类游戏
|
5月前
|
人工智能 图形学
Unity——游戏AI实例
Unity——游戏AI实例