草庐IT

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

20岁爱吃必胜客 2025-07-09 原文

文章目录

认识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


有关【Unity游戏破解】外挂原理分析的更多相关文章

  1. Unity 热更新技术 | (三) Lua语言基本介绍及下载安装 - 2

    ?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------

  2. FOHEART H1数据手套驱动Optitrack光学动捕双手运动(Unity3D) - 2

    本教程将在Unity3D中混合Optitrack与数据手套的数据流,在人体运动的基础上,添加双手手指部分的运动。双手手背的角度仍由Optitrack提供,数据手套提供双手手指的角度。 01  客户端软件分别安装MotiveBody与MotionVenus并校准人体与数据手套。MotiveBodyMotionVenus数据手套使用、校准流程参照:https://gitee.com/foheart_1/foheart-h1-data-summary.git02  数据转发打开MotiveBody软件的Streaming,开始向Unity3D广播数据;MotionVenus中设置->选项选择Unit

  3. unity---接入Admob - 2

    目录1.AdmobSDK下载地址2.将下载好的unityPackagesdk导入到unity里​编辑 3.解析依赖到项目中

  4. Unity 3D 制作开关门动画,旋转门制作,推拉门制作,门把手动画制作 - 2

    Unity自动旋转动画1.开门需要门把手先动,门再动2.关门需要门先动,门把手再动3.中途播放过程中不可以再次进行操作觉得太复杂?查看我的文章开关门简易进阶版效果:如果这个门可以直接打开的话,就不需要放置"门把手"如果门把手还有钥匙需要旋转,那就可以把钥匙放在门把手的"门把手",理论上是可以无限套娃的可调整参数有:角度,反向,轴向,速度运行时点击Test进行测试自己写的代码比较垃圾,命名与结构比较拉,高手轻点喷,新手有类似的需求可以拿去做参考上代码usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;u

  5. ruby - 我需要从 facebook 游戏中抓取数据——使用 ruby - 2

    修改(澄清问题)我已经花了几天时间试图弄清楚如何从Facebook游戏中抓取特定信息;但是,我遇到了一堵又一堵砖墙。据我所知,主要问题如下。我可以使用Chrome的检查元素工具手动查找我需要的html-它似乎位于iframe中。但是,当我尝试抓取该iframe时,它​​是空的(属性除外):如果我使用浏览器的“查看页面源代码”工具,这与我看到的输出相同。我不明白为什么我看不到iframe中的数据。答案不是它是由AJAX之后添加的。(我知道这既是因为“查看页面源代码”可以读取Ajax添加的数据,也是因为我有b/c我一直等到我可以看到数据页面之后才抓取它,但它仍然不存在)。发生这种情况是因为

  6. python - Ruby 或 Python 的 3d 游戏引擎? - 2

    关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭9年前。Improvethisquestion是否有适用于这些的3d游戏引擎?

  7. 建模分析 | 平面2R机器人(二连杆)运动学与动力学建模(附Matlab仿真) - 2

    目录0专栏介绍1平面2R机器人概述2运动学建模2.1正运动学模型2.2逆运动学模型2.3机器人运动学仿真3动力学建模3.1计算动能3.2势能计算与动力学方程3.3动力学仿真0专栏介绍?附C++/Python/Matlab全套代码?课程设计、毕业设计、创新竞赛必备!详细介绍全局规划(图搜索、采样法、智能算法等);局部规划(DWA、APF等);曲线优化(贝塞尔曲线、B样条曲线等)。?详情:图解自动驾驶中的运动规划(MotionPlanning),附几十种规划算法1平面2R机器人概述如图1所示为本文的研究本体——平面2R机器人。对参数进行如下定义:机器人广义坐标

  8. Unity Shader 学习笔记(5)Shader变体、Shader属性定义技巧、自定义材质面板 - 2

    写在之前Shader变体、Shader属性定义技巧、自定义材质面板,这三个知识点任何一个单拿出来都是一套知识体系,不能一概而论,本文章目的在于将学习和实际工作中遇见的问题进行总结,类似于网络笔记之用,方便后续回顾查看,如有以偏概全、不祥不尽之处,还望海涵。1、Shader变体先看一段代码......Properties{ [KeywordEnum(on,off)]USL_USE_COL("IsUseColorMixTex?",int)=0 [Toggle(IS_RED_ON)]_IsRed("IsRed?",int)=0}......//中间省略,后续会有完整代码 #pragmamulti_c

  9. 三分钟集成 TapTap 防沉迷 SDK(Unity 版) - 2

    三分钟集成Tap防沉迷SDK(Unity版)一、SDK介绍基于国家对上线所有游戏必须增加防沉迷功能的政策下,TapTap推出防沉迷SDK,供游戏开发者进行接入;允许未成年用户在周五、六、日以及法定节假日晚上8:00-9:00进行游戏,防沉谜时间段进入游戏会弹窗进行提示!开发环境要求:Unity2019.4或更高版本iOS10或更高版本Android5.0(APIlevel21)或更高版本🔗Unity集成Demo参考链接🔗UnityTapSDK功能体验APK下载链接二、集成前准备1.创建应用进入开发者后台,按照提示开始创建应用;2.开通服务在使用TDS实名认证和防沉迷服务之前,需要在上面创建的应

  10. 【Unity大气散射】GAMES104:3A中如何实现大气散射 - 2

    写在前面前两天学习并整理的大气散射基础知识:【Unity大气渲染】关于单次大气散射的理论知识,收获了很多,但不得不承认的是,这其实已经是最早的、90年代的非常古老的方法了,后来也出现了一些优化性的计算思路和方法。因此,我打算先不急着跟各种教程在Unity中实现大气散射,而是再花时间来看看最近的游戏是如何去实现大气渲染的:06.游戏中地形大气和云的渲染(下)|GAMES104-现代游戏引擎:从入门到实践接下来就跟着GAMES104讲地形大气和云渲染的部分学习并做简单的记录,涉及到之前没提到的Mie散射也只选择直接截图PPT的方式记录啦!毕竟对于做作品来说,之后实现出来才是重要的~当然,May佬的

随机推荐