【Unity】DnSpy断点调试Unity已发行游戏的dll

前言

DnSpy是本人一直在用的反编译软件,很好用,今天闲来无事的时候用DnSpy的调试功能断点调试了一下Unity的游戏【发行版】,很好用,于是想着要分享给大家。

前期准备

DnSpy下载
Unity调试教程(英文教程)

使用方法【仅针对发行版】

本方法仅针对发行版,即已经写好并且发布的游戏。

1. 查看游戏开发的Unity版本

查看游戏是用哪一个版本的Unity开发的可以通过AssetStudio【一款专门查看Unity游戏的资源文件的软件】查看,当然这是比较复杂的,不过一定是可以查询出来的。
这里介绍一个简单的方法,找到你要打开的游戏的EXE可执行文件,【右键属性-详细信息】就可以看到。
文件版本
可以看到,我这边开发使用的Unity版本就是5.2.4,记住这个版本号。

2.Mono.dll下载

Mono文件下载
下载页面找到Unity那些文件,根据自己的版本下载对应的压缩包。
Mono的压缩包
我这边因为版本为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大部分逻辑就可以看清楚。
最后,最好不要用在修改破解上,算了,这就当我放屁 ,不要用在非法的事情上啊!!!

评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值