三步拆开网易游戏的NPK资源包:立绘、特效、脚本一次到手
2026/8/17 21:04:44 网站建设 项目流程

三步拆开网易游戏的NPK资源包:立绘、特效、脚本一次到手

【免费下载链接】unnpk解包网易游戏NeoX引擎NPK文件,如阴阳师、魔法禁书目录。项目地址: https://gitcode.com/gh_mirrors/un/unnpk

深夜,你刚更新完《阴阳师》,几个G的安装包明明就躺在硬盘里,可那些精致的角色立绘、华丽的技能特效,却被塞进一个叫NPK的文件里,谁也拿不出来。unnpk就是为这一刻准备的钥匙——一个专门解包网易 NeoX 引擎 NPK 资源包的开源命令行工具,《阴阳师》《魔法禁书目录》这类游戏的资源,它都能撬开。

有意思的是,游戏连自己保险柜的钥匙都藏在保险柜里。这句话先记下,读到后面你会明白它的分量。


先认识这口"行李箱"

NPK 是网易 NeoX 引擎的资源打包格式,你可以把它想象成一只巨型行李箱:游戏运行要用的图片、音频、动画、脚本、配置文件,全被压缩塞进这一个文件里。行李箱的好处是安装快、加载快,坏处嘛——你永远看不见里面的东西。

而 unnpk 干的事,就是打开行李箱,把东西一件件取出来,还顺手贴好标签:png 图片、mp4 动画、xml 配置、json 数据、glsl 着色器、obj 模型……它靠什么认标签?靠libmagic(就是系统file命令背后的那个库)嗅探文件真实类型,再自动补上扩展名。所以解包出来的东西,基本不用二次整理,直接就能用。

整个过程,其实就三步。


第一关:两行命令,把工具造出来

unnpk 是用 C 写的,得先编译。别被"编译"两个字吓到,它只有一个依赖:libmagic

# macOS brew install libmagic # Ubuntu / Debian sudo apt-get install libmagic-dev # CentOS / RHEL sudo yum install file-libs file-devel

然后克隆源码、编译,走完就是见证奇迹的时刻:

git clone https://gitcode.com/gh_mirrors/un/unnpk cd unnpk make

make结束后,你会得到两个可执行文件:主解包程序unnpk,以及一个"X光透视镜"mapnpk(一会儿说它)。到这里,工具箱就备齐了。

避坑提示:Windows 用户建议直接放弃折腾,作者都直言"太折腾"。Linux、macOS 上一条命令的事,何必跟自己过不去 😄


第二关:真正解包,其实一条命令

解包 NPK 的语法简单到不用记:

# ./unnpk 输入文件.npk 输出目录 ./unnpk scene.npk scene_resources

输出目录不存在?工具会自动创建。接着屏幕上会滚出一张清单,列出每个文件的索引、偏移量、压缩前后大小、是否压缩、MIME 类型、扩展名——解包的同时,一份档案也顺便给你了。

解包完成后去看看scene_resources目录,你会发现文件已经被按类型分好了文件夹:image/video/application/text/……立绘是.png,技能动画是.mp4,场景配置是.xml,数值表可能是.json.xls。这背后是工具在解压时做了两件事:先用 zlib 解压(NPK 里的文件大多是压缩存储的),再用 magic 库识别真实格式

如果你只是想收集美术素材、研究 UI 布局、分析数值配置——到这里就已经通关了。剩下的是给好奇心更重的人准备的。


第三关:多走一步,连脚本都能读

对《阴阳师》的玩家来说,真正的宝藏不是立绘,而是藏在script.npk里的游戏逻辑代码。这一段稍微进阶,但你只需要按顺序敲三下命令。

准备阶段,装好 Python 2.7 和两个小工具:rotor(老式加密库)和uncompyle2(Python 2 字节码反编译器)。

先用 unnpk 把脚本包解出来:

./unnpk script.npk script_extracted

在解出的文件里随便挑一个,比如0A0D60DC,然后依次执行:

# 第一步:还原被扭曲的脚本数据(rotor 解密 + zlib 解压 + 字符串反转) python tools/script_redirect.py 0A0D60DC > decrypted.out # 第二步:修正 opcode 偏移,让它成为合法的 .pyc 文件 python tools/pyc_decryptor.py decrypted.out script.pyc # 第三步:反编译成人类可读的 Python 源码 uncompyle2 -o script.py script.pyc

到这儿,游戏的回合逻辑、抽卡概率、技能结算规则,就摊开在你眼前了。

现在揭晓开头的悬念:解密脚本用的redirect.py,其编译产物redirect.pyc其实就存放在script.npk里,以偏移量命名(比如某个版本里是FB54F059这个文件)。也就是说,游戏的钥匙一直藏在它自己的保险柜里,unnpk 不过帮你把它找了出来。理解了这一点,你就掌握了破解其他网易游戏的通路——只是注意,不同游戏的加密参数可能不同,找到"钥匙"的过程需要你自己动动手。

避坑提示:tools/下的解密脚本是 Python 2 时代的产物,请确认环境里装的是 Python 2.7,别用 Python 3 硬跑;rotor 没装上,第一步就会直接报错。


顺便:给 NPK 拍一张 X 光片

如果你不只是想拿资源,还想研究 NPK 的格式本身,mapnpk就是为你准备的:

# 把结构分析结果输出成 Markdown 报告 ./mapnpk game.npk > 结构分析.md # 也可以输出 CSV,方便导入表格工具 ./mapnpk game.npk -o 结构分析.csv -f csv

文件总大小、文件索引表(map)的偏移位置、每个资源的偏移量和大小,全都给你列得明明白白。想做自己的解包工具、或者研究资源保护机制的人,这份报告就是最好的起点。


现在,轮到你了

回到开头那句话:几个G的游戏资源锁在一个文件里,看着近在咫尺,却又远在天边。而 unnpk 把这个距离压缩成了三条命令——克隆、编译、解包。

它最打动我的地方,恰恰是它的朴素:没有花哨的界面,没有几十个参数的复杂用法,一个 C 文件 + 一个 Makefile,就把"解包网易游戏资源"这件事做到极致,连解密的钥匙藏在哪都给你指出来了。对想收集素材的美术爱好者、想研究数值与逻辑的玩家、想学习文件格式和逆向技术的开发者来说,它都是一个轻巧又完整的样本。

下一步很明确:git clone https://gitcode.com/gh_mirrors/un/unnpkmake,然后拿手头随便一个.npk文件试试手。想深入的话,翻翻源码——unnpk.c的 MIME 识别、tools/里的解密脚本,都是很好的学习素材。

资源探索的乐趣,不只是"拿到东西",更是"弄明白它是怎么被锁上的"。动手吧,那口行李箱正等着你打开 🚀

【免费下载链接】unnpk解包网易游戏NeoX引擎NPK文件,如阴阳师、魔法禁书目录。项目地址: https://gitcode.com/gh_mirrors/un/unnpk

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询