但是,其他各种消息文件和任务摘要等却不太方便。
下面是十六进制编辑器中两个文件的比较:
起初我以为这是一个简单的字节对压缩,但是显然还有更多比那要多,因为如果您查看与“走吧!”相对应的地方和“让我们这样做吧!”它们根本不是以相同的字符串开头。
我上传了文件的PS4 / Vita版本,其文本更具可读性:
https://www.dropbox。 com / s / bw0nvexyi9ww2be / hm%20vita?dl = 0
https://www.dropbox.com/s/sk74zadvndc8v9t/hm%20ps4?dl=0
经历它并在寻找常见和重复出现的单词时,我发现了这一点:
Goblin Thief
´0Ö0ê0ó0·0ü0Õ0
B430 D630 EA30 F330 B730 FC30 D530
Goblin Thief Archer
´0Ö0ê0ó0·0ü0Õ0¢0ü0Á0ã0ü0
B430 D630 EA30 F330 B730 FC30 D530 A230 FC30 C130 E330 FC30
Ancient Grief
¨0ó0·0§0ó0È0°0ê0ü0Õ0
A830 F330 B730 A730 F330 C830 B030 EA30 FC30 D530
Grief Screamer
°0ê0ü0Õ0¹0¯0ê0ü0Þ0ü0
B030 EA30 FC30 D530 B930 AF30 EA30 FC30 DE30 FC30
Grief
EA30 FC30 D530
Thief
B730 FC30 D530
所以您可以看到FC30 D530是“ ief”。
然后我寻找更多“ gr”的出现
Deep Grudge
Ç0£0ü0×0°0é0Ã0¸0
C730 A330 FC30 D730 B030 E930 C330 B830
而您没有看到以“ Grief”开头的EA30。
我有FC30的感觉可能是某种切换字节,要么是大写指示,要么可能是标记了某种查找表的使用?有趣的是,所有仅是目标/老板名称的行都具有--30结构,但是某些描述性段落似乎没有。
当然,另一个问题是PS4版本的未压缩英文文本与Vita版本的文本不是100%完美匹配-毕竟,这就是重点!因此,即使我看着“ Deep Grudge”(深仇)这个名字,并且注意到我没有看到任何看起来与“ Grief”中的“ Gr”相对应的东西,我也无法确定他们没有改变PS4版本中的名称。
有人对我应该如何处理这个有任何建议吗?如果我是对的并且实际上正在进行某种压缩的查找表业务,那么实际上可能无法撤消,对吧?
#1 楼
您可以学习这种编码的方法是学习日语。 :)从文本文件diff的第一行中,我们可以看到在左侧:1131 3210 3130 3330 1021 0000 0000 0000 .12.1030.!......
在右侧翻译为:
1100 3100 3200 1000 3100 3000 3300 3000 ..1.2....1.0.3.0.
1000 01ff 0000 0000 0000 0000 0000 0000 .................
这是一个很强的暗示,即左侧的文件使用8位编码,而右侧的文件使用16位编码。数字的转换非常简单,但是感叹号(“!”)是ASCII或UTF-8格式的
0x21
,但是0x01ff
是编码为UCS-2(即UTF-16编码)的Unicode“全角感叹号” 所以有了关于编码的提示,我们可以看到您识别为“哥布林小偷”的十六进制
b430 d630 ea30 f330 b730 fc30 d530
呈现为ゴブリンシーフ,这是英语单词“ Goblin Thief”的片假名表示。对于日语使用者来说,用片假名将外来词翻译成语音等同物是很常见的。因此,每个音节都有一个音节:
ゴ go
ブ bu
リ ri
ン n
シ shi
ー (extended vowel)
フ fu
所以,如果我们大声说,“ go bu ri n shi-i fu”听起来像“ Goblin Thief”由日语为母语的人发音。您可以尝试使用Google翻译进行更多的实验,并观察和听到这种声音。
评论
您能否将十六进制单词切换为正确的字节序30b4 30d6 ..?这样,它们为日语形成正确的Unicode值。
–杂件
18/12/10在14:21
如答案中所述,这些是Unicode值,刚好被编码为UCS-2,也称为UTF-16LE
–爱德华
18/12/10在14:27
等等,这是流血的日语文件吗?真奇怪我需要仔细研究一下软件包,然后查看是否可以找到实际的英文……我知道一个事实,就是我提取的某些文件是英文的,因为它们中包含实际的纯文本,这就是为什么要替换的原因他们工作了。另外,我有99%的把握是我拥有的包装来自游戏的SCEA版本。嗯非常感谢,这解释了很多使我发疯的东西!
–白屈菜起重机
18/12/10在14:30
对于任何好奇的人,请注意以下事项:英文文本实际上存储在完全独立的文件中,该文件对于游戏的PS4版本是唯一的,并且可能从原始文件中提取来替代基本文件中存在的日语字符串。上帝只知道是否有任何方法可以说服Vita版本从那里读取。
–白屈菜起重机
18/12/10在20:07
换句话说,没有“特殊编码”可以反向工程。
–user202729
18/12/13在8:01
评论
我忍不住注意到Grief尖叫声在开始时有一个额外的B030,而Griefline中没有它