收藏本站

您現(xiàn)在的位置:首頁 ›› 3DS ›› 游戲漢化進度

3ds游戲解包操作教程

時間:2015-11-10 16:32:45 來源:k73電玩之家 作者:小四 熱度: 1751

3ds游戲想要漢化,除了官方中文游戲以外,民間漢化組推出的游戲均要通過漢化才能完成,那么如何才能將3ds游戲rom進行解包,進而實現(xiàn)漢化呢?以下就教大家怎么把3ds rom解包后得到各種文件。

3ds游戲想要漢化,除了官方中文游戲以外,民間漢化組推出的游戲均要通過漢化才能完成,那么如何才能將3ds游戲rom進行解包,進而實現(xiàn)漢化呢?以下就教大家怎么把3ds rom解包后得到各種文件。

3ds游戲解包操作教程k73傳送門

3ds游戲漢化教程篇之打包操作k73傳送門

3ds游戲漢化教程之文本字庫操作篇:k73傳送門

隨著3DS的破解,漢化3DS游戲變成了可能,不少漢化組也紛紛開坑,加入了3DS游戲的漢化工作。那么,隨著這場聲勢浩大的漢化大潮滾滾而來,相信不少小伙伴們是不是和我一樣,都非常想加入到漢化工作中,為自己的喜愛的游戲添上自己的一份力。但是苦于沒人指導(dǎo),沒辦法入門。

近日,dnasdw大神發(fā)布了一款3ds的ROM解包打包工具——3dstool。這款工具對之前的3DS工具進行了一個整合,讓大家能夠較為輕松的完成ROM提取打包在電腦上的操作。本文也將以3dstool工具的操作為基礎(chǔ),和大家聊聊ROM解包的流程。與其說是教程,更不如說是科普吧。還有,要重點提一下:漢化游戲和玩游戲完全是兩件事,漢化是一項非??菰餆o聊的工作,沒有耐心是堅持不下去的。所以呢,在開始看文章之前,不要抱著我馬上就能學(xué)會漢化,然后多久就能漢化出游戲這樣的心態(tài)進行學(xué)習(xí)和探索,而是把它當(dāng)作閑暇之余的興趣來培養(yǎng),相信你會收獲更多。最后,還是要感謝各個漢化組的辛勤工作,沒有他們的努力,就沒有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.許多同學(xué)之前沒使用過github,具體的資料可以百度,我簡單介紹一下github就是開源軟件的代碼分享中心吧,用戶可以把自己的代碼放在github上供大家參考,也可以進行多人開發(fā),版本控制等,非常方便。

PS2.若是有同學(xué)在使用3dstool工具時提示缺少LIBEAY32.dll的話,可以搜索dll文件,下載后放入系統(tǒng)盤/Windows/System32中即可。

打開了兩個網(wǎng)頁后怎么使用呢,點擊右邊的Download ZIP就可以把所有的內(nèi)容打包下載了:

3ds游戲解包操作教程

PS.3dstool更新后,3dstool.exe以及ignore.txt文件會放在release中,請直接在這下載:https://github.com/dnasdw/3dstool/releases

3ds游戲解包操作教程

3ds游戲解包操作教程

下載好兩個工具,我們還需要準備需要解包的游戲ROM,在本文中,我會使用心游漢化組的逆轉(zhuǎn)裁判5、多玩漢化組的俄羅斯方塊、以及歐版游戲0940-開膛手杰克進行解包演示。

3ds游戲解包操作教程

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

PS.若是手里沒有4.5機器的同學(xué),可以下載心游漢化組的逆轉(zhuǎn)裁判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上依次操作“本體設(shè)置 - 其他設(shè)置 - 用戶情報 - DS軟件設(shè)置”,這時會進入命令窗口,選擇第一項NCCH padgen,等待直到屏幕最下行出現(xiàn)Finished字樣;(出現(xiàn)finished后,機器上按B回到主菜單,然后長按關(guān)機鍵關(guān)機吧)

3ds游戲解包操作教程

5.讀取SD卡,會發(fā)現(xiàn)多出了幾個xorpad文件,這樣,我們的xorpad文件就生成好了。

3ds游戲解包操作教程

操作過程二:提取cci

