又让我研究了一个晚上终于研究出点儿名堂来了,我日了,把我当猴耍啊,图一是通过内存读取器大致判断出的明文对话的内存地址,这个游戏的加载逻辑大概是这样的:
1. 首先是把整个的密文(script.txt)加载在内存中(图一的第一行基本是密文被加载的地址区间),通过 assetstudio dump 出来的密文 script 大致是 1913K。
2. 其次,它会按章节把这个密文从全部密文中读取出来以后,按章节加载对应章节的部分,解密成明文放在内存中(102K 的那两个地址区间就是第一章的明文,只是不知道什么原因被加载了2次)。
3. 每次切换章节的时候,都会从密文中把对应章节的段落取出来以后解谜成明文,放在内存当中。
所以一开始,说的不知道去哪儿找,不知道加载完了没有的问题就得到了解决。
至于唐语歌给爷推荐的书目,大概不需要重新打一遍二周目才能知道了,思路大致如下:
1. 先要到一个完美存档,导入目录中,然后对照着网上的全流程视频和你 assetstudio 解包出来的章节对应表,使用游戏自带的读档系统加载和唐语歌有关系的章节
2. 把章节打开让对话显示起来,这个时候根据网上的实况视频中的字符串,搜索游戏里面的字串,找出对应的内存地址区间
3. 用 cheatengine 取出对应的地址区间,保存下来以后稍加修饰就得到了未经加密的 csv。
4. 写一个简单的小脚本:
- 匹配 csv 中说话人是唐语歌的行
- 从说话内容中匹配书名号
- 打印。
这样下来应该不用打二周目了,虽然还是有点复杂,但起码不用弄三四天了。
卧槽我在没有旁人帮助没有任何之前经验的情况下把这个东西弄到这个程度,我感觉我好牛逼啊,我就是吃屎高手啊!!