#region Environment
Windows 10 21H1
Unity 2020.3.15f1c1 LTS
VSCode 1.58.2
// ToneTune Toolkit 下载地址
// https://github.com/MirzkisD1Ex0/ToneTuneToolkit.git
#endregion
dnSpy和AssetStudio令我对Unity的安全性产生了质疑。
我写的程序真的安全吗?
我程序里的资源会被恶意挪用吗?
文章中的两个工具请自行下载。
给诸位Unity工程师看一下程序破解的全流程,希望诸位能寻找到给程序安全加密的方式。
dnSpy
01.简单的摆一个UGUIText,写个C#脚本挂在上面,在Start中为这个文本内容赋值。如果反编译成功,就可以修改脚本中的内容,使“目标”二字被替换成其它内容。
02.打包好的程序。
03.启动dnSpy,开始修改程序内容。
04.用dnSpy加载程序目录,并在打包好程序文件中找到Assembly-CSharp.dll。
05.如图所示,在dll中找到脚本,再于脚本中找到先前编写的方法。
06.在dnSpy中点击编辑-编辑方法,进入编辑状态。
07.修改内容,点击编译。(无智能提示,无程序报错提示)
08.从文件中点击保存,将dll保存。
09.修改前程序运行的效果。
10.修改后的效果,可以看到文字已经被改变了,这意味着脚本中的内容被改变了。
接下来演示资源提取。
AssetStudio
01.目标是把程序中的这张狗狗图片从程序中提取出来。
02.将程序打包发布。
03.打开AssetStudio,加载程序目录。
04.可以在结构树中查看程序场景的对象结构。在资源中找到狗狗的图片,点击导出。
05.狗狗图片被完整的导出。资源被提取出来了……
好吧……不知道往后Unity的程序该如何进行加密了。
反编译暂且不提,程序内的资源内容居然可以被如此轻易的抽取……
有点让人不知所措,不知道现在有没有靠谱的资源加密方式。
#region Introduction
此工程位于Github,遵从MPLv2.0协议,请根据需求使用。Pull完记得点个Star!
文章仅作抛砖引玉之用,希望能够借此给予寻求思路的开发者们一些灵感。
此教程系列曾属于“Unity The Great”,但由于“Tone Tune Tookit”的诞生,开发组决定将两个系列进行合并。
如果内容中出现了语混序乱、错鳖字、缺少标点符号的情况还请见谅
互联网精神永存。
Hooray!!!
#endregion
#region Developer
[团队代言人博客]
// https://www.cnblogs.com/mirzkisd1ex0/
[开发者邮箱]
// dearisaacyang@outlook.com
[开发者微信]
// wxid_63t8w3035kvp22
[开发者企鹅]
// 2957047371
#endregion