Unity3D-游戏-通用MOD制作方法-修改游戏资源-未打包的资源修改
本文最后更新于:2021年3月27日 晚上
引言
游戏中的文本可能是游戏资源的一部分,也有可能是游戏代码的一部分
u3d的游戏资源保存在.asset
文件中,游戏代码则主要在 Assembly-CSharp.dll
中
只要我们修改游戏的文本内容,那么游戏显示的文本就会被改变
此处假定你已经阅读了前文,并且下载好了工具
确定基本MOD制作思路
- 找一位 没有加密资源的 U3D制作的 幸运儿游戏
- 大致观察其内容
- 进入游戏,确认目标
- 搜索目标所在
- 对目标内容进行修改,保存修改后的内容
- 重启游戏,观察是否修改成功
操作
寻找幸运儿游戏
如何确认游戏是否为Unity3D制作
进游戏出现的 U3D LOGO
没有出现不一定不是U3D制作的游戏
但,出现一定是U3D制作的游戏(应该不会有人免费打广告吧
大部分小成本U3D游戏开头都会有一个很明显的U3D的LOGO,相对而言比较好辨识
为什么说是小制作游戏?
U3D规定,如果你制作的游戏一年内的财务规模<10万美金的话,才可以使用个人版开发
否则必须使用付费版本开发
为什么会有这个LOGO?
U3D分为个人版(免费)和收费版
个人版虽然免费,但在打包游戏的时候,U3D引擎会在游戏开头贴上U3D的LOGO
这个LOGO在个人版中无法取消,只有在付费版本中才能取消
游戏资源文件观察
通过进入游戏根目录,搜索U3D游戏的游戏资源文件.assets
文件可以判断游戏是否是由U3D制作。并且得知我们能不能制作MOD
进入游戏根目录
搜索
.assets
文件
(其实这张图上的,图标、程序名,都可以作为识别依据如果能够找到,那么游戏就是用U3D制作的。并且我们能够处理这个游戏资源,制作一些简单的MOD
如果你找不到.assets
,那么说明游戏可能不是通过U3D制作。或者游戏资源经过了加密。 无论是哪种情况,对于 非逆向程序员 都无从下手,这里不作讨论
本次幸运儿挑选
由于这是第一个篇章,我会用特别的一个案例作为对象进行说明
现在,有请我们(来自老菊玩啥我玩啥系列)的幸运儿:Big Bia 登场
大致观察其内容
之所以选这个游戏,是因为这个游戏的一部分资源文件是在.assets
文件之外的
(那些.json
文件其实就相当于有格式规范的文本文件,可以用记事本打开直接看)
这种情况大概率是因为此游戏打算为MOD提供支持,从而将游戏资源刻意裸露在外
(在观察其游戏公告后,也印证了我的想法)
确认目标
这次的目标就定为改这个这句话好了
目标:修改“少年,找工作吗?”这句话
搜寻目标
如果你找不到目标,制作MOD来替换目标,或者添加新的目标也就无从谈起
对于根本没有任何资料的游戏来说,这个过程是相当痛苦的
搜寻目标的关键点 - 摸清思路
分类 与 层级
程序员(以至于普通人)会将文件按照一定规则加以分类,将同一类型的内容存放在同一位置
比如说,如果这个文件夹是存放 色图 的,基本可以确定整个游戏的 色图 都会放在这个文件夹里
与分类习惯类似,程序员(以至于普通人)会将文件按照其层级意义进行分类存放,形成一棵文件树(这棵树就像是族谱,不断扩展延伸)
就像是这样:
* 武器(文件夹)
* 剑(文件夹)
* 细剑(文件夹)
* 武器描述.txt
* 武器数值.json
* 阔剑(文件夹)
* 武器描述.txt
* 武器数值.json
* 枪(文件夹)
* AK-47(文件夹)
* 武器描述.txt
* 武器数值.json
* 半自动步枪(文件夹)
* 武器描述.txt
* 武器数值.json
这种思路会遍布整个游戏(在游戏代码中用的更多,比游戏资源还多)
这种特点决定了: 找到一个目标的位置很 麻烦/难。但在成功寻找到一个目标以后,同类型的目标都会相对较容易找
搜寻目标
目标:修改“少年,找工作吗?”这句话
在一开始观察游戏资源的时候,就留意到了,有一部分裸露的资源
就处理难度来说,裸露的资源修改相对简单,打包后的资源次之,最难的就是编译后的游戏程序代码
做MOD一般追寻结果主义,能达到目的即可,没必要完全深挖
所以这里会先从裸露资源中的 文本文件
入手
这里会用 DocFetcher 这个工具,根据 文本文件 的内容来尝试对目标进行尝试性的搜寻
- 添加搜索的文件夹
这里是要在暴露的游戏资源中找关键字,所以选择存放游戏资源的文件夹作为搜索目录 - 设置解析文本文件
由于游戏存放文本的文件是json类型,这里将json添加到解析内容中。如此一来,软件就会深入到json文本中进行解析 - 确认,等待完成
- 查看结果
找到了目标文本“少年,找工作吗?”,观察到是保存在霸道总裁的json文件里
(这里其实有兴趣的话,可以看看来到这个文件所经过的目录,就可以得知其它英雄的信息)
对目标内容进行修改,保存修改后的内容
由于只是普通的文本文件,直接打开需改内容
重启游戏,观察是否修改成功
然后重启游戏观察是否起作用
修改成功
总结
对于裸露在外的资源文件,修改起来是非常容易的
关键在于如何找到目标,理清 游戏程序员的思路
这次就先到这里了,下次来修改其它的内容
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!