能力值:
( LV1,RANK:0 )
2 楼
编程基础为0的小白一枚,请求大佬的帮助,谢谢!
能力值:
( LV2,RANK:10 )
3 楼
你既然都找到游戏xml的format specification了,为什么不加把劲用自己最熟悉的编程语言写一个解包程序呢?我不相信你真的是编程0基础,因为你干的事就不是编程小白干的。
如果是我,人生苦短,我用python。
unpack.py内容如下
#!/usr/bin/env python3
import sys, struct, zlib
with open(sys.argv[1], 'rb') as f:
header = f.read(4)
assert header == b'ENC\x02'
uncompressed_size, = struct.unpack('<I', f.read(4))
compressed_data = f.read()
uncompressed_data = zlib.decompress(compressed_data)
assert len(uncompressed_data) <= uncompressed_size
with open(sys.argv[2], 'wb') as ff:
ff.write(uncompressed_data)
pack.py内容如下
#!/usr/bin/env python3
import sys, struct, zlib
with open(sys.argv[1], 'rb') as f:
header = b'ENC\x02'
uncompressed_data = f.read()
uncompressed_size = len(uncompressed_data)
with open(sys.argv[2], 'wb') as ff:
ff.write(header)
ff.write(struct.pack('<I', uncompressed_size))
ff.write(zlib.compress(uncompressed_data, level = zlib.Z_BEST_COMPRESSION))
解包代码是unpack.py,打包代码是pack.py。
# 从Language_EN.xml输出解包的Language_EN.unpack.xml
$ unpack.py Language_EN.xml Language_EN.unpack.xml
# 将Language_EN.unpack.xml重新打包为Language_EN.xml
$ pack.py Language_EN.unpack.xml Language_EN.xml
最后于 2022-6-12 09:07
被hypersine编辑
,原因: 调整格式
能力值:
( LV4,RANK:50 )
4 楼
学习一下!!!
能力值:
( LV2,RANK:10 )
5 楼
给你写个exe吧.
de-en-code.rar
直接修改了加密回去就行了
最后于 2022-6-12 16:28
被Mxixihaha编辑
,原因:
上传的附件:
能力值:
( LV1,RANK:0 )
6 楼
hypersine
你既然都找到游戏xml的format specification了,为什么不加把劲用自己最熟悉的编程语言写一个解包程序呢?我不相信你真的是编程0基础,因为你干的事就不是编程小白干的。如果是我,人生苦短 ...
感谢回复,虽然问题没有解决,估计是我想的太简单了,按照这种方式修改的文件直接导致无法进入游戏了,直接报语言包错误,看样子还是要靠OD去分析了,还是谢谢您的回复!
能力值:
( LV1,RANK:0 )
7 楼
Mxixihaha
给你写个exe吧.de-en-code.rar直接修改了加密回去就行了
感谢回复,虽然问题没有解决,估计是我想的太简单了,按照这种方式修改的文件直接导致无法进入游戏了,直接报语言包错误,看样子还是要靠OD去分析了,还是谢谢您的回复!
能力值:
( LV1,RANK:0 )
8 楼
感谢各位的回复,问题已解决,国外论坛的大佬帮我写了个解密脚本,解密后的脚本已经成功加载,顺带贴出源码
注意,这是quickbms使用的BMS脚本
####################################
get FILESIZE asize
get FILENAME basename
idstring "ENC"
get VERSION byte
get SIZE long
string NAME p= "%s/%s.xml" decompressed FILENAME
math FILESIZE -= 8
math ZSIZE = FILESIZE
savepos OFFSET
clog NAME OFFSET ZSIZE SIZE
然后发现没有中文字库无法显示中文,又想办法去搞中文字库