收藏本站

您现在的位置:首页 ›› 3DS ›› 游戏汉化进度

3ds游戏解包操作教程

时间:2015-11-10 16:32:45 来源:k73电玩之家 作者:小四 热度: 1651

3ds游戏想要汉化,除了官方中文游戏以外,民间汉化组推出的游戏均要通过汉化才能完成,那么如何才能将3ds游戏rom进行解包,进而实现汉化呢?以下就教大家怎么把3ds rom解包后得到各种文件。

3ds游戏想要汉化,除了官方中文游戏以外,民间汉化组推出的游戏均要通过汉化才能完成,那么如何才能将3ds游戏rom进行解包,进而实现汉化呢?以下就教大家怎么把3ds rom解包后得到各种文件。

3ds游戏解包操作教程k73传送门

3ds游戏汉化教程篇之打包操作k73传送门

3ds游戏汉化教程之文本字库操作篇:k73传送门

随着3DS的破解,汉化3DS游戏变成了可能,不少汉化组也纷纷开坑,加入了3DS游戏的汉化工作。那么,随着这场声势浩大的汉化大潮滚滚而来,相信不少小伙伴们是不是和我一样,都非常想加入到汉化工作中,为自己的喜爱的游戏添上自己的一份力。但是苦于没人指导,没办法入门。

近日,dnasdw大神发布了一款3ds的ROM解包打包工具——3dstool。这款工具对之前的3DS工具进行了一个整合,让大家能够较为轻松的完成ROM提取打包在电脑上的操作。本文也将以3dstool工具的操作为基础,和大家聊聊ROM解包的流程。与其说是教程,更不如说是科普吧。还有,要重点提一下:汉化游戏和玩游戏完全是两件事,汉化是一项非常枯燥无聊的工作,没有耐心是坚持不下去的。所以呢,在开始看文章之前,不要抱着我马上就能学会汉化,然后多久就能汉化出游戏这样的心态进行学习和探索,而是把它当作闲暇之余的兴趣来培养,相信你会收获更多。最后,还是要感谢各个汉化组的辛勤工作,没有他们的努力,就没有3DS的汉化。

好的,废话说完了,我们开始进行ROM解包的过程吧。

首先我们需要准备一些工具,这些工具将在提取过程中帮助我们完成很多工作:

1.3dstool(dnasdw):v1.0.9

2.3DS_Multi_Decryptor(Relys):链接: http://pan.baidu.com/s/1pJ6DllL 密码: cjjs

3.Python 2.X

3.slot0x25KeyX.bin 链接: http://pan.baidu.com/s/1hq8Tsxu 密码: 4nxe

PS1.许多同学之前没使用过github,具体的资料可以百度,我简单介绍一下github就是开源软件的代码分享中心吧,用户可以把自己的代码放在github上供大家参考,也可以进行多人开发,版本控制等,非常方便。

PS2.若是有同学在使用3dstool工具时提示缺少LIBEAY32.dll的话,可以搜索dll文件,下载后放入系统盘/Windows/System32中即可。

打开了两个网页后怎么使用呢,点击右边的Download ZIP就可以把所有的内容打包下载了:

3ds游戏解包操作教程

PS.3dstool更新后,3dstool.exe以及ignore.txt文件会放在release中,请直接在这下载:https://github.com/dnasdw/3dstool/releases

3ds游戏解包操作教程

3ds游戏解包操作教程

下载好两个工具,我们还需要准备需要解包的游戏ROM,在本文中,我会使用心游汉化组的逆转裁判5、多玩汉化组的俄罗斯方块、以及欧版游戏0940-开膛手杰克进行解包演示。

3ds游戏解包操作教程

操作过程一:使用3DS生成xorpad文件

PS.若是手里没有4.5机器的同学,可以下载心游汉化组的逆转裁判5、多玩汉化组的俄罗斯方块,从操作过程二开始进行解包操作。

1.安装python,这样就可以使用.py编写的程序,例如接下来需要使用到的ctrKeyGen.py;

2.取出3DS_Multi_Decryptor-master文件夹下的ctrKeyGen.py,将我们的第一个ROM文件,cat-aajp.3ds(0940-开膛手杰克)拖到ctrKeyGen.py上面,会弹出一个命令窗口,一闪而过后,就会在3ds文件相同的目录下,生成ncchinfo.bin文件;

3ds游戏解包操作教程

3.将3DS_Multi_Decryptor-master文件夹下的launcher.dat与第2步生成的ncchinfo.bin和slot0x25keyX.bin放到4.5版本、已破解3DS的SD卡中,并将3DS开机;

