阴阳师模型提取

news/2024/11/7 11:03:16/

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就可以实现这一点。但是修改游戏资源包涉嫌违反游戏服务协议。


http://www.ppmy.cn/news/663440.html

相关文章

阴阳师攻略- 萌新入坑阴阳师怎么玩

名字介绍 介绍阴阳师中的黑话、术语之类的。 痒痒鼠&#xff1a;yys&#xff0c;阴阳师&#xff1b; 黑蛋、白蛋&#xff1a;一种素材材料&#xff0c;如下图&#xff1a; 蓝票、白票&#xff1a;召唤式神的东西、抽卡的东西。如下图&#xff1a; 御魂&#xff1a;可以看作游…

阴阳师自动御魂觉醒超鬼王脚本

上回说到这个PyUserInput这个库能够模拟鼠标和键盘点击&#xff0c;今天老肥再来实战一波游戏脚本制作。 此游戏以爆肝著称&#xff0c;不如写个简单的小脚本解放一下双手。我们的目标就是为了能够在该点击某个按键的时候点击&#xff0c;以达成自动完成任务的目标。关于如何确…

用python编写阴阳师自动刷图脚本

import pyautogui as sb #鼠标 import random import time# random.uniform 随机小数 def move(s,inta,intb,intc,intd):arandom.randint(inta,intb) #长brandom.randint(intc,intd) #高sjrandom.uniform(0.8,1.3) #时间s.moveTo(a, b,duration sj)move(sb,500,536,1044,…

阴阳师代刷小程序

起因 本人在平时偶尔玩玩阴阳师&#xff0c;最近阴阳师推出了拜师系统&#xff0c;奖励丰厚。收够五个徒弟还能有动态框框和皮蛋。但是自己又不是魔鬼那种巨佬&#xff0c;又没人看的上。故开了个小号&#xff0c;小号又没有樱饼开不了系统自带的代刷系统。想到python能够通过…

阴阳师御魂模拟器

仅供娱乐&#xff0c;更改一下jquery的引用位置即可&#xff0c;15功能有点bug 有兴趣的人可以在这个基础上加一个定制御魂功能 &#xff08;请给我双速18招财头&#xff01;&#xff09; <!DOCTYPE html> <html><head><meta charset"utf-8"&g…

java阴阳师抽卡概率_阴阳师抽卡概率公布 阴阳师SSR/御魂抽取概率

网易阴阳师安卓版1.0.17.7 官方最新版 类型&#xff1a;角色扮演大小&#xff1a;623M语言&#xff1a;中文 评分&#xff1a;6.3 标签&#xff1a; 立即下载 根据最新的规定&#xff0c;网络游戏必须公布各类抽奖概率&#xff0c;阴阳师也不例外。那么玩家最关心的阴阳师抽SSR…

阴阳师模拟抽卡[含源码]

实现方式 HTML JavaScript 实现效果 概率可自行在代码中修改&#xff0c;默认为概率UP 为了好看我加入了鼠标插件&#xff0c;鼠标按住右键不放画图案&#xff0c;仅仅是画图而已 &#xff08;实际单击右键抽卡&#xff09; 单击右键进行抽卡 抽到SSR/SP时&#xff0c;播…

插件 阴阳师 百鬼夜行

0x00 前言 为了验证这个游戏到底有没有 SSR 0x01 前期工作 直接将 onmyojinetease1.0.14.apk 解压出来观察各个文件&#xff0c;便可以知道阴阳师是使用 NeoX Python。 其中 lib/armeabi-v7a/libclient.so 和 assets/script.npk 这两个文件&#xff0c; 一个是带着 Python …