使用Cheat Engine与DnSpy破解Unity游戏

这篇具有很好参考价值的文章主要介绍了使用Cheat Engine与DnSpy破解Unity游戏。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用Cheat Engine与DnSpy破解Unity游戏

题目连接:

https://play.picoctf.org/practice/challenge/361?originalEvent=72&page=3

我们是windows系统,所以点击windows game下载游戏

使用Cheat Engine与DnSpy破解Unity游戏

双击运行pico.exe

使用Cheat Engine与DnSpy破解Unity游戏

屏幕上方的一串英文是叫我们找flag,我在这个小地图里走来走去也没flag,我上梯子后才发现突破点

使用Cheat Engine与DnSpy破解Unity游戏

墙外有一个旗帜,但是我们无法出去,有空气墙,我们碰到旗帜就应该能拿到flag了

目前能拿到flag的思路:

使用Cheat Engine控制人物的坐标,直接修改坐标值,强制出去
使用DnSpy修改程序代码,使一开始运行游戏的时候就显示flag

这两个方式我都会演示

Cheat Engine

Cheat Engine是一款用于修改计算机游戏运行时内存中数值的开源工具。它可以搜索和修改游戏中的各种数值,如生命值、金钱、经验值等等
下载地址:

https://www.cheatengine.org/

使用ctrl+alt+tab使游戏在后台运行,安装好Cheat Engine后双击运行

使用Cheat Engine与DnSpy破解Unity游戏

点击左上角的图标,导入我们的游戏进程

使用Cheat Engine与DnSpy破解Unity游戏

导入之后就要搜索我们要修改的值了,在unity中,玩家的坐标是浮点数,我们可以一直移动来找到坐标值

使用Cheat Engine与DnSpy破解Unity游戏

由于我们不知道坐标,scantype选择未知的值,valuetype选择浮点数,然后点击firstscan

使用Cheat Engine与DnSpy破解Unity游戏

可以看到,他扫描到了215168000个值,太多了,现在来慢慢筛选,点击scantype,选择增加值

使用Cheat Engine与DnSpy破解Unity游戏

然后回到游戏,我们向前走几步

使用Cheat Engine与DnSpy破解Unity游戏

然后回到Cheat Engine,点击nextscan

使用Cheat Engine与DnSpy破解Unity游戏

可以看到,值减少了很多,现在我们回到游戏,后退几步,回到Cheat Engine,选择减少值

使用Cheat Engine与DnSpy破解Unity游戏

点击扫描后又少了一些值,一直重复这几个动作

使用Cheat Engine与DnSpy破解Unity游戏

使用Cheat Engine与DnSpy破解Unity游戏

现在值减少到了6千多个,然后选择不变的值,点击repeat

使用Cheat Engine与DnSpy破解Unity游戏

点击nestscan

使用Cheat Engine与DnSpy破解Unity游戏

现在有400多个值,取消repeat,回到游戏,继续重复上面的动作

使用Cheat Engine与DnSpy破解Unity游戏

现在只剩下60多个值了,我们点击address然后右下角的图标

使用Cheat Engine与DnSpy破解Unity游戏

在最下面我们随便勾选几个值,代表着冻结,然后回到游戏看能不能移动,如果不能就慢慢筛选,直到找到坐标的值

经过一段时间的筛选后,发现这个值就是坐标值,一旦我冻结了他,回到游戏就无法移动

使用Cheat Engine与DnSpy破解Unity游戏

首先我们冻结这个值,然后双击,随便改一个值

使用Cheat Engine与DnSpy破解Unity游戏

注意别改太大了,大概这个值就能出去

使用Cheat Engine与DnSpy破解Unity游戏

现在解禁函数,我们走到旗帜前

使用Cheat Engine与DnSpy破解Unity游戏

出现了falg

picoCTF{WELCOME_TO_UNITY!!}

使用Cheat Engine与DnSpy破解Unity游戏

DnSpy

DnSpy是一款开源的.NET程序集反编译工具,它可以将.NET程序集反编译成可读性较高的C#代码或者IL代码。DnSpy不仅可以查看反编译后的代码,还可以编辑和调试.NET程序集,包括修改程序集中的变量值、方法等等

下载地址:

https://github.com/dnSpy/dnSpy/releases/tag/v6.1.8

Assembly-CSharp.dll是unity的程序集,所以我们反汇编这个文件就好了

使用Cheat Engine与DnSpy破解Unity游戏

双击打开DnSpy,将Assembly-CSharp.dll拖入

使用Cheat Engine与DnSpy破解Unity游戏

使用Cheat Engine与DnSpy破解Unity游戏

在APTX里找到了一些有趣的函数

使用Cheat Engine与DnSpy破解Unity游戏

private void OnTriggerEnter(Collider collision)
{
	if (collision.gameObject == this.player)
	{
		this.Mysterious.SetActive(true);
	}
}

如果玩家碰撞了这个对象,就会输出一些东西,这应该就是flag的触发方式了

使用Cheat Engine与DnSpy破解Unity游戏

在下面,可以看到游戏启动的函数名次Start

首先我们复制this.Mysterious.SetActive(true);这一行代码,然后右击APTX

使用Cheat Engine与DnSpy破解Unity游戏

使用Cheat Engine与DnSpy破解Unity游戏

然后右击我们创建的Start,选择编辑方法

