Skip to content
YJBeetlePublic

About

解包网易游戏NeoX引擎NPK文件,如阴阳师、魔法禁书目录。

Topics

Resources

Stars

316 stars

Watchers

10 watching

Forks

Latest commit

 

History

86 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

unnpk

解包网易neox游戏npk包

Build

Depend

  • MacOS

      brew install libmagic
    
  • CentOS

      sudo yum install file-libs file-devel
    

Clone and make

git clone https://github.com/YJBeetle/unnpk
cd unnpk
make

Run

./unnpk npk_file unnpk_direcory

如何解开阴阳师的script.npk

以下将会大致讲解如何解开阴阳师的script.npk

这里将会使用 MacOS ,其他建议使用 FreeBSD & Linux,相关命令也自行理解替换为你的操作系统使用的命令,不建议使用 Windows 太折腾了.

如果您有任何希望补充的欢迎pr

准备工作

按照前文所示编译好unnpk

安装Python2.7

brew install python2

pip安装以下需要的一些依赖

pip install rotor

安装uncompyle2

git clone https://github.com/wibiti/uncompyle2.git
cd uncompyle2
python setup.py install

开始解包

./unnpk script.npk script

取出一个解开后的文件,比如这里将会使用 0A0D60DC 这个文件作为案例

首先进行解密, tools/script_redirect.py 这个文件是根据通过逆向阴阳师得到的 redirect.py 改写而来

./tools/script_redirect.py 0A0D60DC > 0A0D60DC.out

纠正 opcode(这里的pyc_decryptor.py感谢fate0的文章: fate0的博客(已删除) | 备份1 | 备份2)

./tools/pyc_decryptor.py 0A0D60DC.out 0A0D60DC.pyc

反编译

uncompyle2 -o 0A0D60DC.py 0A0D60DC.pyc

至此反编译完毕

注意⚠️

这里只是演示了解开阴阳师的方法,至于网易其他的游戏,redirect.py中的asdf_dn、asdf_dt、asdf_df可能不同(也有可能相同)

这里顺便再说一下如何获取具体的redirect.py的方法吧,在 @fate0 的文章中,他使用动态调试的方法获取到了redirect.pyc,那么问题是redirect.pyc储存在哪里呢,事实上redirect.pyc就储存在script.npk里,以阴阳师2018-03-27更新的3.0.3(1)版本为例,redirect.pyc就是用本工具解开的FB54F059这个文件(文件名用npk中的偏移量命名),这里为各位解包其他游戏提供思路,具体是如何找到这个文件,方法很多,各位可自行去分析特征。

About

解包网易游戏NeoX引擎NPK文件,如阴阳师、魔法禁书目录。

Topics

Resources

Stars

316 stars

Watchers

10 watching

Forks

Releases

Packages

Used by

Contributors

Languages