惠州市跨境电子商务网站开发,Wordpress实现首页特效,网站建设与网页设计课程,图片无版权网站文章目录前言什么是外挂#xff1f;锁血瞬移都是怎么做的#xff1f;Unity引擎的致命缺陷是什么#xff1f;WEB入侵如何做到#xff1f;Unity外挂攻防概述典型游戏现实应用Unity开发流程Unity工作界面打包发布方式MonoMono跨平台原理JIT方式优点#xff1a;因此后期Unity发… 文章目录前言什么是外挂锁血瞬移都是怎么做的Unity引擎的致命缺陷是什么WEB入侵如何做到Unity外挂攻防概述典型游戏现实应用Unity开发流程Unity工作界面打包发布方式MonoMono跨平台原理JIT方式优点因此后期Unity发布了il2CPPMono打包目录结构逆向流程IL2CPPAOT方式特点打包目录结构逆向流程前言
什么是外挂
锁血瞬移都是怎么做的
Unity引擎的致命缺陷是什么
WEB入侵如何做到
就是先用kali扫一下手机信息。根据开了什么端口等等来判断如何去做是不是可以直接弱口令。
Unity外挂攻防概述 典型游戏
王者荣耀 原神 永劫无界 明日方舟 森林之子
现实应用
工程建设与数字城市 汽车开发
Unity开发流程
创建项目 导入资源 搭建场景 添加组件 编写逻辑 程序测试 打包发布
Unity工作界面 打包发布方式
两种脚本后端 Mono IL2CPP最近常用
Mono
Mono 是跨平台的 .Net Framework 的实现。Mono 做了一件很了不起的事情将 CLR 在所有支持的平台上重新实现了一遍包含手机上常用的安卓平台和SwitchPS4这样的游戏机平台并且mono还将 .Net Framework 提供的基础类库也重新实现了一遍。
Unity当年选用Mono而不是几乎只能在Windows上运行的.Net Core 就是看重了Mono的跨平台支持。并且Mono是一个开源软件Unity也很方便在Mono的基础上做修改和微调。 Mono跨平台原理 Mono打包先转化为中间语言然后 在运行的时候再把中间语言翻译为机器码 总之不会在编译的时候翻译为机器码而是在运行的时候再编译
JIT方式
Just in time 只有运行的时候才会编译
优点
打包速度快 只是一个翻译官
翻译为中间代码
支持运行时代码执行
必须将代码发布成托管程序集.dll
Mono VM的移植非常麻烦pythonjava都是解释型语言都要通过虚拟机来做事来调用虚拟机的函数每个平台都要重新翻译成哪个平台的机器语言来匹配
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