首页
社区
课程
招聘
[原创]网易游戏的四种解密&解包,附工具
发表于: 2019-11-8 18:21 27811

[原创]网易游戏的四种解密&解包,附工具

2019-11-8 18:21
27811

游戏中大概有3种文件,分别是pyc,nxs,npk,还有一些配置文件就不说了

这里的pyc是修改过opcode的,pyc文件加密后就是nxs文件,nxs文件会被打包到npk文件中

我们从里向外说吧,先放出GitHub链接

https://github.com/yuanbi/NeteaseUnpackTools


Pyc文件

NeteasePycObject,这个文件夹中的文件是用来还原pyc opcode的,使用方式如下:

netpyc 输入文件 输出文件 [是否加密]

第三个参数是可选的,默认为0,代表解密,如果为1代表加密,就是将正常的opcode修改为游戏中python的opcode


这个工具的部分pyobject的偏移有问题,大部分文件不会出现问题,懂这方面的大佬可以自行修改下,后面修改过后也会在GitHub更新的


用netpyc修改opcode过后,可以使用uncomply6,进行反编译


还有一个问题就是部分pyc文件会有一个或两个字节码不是python中的字节码,极少数的文件会出现这种问题,这个时候在反编译的时候就会报error,如果报了error可以观察解析失败的opcode附近的代码,可以自行修改


如果被修改过的字节码不在opcode中,就要手动分析了,当然这种情况出现的很少


Nxs文件

接下来就是nxs文件了,nxs文件直接使用NeteaseNxsUnpack中的NeteaseNxsUnpack.py进行解密,使用方法如下

python2 NeteaseNxsUnpack.py 输入文件 输出文件

之后使用netpyc解密opcode,然后反编译就行了


Npk文件

直接使用NeteaseNpkUnpack中的NeteaseNpkUnpack.py,使用方法如下

python2 NeteaseNpkUnpack.py 输入文件 输出文件夹,解密后的文件无后缀,文件类型需要自己分析


Script.Npk解包

网易游戏基本上会有script.npk,解包方法如下

先解包npk,解包后文件夹中的所有文件都是nxs文件,在进行nxs文件解密的步骤就行了


DecodeBuffer

这些是三种文件,还有一种是这样的,这里说的是Windows的版本,在nxfilesystem.dll中会有一个decodebuffer函数,这个就是第四个,这个函数的上层是openwithloader

openwithloader作用是打开文件,文件校对,和部分初始化,在openwithloader中并不是所有的数据都要经过decodebuffer函数,部分数据需要解密,多数会是一些配置文件


在openwithloader中,捕获数据如下,在openwithloader的ret字节下断点,文件名,文件大小,会存储在[eax+4]的位置,如果我没记错的话


还有就是在Windows中并不是所有文件都存储在npk文件里,还有一部分存储在  C:\Users\用户名\AppData\Local\游戏名缩写 中,如果你在这里中找到了script文件夹,这个文件夹中会包含很多文件夹和一个文件


这些文件夹和文件的名字都是被加密过的,可以在nxfilesystem.dll中搜索导出的包含path的函数,具体名字忘记了,函数功能是这样的,传入正常路径,传出加密路径


喜欢的老哥,来波关注吧



[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 1
支持
分享
最新回复 (11)
雪    币: 6095
活跃值: (5510)
能力值: ( LV5,RANK:65 )
在线值:
发帖
回帖
粉丝
2
感谢分享,收藏了,虽然目前用不到!
2019-11-8 18:39
0
雪    币: 23
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
感谢分享。还没试过怎么用。
2019-11-14 03:30
0
雪    币: 2925
活跃值: (6671)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
网易另一款游戏引擎(Messiah 基于coco2d开发, 其资源包文件格式为mpk(MpkFileSystem))没有相关的工具或技术文章, 哥们你有相关的工具吗?
2020-10-8 18:11
0
雪    币: 4939
活跃值: (2360)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
mark
2021-1-19 13:58
0
雪    币: 209
活跃值: (226)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
爱我佳鑫 网易另一款游戏引擎(Messiah 基于coco2d开发, 其资源包文件格式为mpk(MpkFileSystem))没有相关的工具或技术文章, 哥们你有相关的工具吗?
你看看是不是暴雪开源的那个, 网易很喜欢用暴雪开源的那些代码
2021-1-19 21:21
0
雪    币: 2925
活跃值: (6671)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
礁石的爱 你看看是不是暴雪开源的那个, 网易很喜欢用暴雪开源的那些代码
谢谢, 那我去看看 
2021-1-19 23:40
0
雪    币: 220
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
8
爱我佳鑫 谢谢, 那我去看看
老哥,你搞定了mpk资源了没有
2022-1-28 20:27
0
雪    币: 2925
活跃值: (6671)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
Ajvpmuhkt 老哥,你搞定了mpk资源了没有[em_13]
no
2022-1-29 11:50
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
10
爱我佳鑫 no
大佬搞定mpk了吗
2022-3-29 12:03
0
雪    币: 785
活跃值: (2358)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
11
支持一个。黄易就喜欢搞这些
2022-3-29 14:46
0
雪    币: 11
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
12
2024了 还有效果吗
2024-10-8 19:41
0
游客
登录 | 注册 方可回帖
返回
//