準備好以下這些文件,我們就可以開始進行解包操作了:

1.3DS游戲的ROM文件;

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

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

3ds游戲解包操作教程

首先,我們按住鍵盤上的SHIFT鍵,同時右擊文件夾中空白處,點擊在此處打開命令窗口。

3ds游戲解包操作教程

開始進行解包操作了,先輸入“MD cci”創(chuàng)建文件夾cci。

3ds游戲解包操作教程

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

3ds游戲解包操作教程

我們可以發(fā)現(xiàn)提取出了一個cxi和ncsdheader.bin文件。

我們再來看看這句命令“3dstool -xvt0f cci cci\0.cxi cat-aajp.3ds --header cci\ncsdheader.bin”

“3dstool”大家都看得懂,就是調(diào)用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分區(qū)的cxi文件,-f是目標文件,噢,參數(shù)是可以合并的,所以“-x -v -t -0 -f”與“-xvt0f”功能是一樣的。那么這代碼翻譯過來就是:“從目標文件(cat-aajp.3ds)中提取位于cci文件第0分區(qū)的cxi文件,提取到cci文件夾中的0.cxi文件中”

“--header cci\ncsdheader.bin”是提取目標文件(cat-aajp.3ds)中的頭文件,所以在完成代碼后,我們得到了“0.cxi”和“ncsdheader.bin”兩個文件。

細心的小伙伴可能已經(jīng)發(fā)現(xiàn)了,在CMD中提示“INFO: partition 1(7) is not extract”,這句話指的是在cci文件中,還有第1分區(qū)的1.cfa和第7分區(qū)的7.cfa沒有被提取出來,然后我們就需要改變命令中的參數(shù)重新提取這兩個文件:“3dstool -xvt17f cci cci\1.cfa cci\7.cfa cat-aajp.3ds”:

3ds游戲解包操作教程

好的,我們已經(jīng)提取出所有的cci文件中的分區(qū)。那如果我提取的分區(qū),在cci文件中不存在,會出現(xiàn)什么提示呢,我們再來額外進行一次測試:“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文件分區(qū)中沒有這兩個文件,不存在的分區(qū)是無法提取出來的,所以不用擔(dān)心寫錯參數(shù)會提取出錯誤的數(shù)據(jù),依次類推,我們可以得到cci文件中所有分區(qū)的文件了。

還有,如果我們在將代碼后面的“--header cci\ncsdheader.bin”去掉,會發(fā)生什么呢:

3ds游戲解包操作教程

軟件非常機智的告訴我們ncsdheader頭文件沒有提取。

操作步驟三:提取cxi/cfa

得到了cxi文件,我們可以進行下一步的提取了。在這一步中,我們需要步驟一中提取的xorpad文件了。

首先依然是創(chuàng)建文件夾“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文件,仔細看還會發(fā)現(xiàn)是對應(yīng)的,“--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,其實處理方式大同小異,首先創(chuàng)建文件夾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文件中是游戲手冊內(nèi)容,所以我們使用“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游戲解包操作教程

我們在這發(fā)現(xiàn)有提示,頭文件沒有提取出來,那么我們在代碼后面加上一段“--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文件也使用相同的方法進行提?。?ldquo;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)與逆轉(zhuǎn)裁判5(逆轉(zhuǎn)裁判5本篇漢化版.3ds)都是已經(jīng)由漢化組進行漢化后再打包的,經(jīng)過測試,漢化組在打包過程中是使用--key0進行打包的,所以我們再進行解包操作的話,無需xorpad文件,直接使用--key0進行解包操作就可以了。

1.先輸入“MD cci”創(chuàng)建文件夾cci。

3ds游戲解包操作教程

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

3ds游戲解包操作教程

提取出一個cxi和ncsdheader.bin文件,而且沒有其他分區(qū)未提取的提示。

3.創(chuàng)建文件夾“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文件進行提取(見上文案例)。

再次強調(diào):如果在這一步使用錯誤的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游戲解包操作教程

嗯,提取資源文件完成。

第三次提取過程,我們再一起快速的重復(fù)一遍,拿逆轉(zhuǎn)裁判5(逆轉(zhuǎn)裁判5本篇漢化版.3ds)ROM作為例子,先準備好工具和ROM:

