(PS)かまいたちの夜•特別篇 汉化笔记 一

来源:互联网 发布:linux下wget命令安装 编辑:程序博客网 时间:2024/05/17 07:36

关于这个游戏

 

  原名:かまいたちの夜特別篇

  译名:镰鼬之夜特别篇 (旧译恐怖惊魂夜,不用)

  镜像命名:[PS][SLPS-01794].Sound.Novel.Evolution.2.Kamaitachi.No.Yoru.Tokubetsu.Hen.(J).(AVG).(Chunsoft).恐怖惊魂夜.-.特别篇

 

引言:

这应该是我处理的第二个PS游戏,比起第一个游戏更顺手一些,我尽量把研究的笔记还原出来,不过我个人觉得一个具体游戏的资料对其他破解者来说意义不大,重要的恐怕是一些思路和方法。

所以会在每个小节前加一段说明文字,希望对后来的破解者有帮助。

我假设本文的读者是有一定水平的程序员,但是对PS汉化还不太熟悉的人。

 

文中和具体的压缩算法、格式有关的部分我就略提一下,真有兴趣研究的话可以看我的源代码,里面也有注释。汇编代码分析不会说明,我已经附上idb文件,请自行查看,我觉得刚接触R3000A的人看一两段代码熟悉一下也差不多了。

分析文档和全部代码下载:http://download.csdn.net/source/2885723

导出的脚本:http://u.115.com/file/f3cc1a7780 

1.文件分析

上手的第一件事情总是观察各个文件。(其实第一件事情应该是放狗搜索一下,如果有别人的研究成果就最好不过。这里假设没有,只能自己分析。)

观察文件名,把这些文件用hex工具打开来看看,对之后的工作也有指导作用。

我建议做成一个Excel表格,方便以后修改。

 

光盘根目录下文件列表如下:

ANM.PAC

BGD.PAC

BIN.PAC

LICENSEJ.DAT

MUS.PAC

PINK.XA

SCE.PAC

SDW.PAC

SLPS_017.94

SN1_PRO.STR

SN2_OP.STR

SN2_PRO.STR

SN3_PRO.STR

SYS.PAC

SYSTEM.CNF

VCE.PAC

VCP.PAC

 

其中红色标记的文件含义都比较明显,其他文件后缀都是PAC,应该都是打包文件。

(注: system.cnf有点类似于autorun.iniSLPS_017.94是主程序,LICENSEJ.DAT应该放在开头的16扇区中,放在这里不知何意,xa是音频,str是视频)

 

PAC文件的开头是入口表,选择ANM.PAC打开,开头的数据如下:

Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F

 

00000000   00 00 01 00 01 00 18 00  02 00 24 00 03 00 30 00   ..........$...0.

00000010   04 00 37 00 05 00 47 00  06 00 4C 00 07 00 53 00   ..7...G...L...S.

00000020   08 00 57 00 09 00 6A 00  0A 00 6D 00 0B 00 7C 00   ..W...j...m...|.

00000030   0C 00 83 00 0D 00 91 00  10 00 9D 00 11 00 C6 00   ..ƒ...‘......Æ.

00000040   12 00 CC 00 13 00 E4 00  14 00 ED 00 15 00 F8 00   ..Ì...ä...í...ø.

00000050   16 00 FD 00 17 00 03 01  18 00 17 01 19 00 24 01   ..ý...........$.

00000060   1A 00 29 01 1B 00 2F 01  1C 00 3D 01 1D 00 43 01   ..).../...=...C.

00000070   1E 00 4F 01 1F 00 5A 01  20 00 64 01 21 00 7E 01   ..O...Z. .d.!.~.

00000080   22 00 9F 01 23 00 A6 01  24 00 B8 01 FF FF BC 01   ".Ÿ.#.¦.$.¸.ÿÿ¼.

 

格式应该如下:

2 bytes:编号,00 00,00 01,00 02,。。。一直下去,FF FF表示结束

2 bytes:入口,看起来0x800一段,入口是段号

最大的段号是1bc1bc * 800 = DE000,文件大小是DE000,应该没有错。

 

(注:有了以上分析就可以写一个拆包代码,这个很简单,代码见FuckPack

 

有些封包从名字上就能知道含义

 

Tim_Col扫描一下,BgdSdw中有部分tim格式图片。

ue观察,Sce中有SJIS编码文本,确认是脚本文件

 

ANM.PAC       动画

BGD.PAC       背景

BIN.PAC       数据

MUS.PAC       音乐

SCE.PAC       脚本文件

SDW.PAC       剪影

SYS.PAC       系统

VCE.PAC       Voice

VCP.PAC       Voice

 

另,这些文件在主程序中的编号是:

编号

文件名

0

BIN

1

BGD

2

SCE

3

MUS

4

SDW

5

VCE

6

VCP

7

ANM

原创粉丝点击