PSP汉化破解教程 转自:光辉岁月

暗黑风暴

来自: 暗黑风暴 2009-11-08 22:09:13

  • 暗黑风暴

    暗黑风暴 2009-11-08 22:19:40

    PSP汉化破解教程之二:尝试第一次破解(图片初级篇)

    原帖地址:http://hi.baidu.com/1987%B0%A2%B7%E6/blog/item/62acb688e65229b90f244414.html

    上次给大家解释了什么是破解,不知道大家还记得那些内容吗?其中主要说了一些关于解压游戏ISO以后的一些文件及含义。这次,大家就跟着我开始尝试第一次破解吧,这一次的内容主要教大家做一次初步的体验——使用现有的工具导出导入游戏中的图片。

    破解的工具必不可少,让我们来认识一下这些强大的助手吧!
    crystaltile 或者crystaltile2——点阵字库或图片的编辑查看导入导出软件。
    LocalizationTools——非常不错的汉化工具套件,可以用于图片,声像的导入导出以及各种其他处理。
    UMDGenv4.00——ISO打包工具
    WQSG——导出(导入)+工具
    7z——GZIP压缩工具
    GimConverter——GIM图片导入导出
    TIM2Converter——TIM2图片导入导出
    WinHex——文件的16进制编辑查看软件由于很多游戏都有各自不同的破解难度和破解顺序,本次我们先从最简单的方法入手。大家都知道我们破解游戏第一步就是要获取游戏中的图片、文本还有一些动画,现在,作为初学者,其实有很好的工具可以帮助我们傻瓜式的完成这些导出工作。

    请注意:一定要备份你的ISO,确保你的电脑里有一个游戏ISO的备份,万一导入导出失败,还可以重新开始。否则,你只能重新下载了。。。。

    打开LocalizationTools软件,下方有5个文件格式选项,PMF是视频文件,AT3是音频文件,其余都是图片文件。

    [我是一个图片]


    选择一个你想要导出的文件类型,然后点击下方的文件导出按钮,选择你想要破解的游戏ISO,然后即开始软件自动导出。暂时撇开视频音频不谈,图片有3种,由于我们不知道这个游戏用了什么类型的图片,因此,3种图片格式我们都要一一尝试。

    都尝试一遍后,就会在ISO文件同目录下看到一个新文件夹,里面就是导出后的文件,这些文件都不是我们的电脑能识别的,因此,这个软件还提供了转换功能。

    假如,我们在其中导出了许多GIM图片(请去文件夹内记录第一张GIM图片的文件大小,精确到字节,比如5,328 字节,为什么要记录?当然有用啦),那么我们就需要把这些GIM图片转换成PNG图片,点击上方的GIM转换书签,在里面选择一下导出选项,一般选第一项。然后点击列印按钮,此时,你点击任何一张列表中的图片都会在软件右侧显示图片的实际样子。

    [我是一个图片]


    然后点击导出PNG按钮,随后,所有的图片都将转换成PNG格式图片保存到同一个文件夹内。到此,图片已经被我们成功导出了,接下来的步骤就是将这些图片进行润色处理。

    但是,破解工作还没完,导出虽然成功了,那么万一无法导入,或者导入后游戏会死机怎么办呢。这就要求破解在做了导出工作后,必须再同时做导入测试,以确定润色完成的图片可以顺利的进入游戏运行。

    怎么做导入测试呢?同样是LocalizationTools软件。假设那些之前转换的PNG图片已经完成了润色,我们回到刚刚导出PNG的那个地方,有一个PNG TO GIM按钮 ,进入后,首先选择导入选项。我们选PNG DEFAULT(选哪个有时候会不确定,那么你可以都做一次测试)。先列印所有之前转换好的PNG图片,然后点击导入按钮,之后,所有的PNG图片都会转换回GIM图片,注意,这个过程只是让所有之前转换出来的PNG转换回GIM的过程,并没有直接导入游戏ISO。特别注意,刚刚我有让大家记录第一张GIM图片的大小,现在,完成了PNG转GIM的过程,我们回过头再去查看第一张GIM图片的大小,假如这次的大小和之前记录的大小完全一致,那么恭喜你,导入测试有可能会比较顺利,如果不一致,说明PNG转GIM的过程存在问题,一方面,可能是之前选择导入选项上的差别(所以大家需要尽可能多的尝试利用各种选项看各种导入导出结果),另一方面,也可能完全无法使用本软件做图片的导入。

    接下来。就是将这些已经处理完成的GIM图片,导回游戏ISO中,方法是,回到软件中的提取书签,选择下方的文件格式,既然刚刚我们处理的是GIM,那就选GIM,然后点击导入按钮,之后,这些处理完的GIM图片就还原到了游戏ISO中,完成后,将刚刚的ISO文件放入PSP中进行游戏运行测试,倘若正常运行,证明一切OK,图片部分已经被完美破解了,倘若运行死机,则说明游戏中的图片不能单纯使用软件来导入导出,需要做进一步的处理,这个留待今后高级篇中讲解。

    以上是一个使用软件来导出导入游戏图片资源的基本过程,当然,我可以明确的说,这个只是一种成功率不到50%的方法(现在的ISO游戏资源越来越复杂,人家游戏开发商也学会不让你们轻而易举的获取资源了)。但是,这个初级方法在图片资源的查看上还是有作用的,至少可以查看游戏中的图片是否被压缩,以及导出的图片是哪些、有多少。而经常有人说,不懂程序就不用搞破解了,我不完全赞同这个说法也正是因为还是有部分游戏是可以完全通过这类软件来获取游戏中的资源,并且导入成功的。只是,还有很多游戏是必须用程序方面的技术才能实现导出导入的,因此,大家还是循序渐进的来了解比较好。

    这次就到这里,我想LocalizationTools应该也可以让各位初学者琢磨一番了,下一次我会说一下如何导出游戏文本,当然,导出文本的成功率应该会比LocalizationTools导图片来得稍微高一点,而且也是目前最流行的导出方法。

  • 暗黑风暴

    暗黑风暴 2009-11-08 22:25:20

    PSP汉化破解教程之三:尝试第一次破解(文本初级篇)

    原帖地址:http://hi.baidu.com/1987%B0%A2%B7%E6/blog/item/747ef72807f0c6f499250a16.html
    在PSP游戏中,有文字冒险类、角色扮演类、动作类等等各种游戏类型之分。其中,不论何种类型,游戏的文本都至关重要,系统文本也好,剧情文本也好,能否导出都决定了这个游戏能否成功汉化。因此,本次教程就来交大家使用现有的软件工具——WQSG来导出游戏中的日文文本。

    首先来回忆一下在第一篇教程中对游戏内部资源文件的一些内容。我们知道,ISO是可以用WINRAR进行解压的,解压后我们可以从中得到很多游戏内部文件,其中包括了一些游戏预览图片,声像,还包括了游戏启动文件,和游戏资源文件。之前我曾提到在SYSDIR文件夹中有一个非常重要的游戏启动文件——BOOT.BIN,因为很多时候一些系统文本或者其他一些内容就保存在其中,那么为了判定其中是否有文本内容,就需要做一次检验,也就是利用WQSG来进行导出测试,看能不能导出一些有用的文本句子。

    首先,打开WQSG

    [我是一个图片]

    我们先来了解一下一个新的名词——码表。
    我们知道,一个记事本中如果你写入“我”这个字,那么你就直接能在上面看到这个“我”字,而对于计算机来说,它可不认识中文,它只认识数字,因此,不要被表象所迷惑住。事实上,你刚刚输入的并不是“我”,而是16进制的2个数字“CE”和“D2”,为什么你看到的明明是我而不是CE和D2呢?因为计算机已经在你输入的时候将这些只有它看得懂的“天书”转换成了你看得懂的文字了,所以,那些16进制数字是被计算机隐藏起来的(如何查看隐藏起来的“天书”我会在后面的教程中告诉大家)。学过计算机基础的人都知道,一个中文字符等于2个字节,而1个字节可以是16进制的00到FF的任一数字,比如,2D是一个字节,F2也是一个字节。因此,刚刚你输入的“我”就是由2个字节组成,分别是16进制的CE和D2。现在问题就来了,为什么“CED2”=“我”呢?计算机有这么一个问题,它虽然可以把16进制的“天书”变成文字,但是,至少它也要知道什么数字对应什么文字才可以转换,也就是需要一个参照物,那么,计算机根据这个参照物就知道,CED2=我,而C3C7=们等等。。。这个参照物我们就称他为码表。比如我们经常看到GBK这个东西,大家都知道这个代表简体中文,其实GBK2312就是一套计算机用来做参照物的一个完整的大型中文码表。

    知道了什么是码表后,我们就知道这个软件是做什么的了,其实它就是帮助我们直接将游戏文件中的隐藏“天书”通过码表转换成我们可以看得懂的文字然后显示出来。

    那么,我们要选择什么码表来做文本导出呢?码表有很多种,比如国际标准的Unicode、UTF-8、ASCII,还有中文的GBK、日文的Shift-JIS。而这个游戏的码表取决于该游戏开发商使用哪种码表来输入文字,就好象你用GBK输入“我”,你也就必须用GBK来查看“我”=“CED2”,如果你用UTF-8来查看就变成了乱码了(这也是为什么你在中国版的WINDOWS系统中输入的文章到了国外版的WINDOWS系统中查看就变成乱码的原因,两者所用来读取的码表不一样。)。因此,我们只能去一一尝试看游戏开发商到底用了哪种码表来输入日文的。在这里我可以告诉大家,日本的公司嘛,大部分当然用的是日文码表啦,因此很多游戏都是使用了Shift-JIS这套日文码表的,当然也有碰到一些用了国际标准的UTF-8或者其他,不过也是少数派了。

    现在我们知道了要尝试使用各种码表先判定游戏所使用的码表是哪一套,那么既然Shift-JIS(以下简称JIS)可能性最大,我们就从它开始。



    接下来我们来看软件,首先我们点击ROM按钮,选择我们需要尝试导出的那个游戏文件BOOT.BIN。然后选择JIS码表,下面的控制码表对于初学者来说可以暂时不管,因此不用选择。然后直接看下面的开始地址和结束地址,这个是软件要你告诉它从“天书”的哪个位置开始到哪个位置结束是你要导出的部分,一般情况,我们也不知道文本在这个文件的哪个位置,因此,开始地址填写0,而结束地址一般就点击下面的取段最大按钮来自动获取,这样,你就是相当于让软件将整个文件完完全全的导出来。另外请将字节过滤中的小于等于0改成2,因为,字符都是2个字节嘛,那小于2字节的当然没有必要导出来啦,肯定不是文本的了。

    然后,点击开始按钮,选择输出目录后,一会儿软件就会提示导出成功,然后你去输出目录中查看那个导出的记事本文件,双击打开,你会看到一行空一行的排列着很多乱码文字,然后你拖动滚动条,从头检查到尾部,如果你突然发现了有一行行的日文出现了,恭喜你,文本导出成功,而且我也可以提前告诉你,导入测试90%以上是成功的。如果检查了发现没有出现类似的日文句子,那就再尝试另一套码表,而假如所有的码表尝试了都没有文本出现,那就代表这个游戏文件中根本就没有文本,也可能是文本是被压缩在这个文件内部的,要解决这样的问题就留待高级篇中讲解。

    接下来还是老步骤,导入测试。首先当然是在导出的文本中找到一句可以在游戏一开始就看到的日语,然后把这句日语随意的修改一下,比如将其中的两个字替换成“我們”(必须是修改成JIS码表中存在的字,你可以打开JIS码表然后随便挑两个字出来),然后保存。回到WQSG,什么都不用变,点击导入标签,去掉验证码表重复的勾,选择“用单双字节填充”,在“单”中输入20,在“双”中输入8140,

    [我是一个图片]

    这样写是因为假如一个文本中一行日文字有24个字节限制,但是翻译成中文后,只有20个字节了,剩余的字节是不能没有的,因此必须填充进去空格,空格在单字节中是用16进制的20表示的,双字节是16进制的81和40表示的(当然也要看码表行事啦)。然后点击开始按钮,它会让你选择你刚刚修改的新文本,然后,它便会提示你导入成功。

    这样,新的文本就返回到了这个游戏文件中,然后请打开UMDGEN v4.0,这个ISO打包软件,打开后选择OPEN按钮,然后选择你要进行导入测试的游戏ISO(记得提前去别的盘备份一份),然后在下面的Explorer窗口中找到那个BOOT.BIN,接着把那个你导入成功的新的BOOT.BIN拖进去,它就会提示你是否替换,确定后,点击SAVE按钮,保存为ISO文件到你指定的目录。待保存完成后,你就可以把那个新的ISO文件拷贝到PSP中运行游戏,当你发现如果那个你刚刚改动的句子正常的显示了你编辑的“我們”2个字,那代表你大获成功,如果死机了,很不幸,中间出现了导入问题,可能需要用高级篇中的方法来重新尝试。当然,还有可能出现“我?”或者“我 ”这样某个字无法显示或者表现成一个问号,那说明,游戏使用的字模(容后介绍)中没有你修改的那个字,因此需要进一步的破解。。。

    不管怎么说,利用上述的软件和方法,你可以尝试BOOT.BIN和游戏中其他任何一个文件(第一篇中所指的游戏资源所保存的文件夹,也就是说去尝试所有SYSDIR文件夹和USRDIR文件夹内的文件),当你导出发现了日文的时候那种喜悦是不言而喻的。当然,我也说这个也是有成功率的(因为很多游戏开发商学会压缩文件了,因此一旦其中的文本被压缩了,那么不论你用WQSG尝试多少文件,都一定不会找到文本,这样的处理方法今后高级篇中见吧),不过成功率应该还是相对在50%以上的。因此,也是各个汉化组破解肯定会用的手段。

    这次大家学会了导出文本。下次我会教大家如何看“天书”以及介绍一下字模是什么,同时,从下一篇开始,我们也要开始转入高级篇的入门了。

  • 暗黑风暴

    暗黑风暴 2009-11-08 22:28:14

    PSP汉化破解教程之四:看懂天书(高级入门篇)

    原帖地址:http://hi.baidu.com/1987%B0%A2%B7%E6/blog/item/d72236f34514b519b07ec517.html

    离上一篇教程已经很多天过去了,不知道大家是否还记得之前的内容。先做个简单的回顾吧。破解,就是要对游戏中的日文内容进行导出然后导入,其中包括图片,文本等等。我们已经在前面讨论了如何简单的使用一些现有工具实现图片和文本的导出和导入,或许期间有很多会员已经去尝试了这些方法,也会发现,其实成功率并不是非常理想,原因很简单,游戏的开发也是越来越复杂,越来越规范,越来越有防范破解的意识。因此,要想真正实现对一个游戏的完美破解,就需要更多更深入的了解破解的实质。那么接下来我们就正式进入高级破解的范畴。

    之前我在教程中多次提及了“天书”这个词,也就是说是一个文件的实质内容——16进制字节。

    我们平时所用的算术都是10进制的,数字是从1开始到10,即逢10进一,而16进制除了有0到9这十个数字外,还有,ABCDEF这6个字母。我们来打个比方,让大家更好的理解16进制是如何计算的 十进制:0,1,2,3,4,5,6,7,8,9,10,11。。。。。。
    16进制:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,10,11。。。。。。也就是说,要从1数到F,才会进一位,变成10.


    了解了16进制后,我们回过头来看他和游戏破解有什么关系。我们之前说到,计算机是不识别中文,也不识别任何人类语言的,它只识别数字。简单的说,它只看得懂这些16进制数字,不论是我们所看到的图片也好,文章也好,电影也好,在电脑看来都是一堆堆的16进制数字而已,这也是为什么进入电脑时代后,大家都说是进入了数字化时代。既然电脑只识别数字,那么游戏内的文件包括图片,文本,视频等等,其实都是一种数字而已,那么我们只要了解了这些数字的规律,就可以从根本去修改这些文本、图片等文件。

    为了要完全看到这些被电脑隐藏了的“天书”,我们就需要用到WINHEX这个工具。
    打开WINHEX软件,点击文件-打开,然后随便选择一个游戏文件,比如BOOT.BIN。打开后,我们就会看到密密麻麻的16进制数字和对应字符。

    [我是一个图片]

    我们看到,其中总共有3大列,最左边一列是Offset列,代表任意一个字节的所在位置,简称地址。
    中间的一大列代表的就是真正的天书16进制字节(因为16进制数字是从00-FF的任意一个数字,因此,一个16进制数字都是2位的,比如,01,02,22,2A,等等,不会出现单个1,或者单个5这样的单位数。)其中,任意一个16进制数字代表一个字节,假设,我们打开的文件是12569字节大小,那么,它就一共拥有12569个16进制数字。
    最右边的是平时我们真正可以看到的实际内容,就好象之前我打的比方,我=“CED2”,那么最右边一列就是用来显示那个“我”的。




    现在我们来理解一下,从起点Offset位置开始,第一个字节是43,它所在的列是0,它所在的行是地址00000000;第二个字节是44,所在列是1,所在行是地址00000000,那么它的地址就是00000001。一行代表从0-F,再数就是进一位了,就变成了新的一行,地址是00000010,即进了一位(从个位数变成了10位数)。

    那么我们随便找个地址(对照上图查看),比如地址00000092,它代表字节59,而地址0000008A,它代表字节49。

    现在,我们初步能够看懂了天书的格式了:16进制数字就代表一个字节,而且它都有自己的所在地址。

    然后我们来看最右边列,一开始显示了CDAR这几个字。其实,由于WINHEX使用的码表是ASCII码,因此,字节中的43,通过码表转换出来就是C,而字节中的44,通过码表转换出来就是D。也就是说,码表如何起作用的,我们就可以在这里比较直观的看到了。

    本贴大致就教导大家如何看懂16进制天书,看完本贴后,有兴趣的可以自己用记事本写几个字,然后用WINHEX打开这个记事本文件,就可以非常直观的看见其真实的含义了。

    最后要明确指出,任何一个文件,不论它是图片也好,文章也好,视频也好,或者是WORD文档也好,总之任何一个文件,它的实质就是这些16进制的字节组成的,而我们通常看到的一个文件的大小比如1K,562字节,2M等等,都是指其天书内容中的16进制数字的量,比如,562字节的一个图片,它的天书中就有562个16进制字节,因为一个字节就等于一个16进制数字。

    由于从本章开始进入的是高级篇,概念开始抽象起来,因此希望大家在看完教程后都能有一个自我实践,亲身体验的过程,只有这样,才能迅速熟悉这些非常抽象的16进制字节。。。这里我就先让大家整理一下思路。下一次我会为大家讲解什么叫字模,什么叫字模映射表。

  • 暗黑风暴

    暗黑风暴 2009-11-08 22:29:22

    PSP汉化破解教程之五:理解字模(高级入门篇)

    原帖地址:http://hi.baidu.com/1987%B0%A2%B7%E6/blog/item/5d981a2be67aa627d42af1f5.html

    上次教程让大家理解了什么是天书,相信大家已经能够利用WINHEX软件来看懂游戏内文件的16进制内容了,这次我在让大家学习一下关于字模的一系列内容。

    我们在之前的初级篇已经知道,游戏内的文字其实是由很多很多的16进制数字组成的,而之所以这些16进制数字能在游戏运行的时候显示成文本,是因为在运作过程中,系统将这些16进制的数字通过码表来逐个替换成文字,例如之前提到的“CED2=我”。我们来做个最简单的比方:

    日语码表中有如下对应关系:
    89E4=我
    8DDD=在
    8ADF=玩
    9FE0=游
    9D45=戲那么,倘若一个文本中的16进制天书有这样一串数字:89E48DDD8ADF9FE09D45,那么在游戏运作的过程中,系统就会将这些16进制的数字通过码表转换成我们看得懂的文字,即最后显示为:我在玩游戲


    现在出现了一个问题,系统虽然知道了这些对应关系,例如89E4是变成我这个字,那么作为计算机,要怎么把这个我字,显示在PSP的屏幕上的呢,要理解这个,我们可以先回想一下什么是活字印刷。

    在古代,我们如果需要印刷一篇文章,就必须先把手写稿交给印刷工,而这个印刷工看着你的手写稿,分别把手写稿上的字一个个的用单个文字印章排列好,然后在这些印章上涂上墨水,在纸上一按,你就可以看到实际印刷后的文字内容了。

    现在我们打个比方,你的手写稿就是游戏文本的16进制数字,比如89E48DDD8ADF9FE09D45,而印刷工就扮演了码表的角色,他将你的这些手写字对应的文字刻章找出来,最后,大家就想到了,就是那些刻章,让文字最终显示在纸上。而这些刻章,在游戏中的体现就是字模。

    字模即字体模型,在游戏中扮演着重要的角色,是它让那些文字可以真实的显示出来让你的眼睛能看到,打个比方,如果字模中的“我”这个字,把它修改成“你”,那么,就算你的码表里显示89E4=我,而因为刚刚把“我”这个字体模型修改成了“你”,那么在实际游戏过程中,虽然系统正确的转换出了“我”这个字,但由于字模的关系,最后在显示屏上显示出来的结果变成了你,就好象印刷工人在排列文字印章的时候排错了一个,结果变成了错别字一样。

    那么,字模在汉化中起到了什么作用呢?

    首先,我们应该清楚一点,日语标准的SJIS码表中,是不可能包含所有的中文字的,这时候,假如你翻译好的文本中有一个“楼”字,而在SJIS码表中根本没有这个字,那么系统就不能显示这个字了。

    为了要让“楼”正常的显示出来,我们就要在码表中修改出一个“楼”字来,比如,我将SJIS码表中的“8C79=軽”,修改成“8C79=楼”,这样,一旦系统遇到了8C79,就会输出楼了,那么,相对应的,我们也需要把8C79的这个字的字模,也修改成楼字。接下来,系统就知道8C79=楼,而用字模正确的输出“楼”这个字。

    一般情况,文本较多的游戏,常用的中文字大概会用到3000个左右,而总字数大约有30-100万字不等,这么大的文本量,我不可能一个个的去查找文字然后去替换码表和字模,这时候,我们就需要利用工具来实现。

    首先,假设我们手头上有一个已经翻译成中文的文本、一个此游戏中使用的字模,以及一份标准码表。那么假设我们这时候什么都不做,直接将文本导入回游戏中,那么导入工具会提示你,一大堆的文字在码表中不存在,而一个个的去替换,等你替换完几十万个字的时候,估计人都吐血了。因此我们可以借助WQSG的码表工具,先做一次文本的全文统计,这时候,我们会从WQSG的右侧窗口发现一份新的码表,而这份码表,就是单独为你这个翻译好的文本制作的,不会有多余的字,而且也一定包含了翻译好的文本的所有中文字,是一份最优码表。接下来再利用WQSG工具,参照原SJIS码表,将这个新的码表制作成一份真正的码表文件,然后备用。

    然后,既然有了全新的码表,我们也要对这个码表的字模进行修改,我们利用crystaltile工具,将原始字模导出一张对应的图片,例如下图:


    接下来,根据原始码表中的顺序,一个个的将新码表的文字重新在这个字模中写一遍,这个工作就可以利用PHOTOSHOP来处理,擦掉原来的文字,然后修改成新码表中的文字,这样,字模也根据码表修改完成了。

    最后,利用这个码表和这个字模,再导入文本,由于码表是单独为这个文本制作的,因此肯定不会出错,而导入后,由于字模也被修改成新码表中的文字了,那么系统也会根据这个码表的对应关系和字模将翻译后的文字准确的输出到显示屏上。


    其中我要强调一下,事实上,码表和字模也是有对应关系的,很简单的比方,印刷工要凭什么来识别手写稿中的“他”字就是需要用“他”这个文字印章呢?虽然我们觉得想当然,但是这也是需要一个认知过程的,而这个识别过程,在游戏里就表现为“字模映射表”。

    假如,“我”这个字在字模里是第5行第6列,那么字模映射表就是用来告诉系统,当遇见码表中的“我”这个字后,从字模的第5行第6列取出我这个字体模型。

    用表格打个比方来体现映射表是最好理解的:

    码表中的文字 该字对应在字模中的位置
    我 第5行,第6列
    在 第13行,第4列
    玩 第25行,第1列
    游 第6行,第7列
    戏 第23行,第12列


    系统依照这份码表,逐个取出文字的字模,这就是所谓的字模映射表。

    一般在普通汉化中,映射表是不需要修改的,因为我们只要准确的修改了码表和对应的字模后,系统都能正常识别他们之间的关系,但是,由于一些特殊情况,我们不得不修改映射表。至于这些特殊情况,其概念过于抽象,就不做叙述了,否则长篇大论大家肯定要打瞌睡了。

    这次我们熟悉了一下字模和字模映射表,我相信,这一讲的内容是不太容易有东西让大家去练习的,但是,主旨是让大家理解他们的概念。

  • 暗黑风暴

    暗黑风暴 2009-11-08 22:33:31

    PSP汉化破解教程之《薄樱鬼》实战破解(一)

    原帖地址:http://hi.baidu.com/1987%B0%A2%B7%E6/blog/item/6d31f82b507493325343c1f2.html

    经过前几篇的破解教程,大家对破解中需要了解的内容已经有了初步认识,接下来,我们就直接进入实战演练,我们的讲解对象就是PSP《薄樱鬼》,这个游戏是一个典型的破解案例,在各个方面都非常适合让破解学习者能迅速理解和提高。

    废话不多说,直接进入正题。

    首先大家利用最常用的winrar工具解压《薄》的ISO文件,解压后得到一个文件夹,首先我们分析游戏中的各个文件及文件夹。

    进入《薄》解压后的文件夹,首先看到了这些


    PSP_GAME文件夹就是所有游戏资源的集中地,因此我们进入PSP_GAME文件夹,随后看到如下图


    我们分别来说明
    SYSDIR——包含游戏系统所使用的文件
    USRDIR——包含游戏内所有资源的文件
    ICON0.PNG——在PSP主界面选择进入游戏前的游戏LOGO标志
    PIC1.PNG——在PSP主界面选择进入游戏前的背景图案
    SND0.AT3——在PSP主界面选择进入游戏前的背景音乐

    最后三个文件是在PSP主界面选择进入游戏前的一些图片及音乐资源,作为汉化的游戏,这些内容当然也是必然要做汉化修改处理的,其中两张PNG图片因为处理方便,因此暂时不做多说。




    然后我们进入SYSDIR文件夹


    UPDATE——完全可以忽略的东西
    BOOT.BIN——游戏启动入口主程序
    EBOOT.BIN——被加密编码后的游戏启动入口主程序

    BOOT.BIN作为游戏启动入口程序,其中必定包含了很多游戏内的内容,因此,此文件列入我们的待分析文件之一。
    EBOOT.BIN因为是被加密编码后的,可以忽略,但是这里记住一点,若BOOT文件被修改了,那么必须要将修改后的BOOT复制一份后重命名为EBOOT然后替换原来的EBOOT。




    看完SYSDIR,我们转入USRDIR文件夹,我们在其中看到4个如下文件夹


    从字面意思来理解其文件夹内容
    MODULE——游戏运行过程中需要用到的功能模块
    MOVIE——游戏中的电影(即开场、过场、片尾等动画,标准动画的格式我们在以前的教程中说过,是PMF结尾的文件)
    SAVEDATA——游戏存档相关处理文件(这其中可能包含了一些在游戏中执行存档操作时候需要用的一些功能或者资源)
    UNION——游戏中所有图片,音效等资源的集中营(这个就是我们的重点对象)

    逐个分析这4个文件夹内部的资源
    MODULE——其中包含两个文件

    他们都是用来作为PMF电影文件播放器的功能模块,比较好理解的话,你可以想象成你电脑中的暴风影音,他们就类似于PSP中的“暴风影音”组件。因此,这两个文件必定不需要汉化,可从我们的汉化目标中忽略掉。

    MOVIE——其中包含了许多PMF动画,这些动画很有可能有日语对话在其中,这就牵扯到一个问题,就好象你看日本动画,必须有字幕我们才能看懂他们在对话什么,因此这需要留待后期做处理。

    SAVEDATA——其中包含了一个SYSFILE.BIN文件,从名称上来看,它很有可能牵扯需要汉化的部分,作为存档,可能包含了存档界面的背景啊图片啊等等,因此这个文件是不能被忽略的。

    UNION——这个是重点。我们详细来看


    BACK.UNI——BACK的意思是背面,我们可以想象成或者理解成游戏背景的资源包
    BGM.UNI——BGM大家都知道,背景音乐。这个文件是背景音乐的资源包
    CHARA.UNI——CHARA,这个英文应该是角色的单词缩写,我相信大家的英语一定比我好,而这个文件就是和角色有关的相关资源包。
    ETC.UNI——字面上理解可能是效果的意思,那么这个也许就是游戏中一些特效所要用的资源包
    MEMORY.UNI——记忆。。那我估计就是存档了吧,呵呵,大家可以先这样理解。
    SCRIPT.UNI——这个字面上是脚本的意思,作为脚本,我们可以知道它应该是伴随着游戏进行的重要控制程序,因此,我们可以大胆的猜测,所有的主线文本都在其中
    SOUND.UNI——声音资源包。。。。我想我们不用做中文语音,因此忽略。
    SUB.UNI——这个不太好懂,但是从文件大小上来看,内容很少,虽不可忽略可疑文件,但也不需要过于在意他。
    SYSTEM.UNI——系统资源包。。。那么这个究竟包含了什么内容呢?我想从文件大小上来看,应该是举足轻重的文件。
    V10.UNI——这个就不好理解了,待考察。

    好了,下面我们看遍了整个游戏的文件内容,接下来我们做一个整理。
    1.必定要汉化的文件如下
    ICON0.PNG
    PIC1.PNG

    2.有待进一步分析并考察的文件如下
    BOOT.BIN
    整个MOVIE文件夹中的PMF文件
    SAVEDATA中的SYSFILE.BIN
    BACK.UNI
    CHARA.UNI
    ETC.UNI
    MEMORY.UNI
    SCRIPT.UNI
    SUB.UNI
    SYSTEM.UNI
    V10.UNI

    当然,并不是被忽略的文件就等于完全不用去理会,一般情况下,还是建议大家用空余的时间也去考察一下其内容。

    而以上我们所说的考察,便是利用WINHEX工具进行16进制分析。之前教程已经告诉过大家如何使用如何查看16进制,因此不在这里详细说明。

  • 黒崎真澄

    黒崎真澄 (困) 2010-03-29 14:55:32

    感谢写教程的作者 辛苦了

  • Wendy Gump

    Wendy Gump 2012-08-15 15:47:36

    这个是很好,可是我是学英语的,PSP上面的游戏大多是日文的,我想学单机汉化,苦于网上根本找不到入门的资料,好急切呀~~~

你的回应

回应请先 , 或 注册

17 人聚集在这个小组

最新讨论  ( 更多 )

↑回顶部

在这里发现跟你一样特别的人,并与之交流...

×