首先本帖可能会涉及游戏存档修改,但不涉及具体某个游戏,目的仅为技术讨论,希望管理员手下留情,如果实在不合适,可删帖。
某个游戏,可以在线备份游戏存档,存档恢复的过程中,是一份明文的 XML 格式。
在传说的过程中,通过拦截等方式,将 XML 中的某些数字进行修改(例如金币),修改之后游戏存档正常恢复,并且游戏可以正常读取到修改之后的金币。
但是,游戏中的一些中文(例如人名)会变成 ?????? 一堆问号。
我尝试过:
- 修改的数值长度不变化,例如原先 10000 金币,我就改成 20000 ,仍然乱码;
- 将 content-length 的长度一起修改,仍然乱码;
- 给中文部分加上 CDATA 标签,仍然乱码;
原本是想改存档,但现在存档已经无所谓了,因为实在想不通为什么会导致中文部分变乱码,而其它部分却可以正常读取。
冒险来 V2 发个帖子,讨论一下,如果有哪位朋友知道我是说哪个游戏,也请不要提及名称~
目前已经解决,问题出在服务器输出 XML 文件的时候,没有指明文件编码,
将 headers
中的 Content-Type: application/octet-stream
改为 Content-Type: application/octet-stream; charset=UTF-8
之后问题解决
1
jugelizi 2016-02-01 15:53:47 +08:00 1
...乱码看看编辑器是不是修改了编码格式呀
|
2
JiShuTui 2016-02-01 15:53:57 +08:00 1
修改的时候改变了文档的编码格式,比如原先是 GBK 的,你改了之后变成了 UTF8 ,或者原先是 UTF8 被你改成 GBK 了。
|
3
abelyao OP @jugelizi 起初是直接复制 XML 内容出来,改后粘贴回去;后来是直接在抓包工具上进行修改(因为只改一个数字也不需要高亮了),但都会有一样的问题
|
4
abelyao OP |