阴阳师模型提取

0.声明

本文中的开发工具、第三方资源均用于学习用途,而非商业用途。本文中所有资源截止发稿时已全部删除

1.前言

最近一直在玩阴阳师。玩的时候我们不难观察到,现代游戏的制作中,画面、游戏体验都大大改善,除此之外,游戏开发者对游戏资源的保护也更加重视。

在上古时期的英雄联盟中,有许多类似于盒子之类的工具,可以修改其中的英雄皮肤。此外植物大战僵尸的图片等资源也遭到了网友的篡改,从而诞生了许多未经授权的如“植物醒哥大战非凡哥”、“篮球大战蔡徐坤”等山寨版本游戏。

出现上述情况的问题主要在于,游戏的开发者没能对游戏的资源进行很好的保护。我们观察到,阴阳师游戏中对其资源文件,如图片、模型等进行了打包处理。我们仅从学习角度尝试分析其游戏资源包,以免律师函警告。

2.文件准备

下载阴阳师桌面版,找到安装目录的res.npk文件,所有资源全部打包在这个文件中。
在这里插入图片描述

3.解包

解包工具选择quickbms。quickbms是一款专业的游戏拆包封包工具,可以帮我们顺利提取游戏资源。

首先我们下载quickbms,并解压,得到工作文件夹。在这里插入图片描述
值得注意的是,quickbms并不是能够自动提取的,需要根据一定的脚本。也就是说,quickbms更像是一个语言平台,必须根据我们给出的文件提取脚本运行。脚本如下,命名为npk.bms。

idstring "NXPK"
get FILES long
print %FILES% long
get OFFSET asize
xmath OFFSET "OFFSET - (FILES * 0x1c)"
goto OFFSET
for i = 0 < FILES
get NAME_CRC long
get OFFSET long
get ZSIZE long
get SIZE long
get ZCRC long
get CRC long
get FLAGS long
if FLAGS == 2
comtype lz4
else # 0
comtype zlib
endif
if SIZE == ZSIZE
log "" OFFSET SIZE
else
clog "" OFFSET ZSIZE SIZE
endif
next i

由于文件结构比较复杂,我们不过多讨论这段脚本。不过可以大致猜测,文件的头部记录了资源包中包含的文件目录,脚本获取这个目录后再根据其对每个文件进行提取。

同时我们把res.npk复制到quickbms文件夹下,使得quickbms.exe npk.bms res.npk三个文件在同一文件夹下。

然后再命令行中执行

quickbms.exe npk.bms res.npk E:/output

其中E:/output是我们指定的输出文件夹。解压完成后我们可以看到,输出文件夹中已经有了全部的无序的资源文件。
在这里插入图片描述

4.提取模型

情报显示,阴阳师的模型文件是以.dat为后缀的,这种模型文件似乎是不能直接查看的,我们可以借助工具RMUviewer进行模型查看并转换为.obj的模型文件。
在这里插入图片描述
这里的模型是没有颜色的,因为阴阳师的模型和贴图是分开存储的,我们也可以从相同文件夹下找到贴图.dds文件。

这里我就以神乐小姐姐的模型为例进行探索。我们首先用RMUviewer将神乐的模型转成.obj文件

5.贴图

首先我们找到神乐的贴图文件,这是一个.dds的贴图文件。
在这里插入图片描述

打开max3d,打开先前转换的obj文件。
在这里插入图片描述
选择相应的贴图并显示
在这里插入图片描述
导出之后就可以得到带色彩的obj文件。

6.虚拟现实

随着3D技术的发展,3D格式的文件将会越来越常见,或许会有一天,我们查看3D文件就像习惯于点开图片那样。

上面保存过的.obj文件,我们可以用Windows的3D查看器进行查看。
在这里插入图片描述
我们甚至可以打开右上角的混合显示,又会得到AR的效果在这里插入图片描述

7.尾声

理论上说,能拆包就可以封包,我们从理论上可以把游戏资源包内的资源进行替换再封装回原处,上文提到的quickbms就可以实现这一点。但是修改游戏资源包涉嫌违反游戏服务协议。

  • 30
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 28
    评论
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值