dnSpy调试unity游戏 反编译unity游戏

0.准备工作

下载dnspy
https://github.com/dnSpy/dnSpy/releases

根据游戏是32位还是64位选择dnspy,不是根据自己电脑位数(其实32位还是64位都可以反编译看代码,但是位数不对,则不能进行调试)
在这里插入图片描述
下载完成后解压即可

1.简单使用(查看unity游戏源码)

1.1 打开dnspy

1.2 找到游戏位置

一般在游戏目录下的 游戏名_Data/Managed下
在这里插入图片描述

1.3 将Assembly-CSharp.dll拖入dnspy中

之后即可看到反编译的各个类
在这里插入图片描述

2.调试运行游戏

2.1 备份整个游戏

2.2 下载调试版本mono.dll

根据运行exe的信息判断unity版本
在这里插入图片描述
下载:
Unity-debugging-5.x.zip

2.3 替换mono.dll

根据unity版本不同mono.dll的位置不同,可能在以下位置

<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

根据游戏位数选择替换的mono.dll(如果错误的话unity项目将无法运行)

2.4 添加环境变量

DNSPY_UNITY_DBG:
--debugger-agent=transport=dt_socket,server=y,address=127.0.0.1:55555,defer=y,no-hide-debugger
DNSPY_UNITY_DBG2:
--debugger-agent=transport=dt_socket,server=y,address=127.0.0.1:55555,suspend=n,no-hide-debugger

2.5 打开游戏对应位数的dnspy

2.6 打断点

2.7 开始调试

选择调试引擎unity和运行程序,即可调试
在这里插入图片描述

3.调试正在运行的程序

前面同上面的流程到2.6

3.1 运行游戏

3.2 调试

选择unity(连接)
在这里插入图片描述

4.注意点

如果调试不了可能是dnspy位数不对。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jumper17

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值