4.在3DS上依次操作“本体设置 - 其他设置 - 用户情报 - DS软件设置”,这时会进入命令窗口,选择第一项NCCH padgen,等待直到屏幕最下行出现Finished字样;(出现finished后,机器上按B回到主菜单,然后长按关机键关机吧)

3ds游戏解包操作教程

5.读取SD卡,会发现多出了几个xorpad文件,这样,我们的xorpad文件就生成好了。

3ds游戏解包操作教程

操作过程二:提取cci

准备好以下这些文件,我们就可以开始进行解包操作了:

1.3DS游戏的ROM文件;

2.各个xorpad文件(为了方便打字,我把前面的一串字符去掉)

3.3dstool工具(在3dstool-master\bin文件夹中)

3ds游戏解包操作教程

首先,我们按住键盘上的SHIFT键,同时右击文件夹中空白处,点击在此处打开命令窗口。

3ds游戏解包操作教程

开始进行解包操作了,先输入“MD cci”创建文件夹cci。

3ds游戏解包操作教程

接着键入命令“3dstool -xvt0f cci cci\0.cxi cat-aajp.3ds --header cci\ncsdheader.bin”

3ds游戏解包操作教程

我们可以发现提取出了一个cxi和ncsdheader.bin文件。

我们再来看看这句命令“3dstool -xvt0f cci cci\0.cxi cat-aajp.3ds --header cci\ncsdheader.bin”

“3dstool”大家都看得懂,就是调用3dstool.exe这个工具;

“--xvt0f cci cci\0.cxi cat-aajp.3ds”这句大家就可能不知道了,让我们打开3dstool文档来看看(见附录1):

3ds游戏解包操作教程

“--xvt0f cci cci\0.cxi cat-aajp.3ds”中,-x是从目标文件提取,-v是显示信息,-t是文件类型,-0是第0分区的cxi文件,-f是目标文件,噢,参数是可以合并的,所以“-x -v -t -0 -f”与“-xvt0f”功能是一样的。那么这代码翻译过来就是:“从目标文件(cat-aajp.3ds)中提取位于cci文件第0分区的cxi文件,提取到cci文件夹中的0.cxi文件中”

“--header cci\ncsdheader.bin”是提取目标文件(cat-aajp.3ds)中的头文件,所以在完成代码后,我们得到了“0.cxi”和“ncsdheader.bin”两个文件。

细心的小伙伴可能已经发现了,在CMD中提示“INFO: partition 1(7) is not extract”,这句话指的是在cci文件中,还有第1分区的1.cfa和第7分区的7.cfa没有被提取出来,然后我们就需要改变命令中的参数重新提取这两个文件:“3dstool -xvt17f cci cci\1.cfa cci\7.cfa cat-aajp.3ds”:

3ds游戏解包操作教程

好的,我们已经提取出所有的cci文件中的分区。那如果我提取的分区,在cci文件中不存在,会出现什么提示呢,我们再来额外进行一次测试:“3dstool -xvt01237f cci cci\0.cxi cci\1.cfa cci\2.cfa cci\3.cfa cci\7.cfa cat-aajp.3ds --header cci\ncsdheader.bin”:

3ds游戏解包操作教程

我们看到,因为cci文件分区中没有这两个文件,不存在的分区是无法提取出来的,所以不用担心写错参数会提取出错误的数据,依次类推,我们可以得到cci文件中所有分区的文件了。

还有,如果我们在将代码后面的“--header cci\ncsdheader.bin”去掉,会发生什么呢:

3ds游戏解包操作教程

软件非常机智的告诉我们ncsdheader头文件没有提取。

操作步骤三:提取cxi/cfa

得到了cxi文件,我们可以进行下一步的提取了。在这一步中,我们需要步骤一中提取的xorpad文件了。

首先依然是创建文件夹“MD cci\cxi0”:

3ds游戏解包操作教程

接着键入以下命令“3dstool -xvtf cxi cci\0.cxi --header cci\cxi0\ncchheader.bin --exh cci\cxi0\exh.bin --plain cci\cxi0\plain.bin --exefs cci\cxi0\exefs.bin --romfs cci\cxi0\romfs.bin --exh-xor Main.exheader.xorpad --exefs-xor Main.exefs_norm.xorpad --romfs-xor Main.romfs.xorpad”:

3ds游戏解包操作教程

成功提取出5个文件,我们再来仔细看看代码:“3dstool -xvtf cxi cci\0.cxi --header cci\cxi0\ncchheader.bin --exh cci\cxi0\exh.bin --plain cci\cxi0\plain.bin --exefs cci\cxi0\exefs.bin --romfs cci\cxi0\romfs.bin --exh-xor Main.exheader.xorpad --exefs-xor Main.exefs_norm.xorpad --romfs-xor Main.romfs.xorpad”

