从零开始的手游解包教程-文本资源篇(五)
First Post:
Last Update:
Last Update:
*申明:
在此申明,仅作为非商业用途的学习交流和个人记录用途,请严格遵守游戏用户协定,勿将提取的游戏资源发布到任何第三方平台。
否则将可能造成游戏公司切实的利益损失,与一些不必要的麻烦甚者需承担相应的法律责任
本篇不授权并禁止任何目的的分享、转载和引用,望理解
介绍
本篇介绍如何解包相关文本资源
使用脚本对16进制数据文件进行反序列化的处理
通过本篇的学习,也可以为普吉机器人的开发提供更加便利的数据支持
引入
在游戏资料根目录里有一个imperium/
文件夹
其中的文件就存放了游戏的相关文本资源,其中包括但不仅限于
角色名称、技能名称、技能组资料等
分析
将imperium/localization/
文件夹下的文件复制到电脑
使用Hex编辑器打开检查,这里使用HxD编辑器
发现不是单纯的二进制,用python读一下
果然是对一部分数据进行了特殊的序列化,部分文本正常
这种特殊的处理,让我立即联想到一种数据格式pickle
但很明显手游不可能使用python的存储格式
所以我立即在谷歌上搜素了一下Java的序列化方法
终于,在不懈的努力下我总算找到了序列化的方法—MessagePack
解包方法
安装依赖
1 |
|
解包
1 |
|
完整代码
1 |
|
用法
1 |
|
生成一个localization.json
的文件
引申
其他文件的解包方法类似,gamedata
文件中也有很多重要的资料
普吉机器人技能组文件
介绍
使用脚本生成技能组文件并编码
代码
创建skillInfo.py
文件
1 |
|
使用方法
首先,用上述方法,将更新后的localization文件解包获取localization.json
然后,把文件skillInfo.py
和localization.json
复制在同目录下
使用如下命令即可
1 |
|
最后,替换普吉机器人的资源文件,重启使用