![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
かまいたちの夜
yusjoel
这个作者很懒,什么都没留下…
展开
-
(PS)かまいたちの夜•特別篇 汉化笔记 四
<br />4. Bin的其他文件<br />字库中在bin.pac中,那么再观察一下这个包中的其他文件。当然,一开始观察的时候还没能把数据解压出来。<br /> <br />Bin_0000.bin 已经确认是字库<br />Bin_0001.bin 开头是入口,看到pBAV签名,估计是声音,格式见Sub Pac一段。<br />Bin_0002.bin 开头是入口,子文件中看到ike的签名,格式见Sub Pac一段。解压之后是tim文件,是工作人员名单。<br />Bin_0003.原创 2010-12-06 09:19:00 · 753 阅读 · 0 评论 -
(PS)かまいたちの夜•特別篇 汉化笔记 十三
<br />13. 字库扩容和一些小的代码修改<br />字库我前面说过,是bin.pac的第一个子文件,bin_0000.bin,原始大小35800。要扩容的话有两个方案,一个是文件直接变大,修改ISO镜像。<br />但这个方案非常得不好,首先ISO镜像扇区都是连续的,如果一个文件变大,那么后面所有内容顺延,这个时候比较两文件的话几乎处处不同,补丁会和原始镜像一样大。<br />第二个方案就是压缩,其实原始程序打开子文件的时候本来就会先判断是不是压缩文件,如果可以压缩到35800内,原创 2010-12-06 10:09:00 · 1035 阅读 · 0 评论 -
(PS)かまいたちの夜•特別篇 汉化笔记 十一
<br />11. 文本导入<br />我一般文本导出的代码写好之后,就觉得略有成果了,想怠工几天。其实文本导入代码也要写起来,没写好的时候几乎不能把文本交给翻译。<br />之后应该让翻译快点搞定一章,尝试导入,这时很可能会发现各种问题,到时候要增加控制符什么的。这都要早期发现早期改正,否则所有文本都出来了再让你往里面嵌控制符,工作量不是一般的大。<br /> <br />文本导入之前要做的事情是文本检查,检查其实很重要,比如是否有单字节的字符,是否有括号没有闭合,是否有控制符被删除,原创 2010-12-06 09:56:00 · 829 阅读 · 0 评论 -
(PS)かまいたちの夜•特別篇 汉化笔记 九
<br />9. 控制符分析<br />控制符分析也是很重要的一步,影响到导出文本的质量,甚至影响到汉化质量。<br />分析的方式也无非是观察和逆向。很多颜色变化,换行换页都能观察出来,但是复杂一些的就要看源代码了。<br /> <br />这些东西都在指令00对应的函数中,所以也不算难找。<br /> <br />关于分析,我还要说多说一些。首先全脚本都已经能够导出了,那么要多做一些统计和检查。比如说总共有哪些控制符,有哪些控制符组合,这些控制符一般出现在什么字符后面等等。<br /原创 2010-12-06 09:48:00 · 890 阅读 · 0 评论 -
(PS)かまいたちの夜•特別篇 汉化笔记 八
8. 脚本文件分析 II各个指令的参数可分成5种:1、文本,以0结尾,只出现在指令00中;2、段号,2byte,出现在段跳转指令中;说明见上3、地址,2byte,指向某条指令的地址,出现在段内跳转指令中。4、文件号,2byte,相应pac的子文件号,出现在显示声音、背景、阴影的指令中。5、其他。同时也有部分指令没有参数。之后为了更好地分析脚本,将脚本文件导出成html格式,对各个段加上锚点,段跳转指令中加上超链接。然后就可以一边游戏一边分析各个指令的大致含义。这里面还有一个问题,就是脚本原创 2010-12-06 09:32:00 · 867 阅读 · 1 评论 -
(PS)かまいたちの夜•特別篇 汉化笔记 三
3. 字库分析字库首先要知道是自带字库还是bios字库,这个一看就知道不是bios字库了。用Agemo的debugger载入游戏,以前一载入就死掉,最后发现是一定要载入bios。吓死,还以为要改代码了。载入后进入说明页面,随便找个人的说明,pause后,dump,打开ram找文本,这些文本是在程序中的,圈一块文本,下内存访问断点。然后离开这个页面,此时断下,在ram中看看断在“登场人物绍介”的“登”字上,点中asm log,打开ida参照。一直点resume,直到访问下一个字“场”为止。原创 2010-12-06 09:16:00 · 1043 阅读 · 0 评论 -
(PS)かまいたちの夜•特別篇 汉化笔记 二
<br />2. Sce.Pac文件分析<br />这一部分还是属于观察,使用拆包程序将pac文件拆成若干个子文件,现在对子文件进行分析。<br /> <br />Sce_0000.bin:脚本文件,头部如下:<br /> <br />Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F<br /> <br />00000000 E4 00 DB 01 CD 02 D0 03 E7 04 8F 05 92 06 C3原创 2010-12-06 08:59:00 · 1101 阅读 · 0 评论 -
(PS)かまいたちの夜•特別篇 汉化笔记 一
关于这个游戏 原名:かまいたちの夜•特別篇 译名:镰鼬之夜•特别篇(旧译恐怖惊魂夜,不用) 镜像命名:[PS][SLPS-01794].Sound.Novel.Evolution.2.Kamaitachi.No.Yoru.Tokubetsu.Hen.(J).(AVG).(Chunsoft).恐怖惊魂夜.-.特别篇引言:这应该是我处理的第二个PS游戏,比起第一个游戏更顺手一些,我尽量把研究的笔记还原出来,不过我个人觉得一个具体游戏的资料对其他破解者来说意义不大,重要的恐怕是一些思路和方法。所以会在每个小原创 2010-12-06 08:56:00 · 2205 阅读 · 0 评论 -
(PS)かまいたちの夜•特別篇 汉化笔记 十二
<br />12. Sub Pac<br />字库和文本都搞定了,下面再看看其他文件。<br /> <br />Sub pac是pac文件的一段,但里面仍然打包了其他文件。在anm.pac中可以见到,bin.pac中也有。<br /> <br />这是ANM_0001.bin的头部:<br />Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F<br /> <br />00000000 00 00 00 1A 00原创 2010-12-06 10:03:00 · 739 阅读 · 0 评论 -
(PS)かまいたちの夜•特別篇 汉化笔记 十
<br />10. 文本导出<br />文本导出是很重要的一步,而且需要和翻译互相配合,尽快修改其中的问题。<br />由于这个游戏的控制符很复杂,而且脚本格式也复杂,所以关于文本导出成什么样子我也考虑了很久。<br /> <br />文本导出有几个要点:<br />1、要尽量和游戏显示差不多<br />2、保持每个文本、每一段落的文本量适宜<br />3、方便翻译<br />4、方便导入<br /> <br />首先分文本很简单,sce.pac本来就分成若干的子文件,每一个子文件对应一原创 2010-12-06 09:53:00 · 789 阅读 · 0 评论 -
(PS)かまいたちの夜•特別篇 汉化笔记 七
<br />7. ike格式分析<br />分析解压算法的过程其实都差不多,一般是先下一个cd-rom访问断点,然后是内存访问断点。或者是反过来,已知明文位置的情况,下一个内存写入断点。<br /> <br />Sce.pac中有不少段有ike的签名,指明这个数据被压缩过。<br /> <br />Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F<br /> <br />00000000 9D 89 69 6B 6原创 2010-12-06 09:27:00 · 3332 阅读 · 0 评论 -
(PS)かまいたちの夜•特別篇 汉化笔记 五
<br />5. 系统文字<br />系统文字是我的说法,就是在主程序中的文本,一般都是明文的,而且没什么格式。<br />一般是菜单,选项,说明,提示之类的东西。别人也叫做浮动文本。<br /><br />这些东西就靠找,没什么其他办法。<br /> <br />偏移<br />说明<br /> <br />800 – 20f0<br />人物介绍、游戏说明,系统文本<br /> <br />27b0 – 2ca0<br />人名<br />核对犯人名字用<br />58280 – 5原创 2010-12-06 09:21:00 · 1086 阅读 · 0 评论 -
(PS)かまいたちの夜•特別篇 汉化笔记 六
6. 脚本文件分析下面开始具体分析脚本文件,这里又要用到agemo_debugger了。 下CD-ROM访问断点,可以看到程序将Sce.pac中的一段载入到800C89B8,一开始是读取sce.pac中的1f段。然后下内存访问断点,范围大约是800C89B8 - 800D07C0。根据第2节的分析也可知1f段也分成了若干段,这里读取的是第4段00 91。(注意,段号是基0的)Offset 0 1 2 3 4 5 6 7 8 9 A B C原创 2010-12-06 09:24:00 · 594 阅读 · 0 评论