【Unity】DnSpy断点调试Unity已发行游戏的dll
前言
DnSpy是本人一直在用的反编译软件,很好用,今天闲来无事的时候用DnSpy的调试功能断点调试了一下Unity的游戏【发行版】,很好用,于是想着要分享给大家。
前期准备
DnSpy下载
Unity调试教程(英文教程)
使用方法【仅针对发行版】
本方法仅针对发行版,即已经写好并且发布的游戏。
1. 查看游戏开发的Unity版本
查看游戏是用哪一个版本的Unity开发的可以通过AssetStudio【一款专门查看Unity游戏的资源文件的软件】查看,当然这是比较复杂的,不过一定是可以查询出来的。
这里介绍一个简单的方法,找到你要打开的游戏的EXE可执行文件,【右键属性-详细信息】就可以看到。
可以看到,我这边开发使用的Unity版本就是5.2.4,记住这个版本号。
2.Mono.dll下载
Mono文件下载
下载页面找到Unity那些文件,根据自己的版本下载对应的压缩包。
我这边因为版本为5.2.4,所以这里下载5.x版本。
不同的Unity版本使用不同的mono.dll文件名。较旧的Unity游戏使用.NET 2.0-3.5程序集并使用mono.dll,而较旧的Unity游戏使用.NET 4.x程序集mono-2.0-bdwgc.dll。此文件存储在不同的位置,具体取决于Unity版本,一般的话就是以下几个位置:
<root> \ <GAME> _Data \ Mono \ mono.dll
<root> \ <GAME> _Data \ Mono \ EmbedRuntime \ mono.dll
<root> \ <GAME> _Data \ MonoBleedingEdge \ EmbedRuntime \ mono-2.0-bdwgc.dll
<root> \ Mono \ EmbedRuntime \ mono.dll
<root> \ MonoBleedingEdge \ EmbedRuntime \ mono-2.0-bdwgc.dll
将dnSpy的补丁mono.dll/ mono-2.0-bdwgc.dll找到对应版本后将文件复制到游戏中,覆盖其文件。
3. DnSpy调试
在我们想要调试的地方打上断点【快捷键:F9
】
然后点击【调试-启动调试】
然后配置如下,基本上选定要运行的EXE文件和启动目录之后(默认会选定好),然后选择自己喜欢的端口(一定要没有被占用),然后点击OK就可以开始调试了。
最后
最后和大家说一点,一般用来查看局部变量或者堆栈什么的还是很有效的【对方混淆了dll的前提下】,如果没有混淆dll的话其实直接用dnspy大部分逻辑就可以看清楚。
最后,最好不要用在修改破解上,算了,这就当我放屁 ,不要用在非法的事情上啊!!!
【Unity】DnSpy断点调试Unity已发行游戏的dll相关推荐
- Unity+IDEA 断点调试Lua
IntelliJ IDEA是什么? IntelliJ IDEA 简称 IDEA,由 JetBrains 公司开发,是 Java 编程语言开发的集成环境,具有美观,高效等众多特点.在智能代码助手.代码自 ...
- (转载)Unity真机调试
Unity Android模拟器调试 Unity项目遇到了只会在Android上出现的问题,code review再三没有找到问题,只能想到动态调试了.Unity Android的真机调试只能使用Wi ...
- UNIYT关于V S2017,VS2019断点调试卡住的问题
实际项目开发中,项目很大,用VS断点调试UNITY项目时,UNITY常常卡住,甚至有时每次必卡. 这原因是由于项目开久了,unity的libaray文件夹越来越复杂,可能会导致一些UNITY的BUG, ...
- 说说如何使用unity Vs来进行断点调试
转载自:http://dong2008hong.blog.163.com/blog/static/4696882720140293549365/ 大家可以从这下载最新版的unity vs. Unity ...
- 网龙暑期训练营第二周:Unity介绍、调试以及小游戏demo开发
本文梳理第二周训练营视频中所提到的知识点,便于大家复习巩固,也便于自己日后查阅.视频内容主要分为三个部分: 1.Unity功能介绍 2.玩泥巴游戏开发 3.Unity调试操作 1.Unity功能界面 ...
- Unity 引擎 14 年!开发者除了游戏还可以用它来做什么?
从世界级的 RPG 游戏到全民风靡的 MOBA 游戏之<王者荣耀>,越来越多的游戏开发者开始选择使用 Unity 来创建出各种类型的游戏,这其中缘由不仅是因为 Unity 能为企业节省大量 ...
- 【使用Unity开发Windows Phone上的2D游戏】(1)千里之行始于足下
写在前面的 其实这个名字起得不太欠当,Unity本身是很强大的工具,可以部署到很多个平台,而不仅仅是可以开发Windows Phone上的游戏. 只不过本人是Windows Phone 应用开发出身, ...
- Unity VR学习:第一人称射击游戏(1)
Unity VR学习:第一人称射击游戏(1) 1.封装标签和场景淡入淡出效果实现 (1) 封装标签 1.标签有Player,Enemy,GameController,Fader(画布),MainCam ...
- [Unity3D] Unity3D连接安卓设备调试unity程序
目录 一.手机开启调试模式,确保adb能检测到手机 目的:确保adb能检测到手机,通过adb devices命令能够呈现如下效果 常见问题: 二.unity配置工作 目的:配置unity中Build ...
最新文章
- 【转】Android 4.3源码的下载和编译环境的安装及编译
- Shell编程中Shift的用法
- xfermode的基本用法
- 错误Cannot resolve org.springframework.data:spring-data-redis:2.2.6 RELEASE
- linux 774是什么权限,Linux权限
- 编译hadoop源码遇到问题 及时解决
- 列顺序对SQL Server复合索引的影响
- 大学计算机实验报告2,大学计算机基础实验报告2.doc
- (9.19更新:八戒退款) 砸进七万块,没想到你是这样的猪八戒网
- golang 使用openoffice 生成pdf_使用golang生成PDF文件
- java8新特性 函数式编程 Lamda
- 企业微信登陆,操作企业微信通讯录(代码已上传github)
- 紫光展锐发布系统级安全的高性能5G SoC移动平台T820
- 21秋期末考试个人与团队管理10257k2
- 项目经理start法则_开放科学项目的7条经验法则
- 脚手架(一)——脚手架开发入门
- 华为5c_华为荣耀畅玩5C什么配置参数?标配有什么?
- oracle leg,[LEG引擎]英雄合击数据库
- 京东数科,走不一样的路,看不一样的风景
- 计算机网络与应用初稿,《计算机与网络应用》初稿