首页
论坛
课程
招聘
[原创]网易游戏的四种解密&解包,附工具
2019-11-8 18:21 20456

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

2019-11-8 18:21
20456

游戏中大概有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的函数,具体名字忘记了,函数功能是这样的,传入正常路径,传出加密路径


喜欢的老哥,来波关注吧



[2022冬季班]《安卓高级研修班(网课)》月薪两万班招生中~

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