“-xvtf cxi cci\0.cxi”与上文类似,就是提取cxi文件;

“--header cci\cxi0\ncchheader.bin”、“--exh cci\cxi0\exh.bin”、“--plain cci\cxi0\plain.bin”、“-exefs cci\cxi0\exefs.bin”、“--romfs cci\cxi0\romfs.bin”这五段代码非常类似,都是这种:“前面是命令,后面是提取到哪个文件”的格式,都比较容易理解;

重要的是最后一段,在这一步有三段代码:“--exh-xor Main.exheader.xorpad”、“--exefs-xor Main.exefs_norm.xorpad”、“--romfs-xor Main.romfs.xorpad”分别使用了我们从3DS上提取出来的3个xorpad文件,若是没有这三段代码,那么提取出来的文件会是错误的。三段代码的格式也非常类似,空格前面是命令,空格后面是使用哪个xorpad文件,仔细看还会发现是对应的,“--exh-xor”命令使用的是从3DS中提取出的“Main.exheader.xorpad”,“0.cxi”使用的xorpad是以Main开头的,以此类推。

如果在这一步使用错误的key(如--key0)或者错误的xorpad提取出bin文件,那么在下一步,bin文件将会不可读,这也就是说,我们没办法省略3DS上提取xorpad文件的操作,每个ROM的xorpad都是不通用的。

提取完0.cxi的文件,我们接着来处理1.cfa文件以及7.cfa,其实处理方式大同小异,首先创建文件夹cfa1和cfa7,然后直接上代码:“3dstool -xvtf cfa cci\1.cfa --header cci\cfa1\ncchheader.bin --romfs cci\cfa1\romfs.bin --romfs-xor Manual.romfs.xorpad”与“3dstool -xvtf cfa cci\7.cfa --header cci\cfa7\ncchheader.bin --romfs cci\cfa7\romfs.bin --romfs-xor UpdateData.romfs.xorpad”:

3ds游戏解包操作教程

1.cfa文件中是游戏手册内容,所以我们使用“Manual.romfs.xorpad”进行提取,7.cfa文件中是游戏更新档案,所以我们使用“UpdateData.romfs.xorpad”进行提取大家可以记一下。其余的cfa也同样使用各自的xorpad文件进行提取。

操作过程四:提取bin

让我们直接键入代码:“3dstool -xvtf romfs cci\cxi0\romfs.bin --romfs-dir cci\cxi0\romfs”

3ds游戏解包操作教程

大家看,直接提取出了各种资源文件,这句代码也非常好理解:

“-xvtf romfs cci\cxi0\romfs.bin”提取romfs文件;

“--romfs-dir cci\cxi0\romfs”提取romfs并组成romfs文件的文件夹。

接下来exefs.bin文件也是使用同样的方法进行提取,但是这里请注意,exefs提取时,可能需要把“-xvtf”改为“-xvtfu”,因为在部分游戏中,exefs文件是使用反向LZ77压缩的(具体是否需要添加“-u”,需要查看exh中的标记信息,若是exh.bin的0000000dh位的值为1时,需要加“-u”,如图1),所以需要将代码改为“3dstool -xvtfu exefs cci\cxi0\exefs.bin --exefs-dir cci\cxi0\exefs”(如图2):

3ds游戏解包操作教程

3ds游戏解包操作教程

我们在这发现有提示,头文件没有提取出来,那么我们在代码后面加上一段“--header cci\cxi0\exefs\exefsheader.bin”:

3ds游戏解包操作教程

“cfa1”文件夹中的romfs.bin文件也使用相同的方法进行提取:“3dstool -xvtf romfs cci\cfa1\romfs.bin --romfs-dir cci\cfa1\romfs”:

3ds游戏解包操作教程

“cfa7”文件夹中的romfs.bin文件也使用相同的方法进行提取:“3dstool -xvtf romfs cci\cfa7\romfs.bin --romfs-dir cci\cfa7\romfs”:

3ds游戏解包操作教程

好了,到此为之,所有的提取工作都完成了,我们得到了ROM中的资源文件。

正确代码汇总:

//提取出0.cxi、1.cfa、7.cfa、ncsdheader.bin四个文件

MD cci

3dstool -xvt017f cci cci\0.cxi cci\1.cfa cci\7.cfa cat-aajp.3ds --header cci\ncsdheader.bin

//提取出cxi0、cfa1、cfa7中的exefs、romfs资源包

