位置: 编程技术 - 正文
推荐整理分享Unity3d 反编译破解游戏 简单示例 (使用ildasm反编译DLL修改然后重新编译DLL)(unityfs 加密反编译),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:unity反编译为工程文件,unity3d编译器,unity手游反编译,unity 反作弊,unity3d反编译工具,unity反编译后重新封包,unity反编译apk成项目源文件,unity3d反编译工具,内容如对您有帮助,希望把文章链接给更多的朋友!
因为这几天碰到一个Unity的Bug,不得不去反编译DLL看看C#代码的生成中间件代码。这也用到了一些反编译以及重新编译DLL的一些知识,意味到Unity是如此的不安全。
首先我们新建一个工程,创建一个脚本,写一句很简单的代码:
代码逻辑就是输出一个字符串 "" ,这次的目的就是修改掉 这个字符串,改成其它的。
好了。先运行一下,让Unity把代码编译成DLL。
很好,输出了代码中的字符串 。
然后停掉游戏。我们来修改Unity 生成的DLL。
Unity生成的DLL存储在
打包之后存储在Data/Manager 文件夹。
下面开始反编译&&破解&&重新编译
反编译DLL在开始菜单找到Visual Studio,然后在子目录找到 开发人员命令提示 ,如下图:
然后切换目录到 Unity 生成的 DLL 文件夹
输入命令:
如下图:
然后输入以下命令来反编译 DLL 为 il 文件:
如下图:
然后在我们的文件夹中可以看到生成的 il 文件和 res 文件
OK,下面开始我们的破解步骤
破解用文本编辑器打开生成的 il 文件 Assembly-CSharp.il
内容如下:
如果代码很多而生成的这个 il 文件太大,可以直接搜索 类名 然后再到类里面查找 函数名
我们看到 Start() 函数
il 代码还是具有一定可读性,就算不写上注释大家也能把意思猜的一半,这段代码的 大意就是引用一个字符串,然后调用方法去输出。
那么我们的目的就是修改 代码中指定的字符串 ,修改为其它的,这里就修改为 "you have been cracked!"。
直接修改 。如下图
重新编译为DLL保存下上面的修改,然后继续在 控制台中执行以下命令
编译DLL成功,会覆盖掉原来的 DLL。可以通过DLL的修改时间来判断。
再次运行 游戏,查看输出的Log,发现已经被修改了。
更多关于IL 指令的介绍:
版权声明:本文为博主原创文章,未经博主允许不得转载。
OpenCV-EmguCV 在 Unity3D 中的配置 一:软件版本1.软件版本不同,配置方法或有差异2.该配置方法以下列标注的版本为例:2.1)Unity3D5.0.2f.2)EmguCV2.4..3)OpenCV2.4..4)后二者版本要求一致
【Unity3d】如何解决Unity3d在引用外部插件时报DLLNotFoundException的问题 我们在项目中使用了Lua插件,一直用得很好,最近安装了几台新的祼机,用Unity在编辑器模式下运行项目时发现总是报DllNotFoundException:/Assets/Plugins/lua.dll解决
以游戏实例介绍Unity3d IntrotoUnityThisinstructableisaimedatsuperbeginners!YouwillneedtoinstallUnity4.x(FreeorPro).
标签: unityfs 加密反编译
本文链接地址:https://www.jiuchutong.com/biancheng/368412.html 转载请保留说明!下一篇:OpenCV-EmguCV 在 Unity3D 中的配置
友情链接: 武汉网站建设