3ds游戲解包操作教程

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

3ds游戲解包操作教程

第一步-2:根據(jù)提示修改代碼,增加1和7兩個分區(qū)的提取“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游戲解包操作教程

接下來的工作就是進行文本圖片的導(dǎo)出,字庫的破解等,在本文中就不進行討論了,同時,期待有更多的漢化愛好者能夠加入到我們中來,生命不止,漢化不息。哈哈。

SarvSarv

2014.12.7(12.10修改)

附錄:

3dstool 1.0 by dnasdw

用法: 3dstool [選項...] [選項]...

選項:

功能:

-x, --extract 從目標文件提取

-c, --create 創(chuàng)建目標文件

-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:

提取/創(chuàng)建:

--header 目標文件的頭文件

加密:

--key0 --key 00000000000000000000000000000000的縮寫

--key 使用AES-CTR加密時的十六進制寫法的key

--counter 使用AES-CTR加密時的十六進制寫法的counter

--xor 使用異或加密時的異或數(shù)據(jù)文件

解壓/壓縮:

--compress-out

       解壓或壓縮時的輸出文件

cci:

提取/創(chuàng)建:

-0, --partition0

       位于cci文件第0分區(qū)的cxi文件

-1, --partition1

       位于cci文件第1分區(qū)的cfa文件

-2, --partition2

       位于cci文件第2分區(qū)的cfa文件

-3, --partition3

       位于cci文件第3分區(qū)的cfa文件

-4, --partition4

       位于cci文件第4分區(qū)的cfa文件

-5, --partition5

       位于cci文件第5分區(qū)的cfa文件

-6, --partition6

       位于cci文件第6分區(qū)的cfa文件

-7, --partition7

       位于cci文件第7分區(qū)的cfa文件

縮減:

--trim-after-partition

       [0~7], 保留的最后分區(qū)號,可選的

cxi:

創(chuàng)建:

--not-update-exh-hash

--not-update-extendedheader-hash

       不更新extendedheader的校驗值

--not-update-exefs-hash

       不更新exefs頭部的校驗值

--not-update-romfs-hash

       不更新romfs頭部的校驗值

--not-pad 不追加填充數(shù)據(jù)

提取:

--exh

--extendedheader

       cxi文件的extendedheader文件

--logo

--logoregion

       cxi文件的logoregion文件

--plain

--plainregion

       cxi文件的plainregion文件

--exefs cxi文件的exefs文件

加密:

--exh-xor

--extendedheader-xor

       加密cxi文件的extendedheader部分用的異或數(shù)據(jù)文件

--exefs-xor

       加密cxi文件的exefs部分用的異或數(shù)據(jù)文件

--exefs-top-xor

       加密cxi文件的exefs第一段用的異或數(shù)據(jù)文件

cfa:

提取/創(chuàng)建:

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

encrypt:

--romfs-xor

       加密cxi或cfa文件的romfs部分用的異或數(shù)據(jù)文件

exefs:

提取/創(chuàng)建:

--exefs-dir

       組成exefs文件的文件夾

romfs:

提取/創(chuàng)建:

--romfs-dir

       組成romfs文件的文件夾

k73更懂你:3ds

我要評論 查看全部評論 (1)>>

  • k73玩家2016-04-04 22:41:32評論 (4) (1) 回復(fù)

    我無卡破解,用的是rxtool在414時直接進入了虛擬系統(tǒng),不能進那個菜單,這怎么弄,能勞煩大神詳細講講嗎?

本類推薦

3ds 2017年至2018年游戲大作發(fā)售表

《勇者斗惡龍11》初始村鎮(zhèn)伊西村及雙版本戰(zhàn)斗畫面公開

《勇者斗惡龍11》op cg超清視頻公開

收藏本站 | 聯(lián)系我們 | 發(fā)展歷程 | 版權(quán)聲明 | 下載幫助 | 廣告服務(wù) | 軟件提交 | 意見反饋

Copyright 2008-2020 破解游戲排行榜 版權(quán)所有 鄂ICP備17000873號

k73所有游戲及軟件下載資源均來源自互聯(lián)網(wǎng),并由網(wǎng)友上傳分享。如有侵權(quán),請來電來函告之。

k73手游