MD cci\cxi0

3dstool -xvtf cxi cci\0.cxi --header cci\cxi0\ncchheader.bin --exh cci\cxi0\exh.bin --plain cci\cxi0\plain.bin --exefs cci\cxi0\exefs.bin --romfs cci\cxi0\romfs.bin --exh-xor Main.exheader.xorpad --exefs-xor Main.exefs_norm.xorpad --romfs-xor Main.romfs.xorpad

MD cci\cfa1

MD cci\cfa7

3dstool -xvtf cfa cci\1.cfa --header cci\cfa1\ncchheader.bin --romfs cci\cfa1\romfs.bin --romfs-xor Manual.romfs.xorpad

3dstool -xvtf cfa cci\7.cfa --header cci\cfa7\ncchheader.bin --romfs cci\cfa7\romfs.bin --romfs-xor UpdateData.romfs.xorpad

//提取exefs、romfs资源包中的资源

3dstool -xvtf romfs cci\cxi0\romfs.bin --romfs-dir cci\cxi0\romfs

3dstool -xvtfu exefs cci\cxi0\exefs.bin --exefs-dir cci\cxi0\exefs --header cci\cxi0\exefs\exefsheader.bin

3dstool -xvtf romfs cci\cfa1\romfs.bin --romfs-dir cci\cfa1\romfs

3dstool -xvtf romfs cci\cfa7\romfs.bin --romfs-dir cci\cfa7\romfs

操作演示:

接着,我使用另外两个ROM进行操作,与大家回顾一下操作过程:

俄罗斯方块(tetris-1008.3ds)与逆转裁判5(逆转裁判5本篇汉化版.3ds)都是已经由汉化组进行汉化后再打包的,经过测试,汉化组在打包过程中是使用--key0进行打包的,所以我们再进行解包操作的话,无需xorpad文件,直接使用--key0进行解包操作就可以了。

1.先输入“MD cci”创建文件夹cci。

3ds游戏解包操作教程

2.键入命令“3dstool -xvt0f cci cci\0.cxi tetris-1008.3ds --header cci\ncsdheader.bin”

3ds游戏解包操作教程

提取出一个cxi和ncsdheader.bin文件,而且没有其他分区未提取的提示。

3.创建文件夹“MD cci\cxi0”:

3ds游戏解包操作教程

4.输入命令“3dstool -xvtf cxi cci\0.cxi --header cci\cxi0\ncchheader.bin --exh cci\cxi0\exh.bin --logo cci\cxi0\logo.bcma.lz --exefs cci\cxi0\exefs.bin --romfs cci\cxi0\romfs.bin --key0”

3ds游戏解包操作教程

成功提取出5个文件。

我使用的是“--key0”进行提取,这是因为汉化组在汉化完成后,是使用“--key0”进行打包的;如果解包的是原版ROM,则需要使用xorpad文件进行提取(见上文案例)。

再次强调:如果在这一步使用错误的key或者错误的xorpad提取出bin文件,那么在下一步,bin文件将会不可读,这也就是说,我们没办法省略3DS上提取xorpad文件的操作,每个ROM的xorpad都是不通用的。

5.键入代码:“3dstool -xvtf romfs cci\cxi0\romfs.bin --romfs-dir cci\cxi0\romfs”

3ds游戏解包操作教程

提取出了各种资源文件。

6.“3dstool -xvtfu exefs cci\cxi0\exefs.bin --exefs-dir cci\cxi0\exefs --header cci\cxi0\exefs\exefsheader.bin”:

3ds游戏解包操作教程

嗯,提取资源文件完成。

第三次提取过程,我们再一起快速的重复一遍,拿逆转裁判5(逆转裁判5本篇汉化版.3ds)ROM作为例子,先准备好工具和ROM:

3ds游戏解包操作教程

第一步-1:尝试提取cci“3dstool -xvt0f cci cci\0.cxi nzcp.3ds --header cci\ncsdheader.bin”

3ds游戏解包操作教程

第一步-2:根据提示修改代码,增加1和7两个分区的提取“3dstool -xvt017f cci cci\0.cxi cci\1.cfa cci\7.cfa nzcp.3ds --header cci\ncsdheader.bin”

3ds游戏解包操作教程

第二步:建立文件夹“MD cci\cxi0”提取cxi“3dstool -xvtf cxi cci\0.cxi --header cci\cxi0\ncchheader.bin --exh cci\cxi0\exh.bin --logo cci\cxi0\logo.bcma.lz --plain cci\cxi0\plain.bin --exefs cci\cxi0\exefs.bin --romfscci\cxi0\romfs.bin --key0”

