#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

posted on 2021-07-30 17:43  MirzkisD1Ex0  阅读(586)  评论(0编辑  收藏  举报