Unity3d 反编译破解游戏 简单示例 使用ildasm反编译DLL修改然后重新编译DLL

本文介绍了如何使用ildasm反编译Unity生成的DLL,进行代码修改,然后重新编译的过程。通过一个简单的示例,演示了如何改变Unity游戏中输出的字符串,以此说明Unity的不安全性。
摘要由CSDN通过智能技术生成
               

因为这几天碰到一个Unity的Bug,不得不去反编译DLL看看C#代码的生成中间件代码。这也用到了一些反编译以及重新编译DLL的一些知识,意味到Unity是如此的不安全。


首先我们新建一个工程,创建一个脚本,写一句很简单的代码:

using UnityEngine;using System.Collections;public class crack1 : MonoBehaviour// Use this for initialization void Start () {  Debug.Log("123"); }  // Update is called once per frame void Update () {  }}

代码逻辑就是输出一个字符串 "123" ,这次的目的就是修改掉 这个字符串,改成其它的。

好了。先运行一下,让Unity把代码编译成DLL。



很好,输出了代码中的字符串 123 。

然后停掉游戏。我们来修改Unity 生成的DLL。


Unity生成的DLL存储在

\Library\ScriptAssemblies\Assembly-CSharp.dll

打包之后存储在Data/Manager 文件夹。


下面开始反编译&&破解&&重新编译


反编译DLL

在开始菜单找到Visual Studio,然后在子目录找到 开发人员命令提示 ,如下图:


然后切换目录到 Unity 生成的 DLL 文件夹

输入命令:


  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值