Yggdrasill-Moe/Niflheim

拿 Python 脚本解密过的 rld 输出其文本就出错。

Closed this issue · 11 comments

用对了lib.dll.include.VC中的文件,但是运行脚本就出现如题情况了。我该怎么办?
游戏镜像:https://pan.baidu.com/s/1MIlm7AITba4Gxij9VaeWXQ
妹ぱらだいす!3rld.zip
解密得出的bin.zip
default
3
有一个没有解密的图是因为一解密就会崩溃。

还有,直接解密某些游戏的 gyu 会得出错误的 png 图。例如 妹ぱらだいす!3,希望跟进。

让我想想........这引擎好像是每个游戏的key不同,要自己去抓,你这提issue的时间点真巧妙我不知道最近我还有没有空去抓,如果主程序加壳了我可能还没办法,因为我对脱壳实在不在行,所以姑且问一下,你这个是想用来干啥的?如果单纯是提取资源的话我就没那个精力了,gyu的话我只针对了某个游戏的文件去写,也许有些类型的图片没支持完,如果只是非汉化会处理到的图片那就将就着用吧

让我想想........这引擎好像是每个游戏的key不同,要自己去抓,你这提issue的时间点真巧妙我不知道最近我还有没有空去抓,如果主程序加壳了我可能还没办法,因为我对脱壳实在不在行,所以姑且问一下,你这个是想用来干啥的?如果单纯是提取资源的话我就没那个精力了,gyu的话我只针对了某个游戏的文件去写,也许有些类型的图片没支持完,如果只是非汉化会处理到的图片那就将就着用吧

key 为 0x2A17122A
很可能是无壳的,PEiD调查显示:VC8 -> Microsoft Corporation *
Exeinfo PE 调查显示 Microsoft Visual C++ ver. 8.0 / Visual Studio 2005
我想要亲自看遍 rld 的解密后的内容,来为上述类同的目的做准备(别的Gal引擎的脚本)。

有RLDManager能做到这点,可是好像自身存在一些问题。例如不能显示一部分文本。

emmmm.........你看那两个key.bin文件应该知道,key是两组0x400大小的文件,你这一个dword是啥东西?还是说你这个游戏特殊?
至于你的“我想要亲自看遍 rld 的解密后的内容,来为上述类同的目的做准备(别的Gal引擎的脚本)。”
我倒是对此提不起啥兴趣

emmmm.........你看那两个key.bin文件应该知道,key是两组0x400大小的文件,你这一个dword是啥东西?还是说你这个游戏特殊?
至于你的“我想要亲自看遍 rld 的解密后的内容,来为上述类同的目的做准备(别的Gal引擎的脚本)。”
我倒是对此提不起啥兴趣

是未解密 rld 的 key,至于“我想要亲自看遍 rld 的解密后的内容,来为上述类同的目的做准备(别的Gal引擎的脚本)。”是刻意掩饰我想要有个现成可靠的工具想要为汉化此引擎的游戏打基础而已。

emmmm.........你看那两个key.bin文件应该知道,key是两组0x400大小的文件,你这一个dword是啥东西?还是说你这个游戏特殊?
至于你的“我想要亲自看遍 rld 的解密后的内容,来为上述类同的目的做准备(别的Gal引擎的脚本)。”
我倒是对此提不起啥兴趣

因为万一有人问“为什么那么做”,我就该在情理上回答,他一旦深究下来会让我有压力的。因为我把这件事看做是我的隐私,而我又是不大喜欢被打扰闲事的一类人。所以你懂的。

那我就无能为力了,sorry,没有什么工具是现成可靠的

rld的文本有两个key,系统脚本一个key,文本一个key。
建议不要使用RLDManager,这个工具在找key的时候非常耗时间,而且key有时候有问题。
key的话断readfile后找一个循环解密,其中esi就是key。然后把这个esi的数据提取出来应该就可以跑了(我没试过,这个引擎我直接上hook的)。至于你得到的key是一个DWORD,应该是把esi的数据给复制出来了。

rld的文本有两个key,系统脚本一个key,文本一个key。
建议不要使用RLDManager,这个工具在找key的时候非常耗时间,而且key有时候有问题。
key的话断readfile后找一个循环解密,其中esi就是key。然后把这个esi的数据提取出来应该就可以跑了(我没试过,这个引擎我直接上hook的)。至于你得到的key是一个DWORD,应该是把esi的数据给复制出来了。

难怪那么多工具有那么大又多的局限性,原来如此。您原意做一个勾取密钥(Key)的程序吗?

hook的话我直接hook文本实现动态汉化。找key的话是用的调试器弄的,具体办法自己找。