通用游戏解包指南

您所在的位置:网站首页 游戏cg的后缀 通用游戏解包指南

通用游戏解包指南

2024-06-04 07:21| 来源: 网络整理| 查看: 265

尚不完善,欢迎编辑。

编写游戏wiki需要大量游戏数据、资源、图片和文本,这通常需要从游戏文件中提取和解析,俗称“解包”。

解包可以快速准确的完善Wiki内容,促进玩家对游戏的认识,增强游戏体验,繁荣玩家社区。

本文不针对特定游戏,旨在简述通用的游戏解包思路和步骤,给出常用的工具和方法。注意到一些「电子商务平台」的第三方卖家提供「游戏数据提取」相关的服务,可以一键完成解包工作,则不在本文的讨论范围。

目录 1 前提 1.1 尊重版权 1.2 前提需求 2 通用步骤 2.1 备份游戏文件 2.2 识别游戏引擎 2.3 观察文件组织,寻找数据文件 2.4 解析并导出数据 2.5 分析游戏源码 前提 尊重版权

这种逆向工程应当仅用于编写Wiki,为玩家提供信息。上传到wiki的游戏图片也应该注明版权。

需要注意,在商业平台上使用,或者公开发布游戏解包内容都是对游戏版权的侵犯。

最近的例子是碧蓝档案发给Nijineko的律师函。

当然,一些官方参与的游戏wiki可以获取第一手信息,一些游戏会给出详细的解包教程,一些游戏会以良格式存储数据并开放API以促进游戏社区开发MOD。

前提需求

如果不满足以下需求,建议以请其他小伙伴帮忙解包。

善于使用搜索引擎 了解一些相关文件格式(比如json) 熟悉至少一种编程语言,能写点代码 通用步骤 备份游戏文件

可选,注意一些游戏的工具可能会修改/增加游戏目录中文件。

识别游戏引擎

如果目标游戏使用了流行的游戏引擎,解包工作会顺利很多。

Unity引擎: AssetRipper AssetStudio AssetStudio修改版(支持Unity2022.x.x) Unreal引擎: FModel UEViewer 手机游戏的APK: Apktool

这些针对特定平台或引擎的工具可以简单的完成解包的核心工作。

如果你不清楚游戏使用的引擎,请必应搜索“XX游戏 引擎”等关键词。

很多游戏不会使用通用游戏引擎,这就需要自己观察游戏文件了,可以转到下一步。

观察文件组织,寻找数据文件

推荐使用VSCode浏览游戏文件夹,轻量且强大。

如果是通用游戏引擎解包获得,还可以搜索相关引擎的解包教程,寻找、了解游戏文件的组织。

观察解包后的游戏文件,根据目录、文件名、文件后缀等等信息,可以推测一个游戏文件的作用。多数文件是多媒体资源(比如模型、视频、贴图、音频……),请忽略它们,一个png文件通常不会存放游戏数据。

数据文件可能会用常见格式存储,比如JSON、XML、CSV等等,也可能会二进制存储。对于不明后缀的文件,可以直接打开来粗略判断。

一些游戏的数值会统一存放。比如RimWorld是Data/Core/Defs目录中的XML文件、Factorio是Data目录中的Lua文件、江城创业记是iFCon解包,Setting目录下的CSV文件。

一些游戏的数值会分散或混杂存放。比如Skyrim中的bsa文件,可以包含几乎所有游戏资源。比如Timberborn使用Unity开发,其数据被分散序列化在各个Prefab中。

在寻找到数据文件后,就可以解析并导出数据了。

解析并导出数据

游戏数据文件的组织和存储通常便于开发和使用,大概率不适合直接用于Wiki。

一般来说,人工整理这些数据工作量太大。我们建议使用编程语言来自动化这一过程。 特别是对于定期更新的游戏,一个自动化的解包和wikitext生成工具是非常必要的,能节省大量人力。

对于这样的数据处理,我们推荐数据科学的主力语言——Python。它容易上手,类库丰富。比如可以用mwclient库便捷的操作BWiki API来修改页面,参见API教程。

分析游戏源码

Wiki通常还涉及对游戏机制的探讨。

这时,一些反编译工具非常有用,允许玩家分析游戏源码来获取更多信息。

对于Unity开发的游戏,可以使用ILSpy、dotPeek等工具反编译。

比如Timberborn(基于Unity)中,需要配合游戏代码来解读时间机制,游戏内显示的数值也和设定数值稍有不同。要进行精密的量化时,配合游戏代码的分析往往更为精确。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3