使用Cheat Engine与DnSpy破解Unity游戏

然后进行修改,使一进入游戏就输出flag

使用Cheat Engine与DnSpy破解Unity游戏

使用Cheat Engine与DnSpy破解Unity游戏

ctrl+shift+s保存所有,双击打开游戏

使用Cheat Engine与DnSpy破解Unity游戏

一进去就能看见flag了文章来源地址https://www.toymoban.com/news/detail-450748.html

到了这里,关于使用Cheat Engine与DnSpy破解Unity游戏的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity游戏逆向及破解方法介绍

    背景介绍 随着手游的发展,Unity3D引擎逐渐成为主流的游戏开发解决方案,传统cocos的2D游戏逐渐被取代,一些公司在Unity3D游戏方面的产出也越来越多,如天天飞车,天天来战,全民破坏神,全民偶像,全民突击等游戏。Unity3D游戏的不断产出,游戏的安全性要求也越来越高,

    2023年04月08日
    浏览(34)
  • Unity 开发人员转CGE(castle Game engine)城堡游戏引擎指导手册

    一、简介 2. Unity相当于什么GameObject? 3. 如何设计一个由多种资产、生物等组成的关卡? 4. 在哪里放置特定角色的代码(例如生物、物品)?Unity 中“向 GameObject 添加 MonoBehaviour”相当于什么? 5.Unity子目录相当于什么Assets? 6. 支持哪些模型格式? 7. 支持FBX模型格式吗? 8.

    2024年02月07日
    浏览(76)
  • C语言与游戏引擎插件开发:Unity、Unreal Engine中C插件的编写与集成(四)

    目录 一、C插件开发最佳实践与常见问题解析 性能优化: 跨平台兼容性: 版本管理与升级: 二、结论 C语言在游戏引擎插件开发中的关键作用与优势: 对开发者提出建议: 性能优化: 内存管理: 智能指针 :利用UE的 TSharedPtr 、 TWeakPtr 等智能指针管理动态内存,确保资源释

    2024年04月27日
    浏览(52)
  • C语言与游戏引擎插件开发:Unity、Unreal Engine中C插件的编写与集成(一)

    目录 一、引言 C语言在游戏开发中的重要地位与优势 游戏引擎插件机制与C语言的价值 二、C语言基础与游戏开发特性 C语言核心特性及其在游戏开发中的应用 游戏引擎API对接关键概念与技巧 C语言在游戏开发领域占据着无可替代的重要地位,尤其在应对高性能计算需求与底层

    2024年04月29日
    浏览(68)
  • dnSpy反编译Unity Apk

    我发现网上有些人做的Unity游戏很不错,想要一份源码来研究,于是去找到了一些游戏的APK,我用dnSpy软件将apk反编译了一下,拿到了Unity游戏的源码(包括资源和代码) dnspy GItHub下载地址 准备一个你想要反编译的Apk 打开dnSpy的GitHub下载地址,如下图所示 如下图所示:这是下

    2024年02月10日
    浏览(34)
  • unity存储信息的方式,保存读取背包、游戏进度,连接MySQL数据库

    为了在Unity中存储信息,有几种方法可供选择。最常见的方法是 PlayerPrefs、Serialization和Database 。 PlayerPrefs是一种简单的存储小量数据(如玩家偏好或游戏设置)的方法。它易于使用,不需要任何外部库。但是,不建议用于存储大量数据或敏感信息。 Serialization是另一种在Unit

    2024年02月09日
    浏览(60)
  • Unreal Engine游戏引擎的优势

    在现在这个繁荣的游戏开发行业中,选择合适的游戏引擎是非常重要的。其中,Unreal Engine作为一款功能强大的游戏引擎,在业界广受赞誉。那Unreal Engine游戏引擎究竟有哪些优势,带大家简单的了解一下。 图形渲染技术 Unreal Engine确实提供了先进的图形渲染技术,包括实时光

    2024年02月03日
    浏览(44)
  • 下载.NET的反编译调试工具dnSpy和简易使用

            dnSpy 是一个.NET 程序集的反编译编辑器【即:没有可用的源代码,也可以使用它来编辑和调试现有的程序集】;主要功能是: dnSpy反编译工具的特点 序号 特点 1 调试.NET 和Unity的程序集 【 ①不需要源代码即可设置断点并单步执行任何程序集; ②变量窗口支持将变

    2024年02月16日
    浏览(35)
  • Unity之NetCode多人网络游戏联机对战教程(4)--连接申请ConnectionApproval

    没看过前面的教程请先阅读前面的教程,本期将会讲到Netcode联机的申请,当一个Client想连接进来,应向Server发送申请联机的信息,然后由服务端向客户端下发数据,所有数据应该在服务端,而不是在客户端。 举几个常见的例子需要用到 ConnectionApproval 的场景 使用密码加入房

    2024年02月03日
    浏览(57)
  • Unreal Engine 游戏中枪的构建

      一、创建枪蓝图 1、创建一个actor蓝图: 在Blueprints文件夹中右键添加蓝图类actor并命名为Gun_BPGun_BP 2、添加骨骼网格体组件 双击打开蓝图类,在左上角组件中添加骨骼网格体组件 3、选择枪模型 选中骨骼网格体组件,将枪的网格体选中为这样 4、将骨骼网格体设置为蓝图的根

    2024年02月03日
    浏览(69)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包