基础认知篇
通常的目录结构形式,由plugin文件夹、一堆xp3以及PC端启动的exe组成
如何判断究竟是krkr2还是krkrZ很简单,右键exe的属性中就可以看到
plugin文件夹里基本都是清一色的dll,都是写给游戏调用的插件,比如窗口调用、控制名字以及字体部分的功能调用。它有个特点就是,这个文件夹以及dll都是为Windows所使用的,所以它在模拟器上是无法工作的,有时候在模拟器上发现报错无法进去且报错类型跟plugin文件夹下的某个dll文件有关,可以试着写一个空文件然后命名为xxx.dll,放在手机的游戏目录下,它也是可以进去的
有时候,plugin文件夹以及游戏主目录下,都会有这样的形式存在——一个dll+一个dll.sig或者一个xp3+一个xp3.sig;这个sig其实它就是一个起到类似于校验的作用,比如它可以校验所命名文件的完整性,有没有被修改过,比如AlphaMovie.dll.sig就是校验AlphaMovie.dll,data.xp3.sig就是校验data.xp3
除了这些sig文件以外,还有几种文件形式:.cf,.emb两种校验,cf文件通常记录的是游戏的一些配置及路径信息,很多时候游戏没有这个cf文件也是可以跑起来的,除了极个别例子;而emb文件也是校验有无修改的,如果有修改过就会阻止你进入游戏,报错之类的
还有一种文件是.tpm,这种文件的本质其实就是dll文件,它只是改后缀成了tpm,是一种加密插件,通常会是跟游戏主程序exe重名,有时候会存放在游戏的主目录下也有时候会放在plugin文件夹里面,游戏因为这个后缀会优先去读取这个tpm的加密插件
savedata文件夹也不用多说了,都知道是存档存放的路径,它存在游戏主目录下就是存档存放位置,但它不是必定的,也有存档路径在其他地方的。而这个存档文件夹是通过config.tjs来写的,如果想要改这个地方,可以将config.tjs提出来修改
接下来就是游戏重要组成部分的xp3文件;这些大小不一的xp3都是游戏的封包文件,游戏所有的资源文件都是封存在这些xp3封包里面,如果汉化的话,则需要提取其中的文本以及图片出来进行翻译以及修图,再进行后续处理
而几乎90%的krkr引擎(无论是2还是Z),都会存在一个data.xp3这个封包。这个封包在大多数情况下,就是集中了极大部分游戏资源封存的封包,但也有些时候它是很小的,当它文件大小很小的时候,基本是封存了配置信息比如system之类的东西,这种时候就可以判断到文本在其他封包里面
“data.xp3封装了游戏的文本”这句话,也不是绝对性的,有时候它是作为scenario.xp3存放在游戏目录下,有时候是作为scn.xp3存放在游戏目录下
krkr引擎的文本通常是.ks以及.scn两种形式,.ks一般情况下都是明文,即人能看懂的内容,但也有压缩加密过的ks,我们可以待会儿再讲加密ks怎么处理;而.scn格式通常都不能直接看到明文,而是需要进行格式转换,GitHub上有些工具专门针对这种.scn的文本格式,但其实.scn格式也是有其他类型的,不过最好处理和最普遍的就是psb文件头的.scn,这种可以用FreeMote或者ScnEditor来处理
还有一点需要注意的是,想要判断游戏封包有没有加密其实很简单,原理就不赘述了,你可以将xp3封包移出游戏目录后,再用GARbro打开xp3封包,去看封包里面那些图片是否能正常查看,因为封包里的tjs有时候是跟ks一样压缩加密过的不好在GARbro里直接判断,所以看图片最省事,一般都是image子文件夹(判断加密的方法不止一种)
关于kirikiri2/Z的recoding:kirkir2指定脚本编码为Shift-JIS,kirikiriZ指定脚本编码为UTF-8