3ds游戏解包操作教程

(logo文件不存在,忽略)

第三步:提取romfs“3dstool -xvtf romfs cci\cxi0\romfs.bin --romfs-dir cci\cxi0\romfs”

3ds游戏解包操作教程

第四步:提取exefs“3dstool -xvtfu exefs cci\cxi0\exefs.bin --header cci\cxi0\exefs\exefsheader.bin --exefs-dir cci\cxi0\exefs”

3ds游戏解包操作教程

完成。

让我们来看看提取出的资源文件吧:

3ds游戏解包操作教程

接下来的工作就是进行文本图片的导出,字库的破解等,在本文中就不进行讨论了,同时,期待有更多的汉化爱好者能够加入到我们中来,生命不止,汉化不息。哈哈。

SarvSarv

2014.12.7(12.10修改)

附录:

3dstool 1.0 by dnasdw

用法: 3dstool [选项...] [选项]...

选项:

功能:

-x, --extract 从目标文件提取

-c, --create 创建目标文件

-e, --encrypt 加密目标文件

-u, --uncompress

       通过反向LZ77算法解压目标文件

-z, --compress

       通过反向LZ77算法压缩目标文件

-r, --trim 缩减cci文件

-p, --pad 填充cci文件

--sample 查看例子

-h, --help 查看帮助

通用:

-t, --type [[card|cci|3ds]|[nand|exec|cxi]|[data|cfa]|exefs|romfs]

文件类型,可选的

-f, --file 目标文件,必需的

-v, --verbose 显示信息

cci/cxi/cfa/exefs:

提取/创建:

--header 目标文件的头文件

加密:

--key0 --key 00000000000000000000000000000000的缩写

--key 使用AES-CTR加密时的十六进制写法的key

--counter 使用AES-CTR加密时的十六进制写法的counter

--xor 使用异或加密时的异或数据文件

解压/压缩:

--compress-out

       解压或压缩时的输出文件

cci:

提取/创建:

-0, --partition0

       位于cci文件第0分区的cxi文件

-1, --partition1

       位于cci文件第1分区的cfa文件

-2, --partition2

       位于cci文件第2分区的cfa文件

-3, --partition3

       位于cci文件第3分区的cfa文件

-4, --partition4

       位于cci文件第4分区的cfa文件

-5, --partition5

       位于cci文件第5分区的cfa文件

-6, --partition6

       位于cci文件第6分区的cfa文件

-7, --partition7

       位于cci文件第7分区的cfa文件

缩减:

--trim-after-partition

       [0~7], 保留的最后分区号,可选的

cxi:

创建:

--not-update-exh-hash

--not-update-extendedheader-hash

       不更新extendedheader的校验值

--not-update-exefs-hash

       不更新exefs头部的校验值

--not-update-romfs-hash

       不更新romfs头部的校验值

--not-pad 不追加填充数据

提取:

--exh

--extendedheader

       cxi文件的extendedheader文件

--logo

--logoregion

       cxi文件的logoregion文件

--plain

--plainregion

       cxi文件的plainregion文件

--exefs cxi文件的exefs文件

加密:

--exh-xor

--extendedheader-xor

       加密cxi文件的extendedheader部分用的异或数据文件

--exefs-xor

       加密cxi文件的exefs部分用的异或数据文件

--exefs-top-xor

       加密cxi文件的exefs第一段用的异或数据文件

cfa:

提取/创建:

--romfs cxi或cfa文件的romfs文件

encrypt:

--romfs-xor

       加密cxi或cfa文件的romfs部分用的异或数据文件

exefs:

提取/创建:

--exefs-dir

       组成exefs文件的文件夹

romfs:

提取/创建:

--romfs-dir

       组成romfs文件的文件夹

k73更懂你:3ds

我要评论 查看全部评论 (1)>>

  • k73玩家2016-04-04 22:41:32评论 (4) (1) 回复

    我无卡破解,用的是rxtool在414时直接进入了虚拟系统,不能进那个菜单,这怎么弄,能劳烦大神详细讲讲吗?

本类推荐

3ds 2017年至2018年游戏大作发售表

《勇者斗恶龙11》初始村镇伊西村及双版本战斗画面公开

《勇者斗恶龙11》op cg超清视频公开

收藏本站 | 联系我们 | 发展历程 | 版权声明 | 下载帮助 | 广告服务 | 软件提交 | 意见反馈

Copyright 2008-2020 破解游戏排行榜 版权所有 鄂ICP备17000873号

k73所有游戏及软件下载资源均来源自互联网,并由网友上传分享。如有侵权,请来电来函告之。

k73手游