Team PB

主机游戏汉化组

News

  • 前言

    大概在去年,有汉化组的成员表示希望汉化这款游戏,托我研究一下技术上是否可行。但由于现实中的事情,加上拖延症,以及有其它汉化坑,迟迟没有开坑这个游戏。经过漫长的拖延,终于在今年年初抽出时间开始研究。

    游戏的破解早在2月份就已经基本完成了,但是由于我没有做笔记的习惯,所以为了写这篇帖子,相当于重新做一遍破解过程。 这是我第一次接触PSP游戏的破解,我对这个平台并不了解。不过好在模拟器PPSSPP的调试功能还算完备,对逆向分析游戏十分有帮助。

    初步分析

    首先,我们来看一下游戏镜像文件(ISO)的目录结构(部分文件未展示): banner

    PSP游戏遵循程序和数据分别储存的原则:程序二进制代码的路径是PSP_GAME/SYSDIR/EBOOT.BIN,这是一个加密的ELF文件,关于如何让解密这个ELF后面会提及;数据的路径是PSP_GAME/USRDIR/,一般我们需要汉化的文本、图片等内容都在数据目录下,当然,少数情况下,EBOOT.BIN中也可能会有一些文本。 下面着重看一下USRDIR这个目录。在USRDIR/data下有几个子目录,根据它们的命名,我们可以猜测当中包含的文件的用途,分别是:视频(movie)、共享游戏(sharing)、音频(sound),很明显,我们需要汉化的文本,并不存在于这些目录下。那么,我们可以猜测,文本应该是储存在data目录下的bin文件中的,但是这些bin(二进制)文件到底是什么呢?

    为了研究这些bin文件,我们用16进制编辑器打开这些文件进行观察。 banner

    可以看到,这些文件最开始的8个字节都是字符串”SECTPACK”,我们可以顾名思义地作出假设,这些文件都是PACK,即文件包。我们继续往下看。 banner

    从0x310字节开始,有一系列的文件路径一样的字符串,几乎可以肯定之前的猜测,这些bin文件就是文件包,而这些字符串就是打包到文件包中的文件。

    从现在开始,我们把这些bin文件称为SectPack。

    那么,现在问题来了,SectPack文件中,0x10~0x310之间这0x300字节的内容到底是什么呢?

    对于文件包格式,比较常见的结构是把文件数据偏移、文件数据长度、文件名偏移等信息作为一个列表保存在文件包头部。那么很自然的,这个列表的大小,会随着文件包中包含的文件数量增加而增大。因此,SectPack开头的0x300字节不可能是保存这些信息的列表。

    并且,我们可以注意到,在每一条文件路径之间还有一些意义不明的字节。

    很显然,依靠找规律的做法,是没办法破解SectPack文件的。

    进一步分析

    为了进一步分析,我们利用模拟器进行调试。 首先,勾选调试菜单中的“载入后停止”选项,并打开反汇编窗口: banner

    然后,加载游戏,此时游戏就会停止在程序入口处: banner

    PPSSPP会对SDK中的一些函数进行自动标记,这是一个非常方便的功能。

    我们要分析 SectPack 文件,我们不妨先思考一下,从这些文件包中读取文件,需要经历哪些过程。

    首先,一个最基本的事实:这些 SectPack 都是...

    2019-04-22
  • banner

    【汉化说明】

    正在看帖子的各位,好久不见! 今天是一个特别的日子,是属于女士们的节日, 因此今天我们为大家带来一款以女性为主角的 游戏的汉化版,想必大家都对这位游戏史上 鼎鼎大名的女性非常熟悉了,她就是 ——萨姆斯·艾仁。

    今天为大家带来的是去年发售的系列第二部作品的重制版: 《密特罗德:萨姆斯回归》。 这部作品容量不大,但是麻雀虽小五脏俱全, 从精妙的地图和谜题设计,到扣人心弦的Boss战斗, 无不饱含着系列的精髓。

    【汉化人员】

    翻译:JonirRings,凉凉

    校对&润色:JonirRings,拉普达,墨白

    美工:凉凉

    程序:LITTOMA

    测试:JonirRings,螳螂虾,拉普达,墨白

    【汉化预览】

    banner banner banner banner

    【v1.1 修改说明】

    • 修复 补丁生成的 CIA 无法正常游戏的问题。

    【下载链接】

    [汉化补丁工具 v1.1]

    [百度云] 提取码: dp8y

    ...
    2019-01-16
  • 游戏汉化,或者其它语言的本土化,可以简单概括为一句话:将游戏中可见的文字元素从源语言修改成目的语言。对于汉化而言,就是将其它语言的文字修改为汉语,并确保在游戏中正常显示。

    要完成这个工作,一般要经历以下步骤:

    游戏分析->资源导出->文字、图像处理->资源导入->测试->发布

    一、游戏分析

    游戏汉化通常需要修改的资源类型有:文本/脚本(Text/Message/Script)、图像(Texture)、字库(Font),有时还包括视频(Video/Movie)、音频(Sound)、模型(Model)等。

    游戏分析,就是要找出这些资源的所在位置,并分析它们的封装格式,为后面的导出、导入做准备。这个过程,就是我们通常所说的“破解”。

    在过去,当文件系统的概念还没有在游戏上普及时,游戏资源往往会跟游戏代码混合在一起,这时要找出这些资源所在,就成了一件极为困难的事情。所幸,3DS作为一个现代的游戏平台,任天堂提供了一套清晰的文件系统标准,这为游戏的分析过程带来了极大的便利。需要汉化的资源,通常就在包含它们的英文名称的目录下,找到这些目录就能找到这些资源。

    二、资源导出

    资源导出,就是通过编写或使用现有工具,将游戏资源转换为常见的、方便编辑的格式,以便进行后续的翻译工作。

    例如,对于文本/脚本,最好将其转换成文本文档(.txt文件),这种格式可以很方便地在各种操作系统平台上找到编辑工具,查看和编辑都比较方便。

    当然,你也可以针对游戏编写专门的编辑工具,但是这样不仅需要耗费额外的时间和精力去开发和维护一套工具,并且耗时耗力开发出来的工具可能只能在极少游戏上适用,因此我们不建议采用这种做法。

    三、文字、图像处理

    这个部分往往是汉化过程中工作量最大、涉及人员最多的部分。

    文字处理,需要对文字进行翻译、校对、润色处理,这些文字包括文本或脚本中以特定编码保存的文本、UI上以图片形式呈现的文字等;

    图像处理,是在文字处理基础上对以图片形式呈现的资源进行修改。

    这个步骤通常需要不同人员分工合作才可能完成。

    四、资源导入

    这个步骤是资源导出的逆过程。同样地,我们需要根据第一步的分析结果,编写或者使用现有工具,将前面导出的资源重新转换成游戏所支持的格式。

    五、测试

    游玩汉化版游戏,找出汉化版游戏中出现的问题并进行修正,直到修复所有存在的问题为止。

    六、发布

    完成前面的步骤后,我们的游戏就可以跟玩家见面了。

    2019-01-16
  • banner

    各位关注PB汉化组的朋友们,大家新年好!我是PB汉化组的组长,LITTOMA。

    时光飞逝,转眼间我们就迎来了2019年的新年。 今年是我们汉化组成立的第5年,距离我们发布的第一款汉化作品,也快过去4年了。 我们是一个由热爱游戏的玩家自发组成的团体,成员来自五湖四海,大部分成员之间素未谋面。只是出于热爱,我们相聚在一起,并坚持到了今天。

    五年前,我第一次产生自己动手汉化自己喜欢的游戏的想法,是因为感叹于当时官方中文游戏的匮乏,同时也希望借此结交一些跟我有相同爱好的朋友。 今天,我可以荣幸地说,当初的愿望已经实现了。我拥有了一群十分难得的朋友,在和他们共同努力下,完成了一个又一个游戏的汉化。

    五年走来,跌跌撞撞,踩过不少的坑,接触过各种各样的游戏。通过对这些游戏的汉化,我了解到了不少有趣的东西, 涨了很多知识,从一个对汉化一窍不通的新手走到现在。 在很早之前我就有把这些经历写下来的想法,但由于生活和工作的原因,一直没有足够的时间; 同时也生怕自己的水平不足,导致所写的文字出现严重谬误,给其他人带来误导,于是迟迟没有开始。 在汉化组成立的第五年,我终于决定开始动手,把这些经历写下来。毕竟现在不开始,还等什么呢?

    这个系列计划分为两大部分:

    • 第一部分以讲述基础知识为主,我会尽量详细地讲述3DS游戏汉化中所需要的一切基础知识;
    • 第二部分,我会以我亲身参与的一些汉化项目为例,从头到尾,讲述这些汉化项目从0到1的完整过程。

    阅读读这些文章要求读者有一定的计算机常识,能读懂C/C++、C#、Java、Python等编程语言所写代码的逻辑。 如果文章中有错误或无法理解的地方,欢迎给我留言,或者给我发送邮件

    这个系列会不定期在我们的主页(www.pbteam.cn)上更新,文章列表也会在本文下方更新,所以有兴趣的朋友可以收藏本文链接作为目录。

    正如文章标题所言,“从入门到入土”,游戏汉化绝对不是一件简单轻松的事,所以这个系列的目标是以劝退为主, 希望仍在坑前观望的朋友在看了这个系列文章后,悬崖勒马,及时回头。 如果在那之后,你仍然有强烈的跳坑愿望,那么恭喜你,你已经在坑里了。

    【文章列表】

    第一节 - 游戏汉化的基本流程

    2019-01-06

1 >