TShopping

 找回密碼
 註冊
搜索
查看: 9040|回復: 6
打印 上一主題 下一主題

[分享] Wii軟改原理解析(四)HBC、bootmii、DVDX

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2011-2-21 04:00:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
 
Push to Facebook
前面介紹完了一些基本觀念,接下來就要實際進入Wii軟改錯綜複雜的世界

Team Twiizers(簡稱TT)

  飲水思源,先來講到Wii軟改界中不可不提的一個團體,TT是曙光公主Twilight Hack的原創者,同時也是有名的HackMii Installer的作者,(包含Homebrew Channel, BootMii, DVDX三個自製軟件) 。

1. The Homebrew Channel(HBC) - 軟改必裝的頻道

  前一篇介紹了使用各種buffer overflow漏洞,可以執行自製程式,不過每次都要重跑一次漏洞,實在不是很方便。就算有比較方便的Bannerbomb,也要每次把要執行的程式,放的SD卡的根目錄再跑Bannerbomb。所以,就有了Homebrew Channel的誕生。

  HBC大大了簡化了初期Wii自製軟程執行的流程,只要將你寫好的程式目錄放在SD卡上的apps目錄下,程式目錄中包含三個固定文件。icon.png(圖片)meta.xml(說明文件)boot.dol(主程序) ,(這三個之中boot.dol為必要文件,其它兩者可有可無,不影響執行) ,HBC就能將SD上的程式找到並列表供使用者選擇。(所以,下次拿到只有一個dol的程式,就會用了吧?改名成boot.dol,並搭配一個icon.png及meta.xml,就可以用了) 。

  HBC,可以說為Homebrew軟體做了一個完整的基本示範。他不但破解了Wii的頻道格式,可以使用WiiMote,甚至還有上網自動更新的功能。HBC目前由HackMii Installer安裝。安裝的時候會決定HBC所需要用到的IOS。

  一般來說,HBC會傾向用最新、未修改,但不是系統選單用的IOS。(因為系統選單用的IOS,隨時會因為系 統升級而成為stub IOS,見第二篇) ,以獲得系統最新的支援。

  以目前來說,只要有安裝IOS58,那麼HBC會優先選擇IOS58做為HBC使用的IOS (IOS58是遊戲「你的形狀」攝像頭使用的IOS,具有原生USB2.0模塊)。

HBC顛倒問題:

  HBC寫得很好,幾乎沒有什麼問題(所以也沒什麼競爭軟件。) 一般新手最常遇到的問題只有一個,就是HBC顛倒的問題或者是進入需要等待1分鐘。沒接觸過Wii軟改的人,一開始可能會以為是HBC或Wii軟改的bug。

  事實上,這並不是bug,而是TT故意這樣寫的。由於TT不希望大家更動系統IOS(理由之後講IOS再說明)
所以如果他偵測到HBC是用修改過的IOS執行,就會顛倒。第二,進入1分鐘等待是因為使用了wad安裝器方式按照了HBC,或者你修改了HBC。TT為了保護HBC完整性,就做了必須用Hackmii安裝的方式。

  解法有二,一是看HBC使用哪一個IOS,並還原成官方版,另一個方法就是單純重裝一次HBC據說就可以解決。(最新Hackmii_0.8只需要安裝官方IOS58,然後Hackmii卸載HBC在安裝就可以解決)

  基本上,綜合前述我說的,只要安裝官方版本的IOS58,再重新安裝HBC,就可以保證HBC一定是用官方版的IOS58,那麼,就一定不會出現顛倒的問題了。

2. BootMii - 救磚的終極利器

  這邊先來複習一下第二篇中,Wii的正常開機流程

boot0 ---> boot1 ---> boot2 ---> SYSMENU IOS -> SYSMENU(系 統選單)

  其中boot0只讀,boot1因為檢查碼放在boot0,也無法改,boot2以後才是我們可以變更的部份。(NAND 1-7塊,可以修改),BootMii所做的是,修改原本的boot2,讓你可以在執行系 統選單之前,有機會做一些別的事。

  安裝了BootMii之後,系 統的開機流程

                                   無SD卡或卡上沒BootMii
boot0 ---> boot1 ---> boot2(hacked) ----------------> 繼續正常開機
                           |
                           --------> BootMii -------> 系統選單,或直接到HBC
                           有SD卡                   跳出

  BootMii其實最重要的功能,只有一個,就是備份和還原整個Wii的資料(NAND Flash) ,類似像我們在一般電腦上ghost的功能。(一鍵恢復等等)

  由於他是在系統選單之前就執行,所以無謂系 統出了什麼問題,只要boot2沒有被蓋掉,你都還是可以進入BootMii進行還原系統的動作。

  也由於這個特性,我建議在軟改一開始,裝好bootmii之後。馬上先做一次NAND Backup,並將keys.bin和nand.bin兩個檔案收好,另外要注意的是,備份下來的檔案只能在原機上使用,你無法還原到另一台Wii上面。

bootmii 會在SD卡建立bootmii文件,內有3個文件,ppcboot.elf、armboot.bin、bootmii.ini
ppcboot.elf就是PowerPc處理器Broadway來運行,這個就是bootmii的界面(類似系 統菜單)
armboot.bin是ARM處理器Starlet來運行(類似系 統IOS)
bootmii.ini是配置文件,裡面寫了bootmii的運行時視頻模式,是否自動跳過,或者引導進入HBC等等。

  不過,在後期所謂LU64+(後面會再另外解釋)的機器上,由於boot1的trucha bug被修正,所以無法修改boot2。

  如果BootMii無法安裝在boot2,那救磚的功能也就大為減弱了,(HackMii Installer在安裝的時候會提示)
因為裝在IOS,就必須能開進HBC之後,才能執行BootMii,這時候因為系 統選單造成的所謂全磚,也就無法修復了。

  所以使用新機器的人,務必要對自己的每一個動作都多加留意。注意:Bootmii備份的NAND,不包含boot2,也就是說即使你恢復,boot2也不會被覆蓋。其實,keys.bin丟失了,有NAND.bin也可以恢復(因為NAND.bin最後1Kb的數據就是keys,但是!!!注意,bootmii beta3的備份NAND不包含keys,如果keys在丟失就無法恢復了)

3. DVDX - 自製程式讀取DVD片的通路

  Wii的設計光驅有保護機制,所以必須是Wii特殊DVD,程序才能存取,(不討論硬改的問題)所有Iso9660格式的「正常」DVD盤。如DVD-ROM, DVD+-R, DVD影片等等,正常的IOS是無法讀取的。

  不過由於早期任天堂可能還沒有決定要不要支援DVD影片播放。所以光碟機都內含一個特殊模式,開啟之後就可以讀取iso9660的DVD。而DVDX,就類似一個驅動程式,驅動光碟機,讓自製程式可以透過它存取一般的DVD片。

  除了播放DVD影片以外,很多模擬器可以用它來讀取DVD上的ROM檔。DVDX是安裝成一個隱藏的頻道,所以不會修改主機上的任何IOS,不過自從USB儲存被支援後,DVDX的重要性就下降了。

  而且目前主流的MediaPlayer如WiiMC或MPlayer_CE,則改用了CustomIOS 202去直接讀取DVD片,而不再需要DVDX。(最新的Wiimc使用IOS58,利用HW_AHBPROT技術,已經不需要DVDX就可以讀DVD,DVDX已經淘汰,Mplayer使用cIOS202來讀取DVD。DVDX流行在早期,cIOS不流行之時)(目前有一個問題是在所謂D3-2/D4的新版光碟機上,Wii的特殊模式被去除。所以如果用比較新的Wii,只用軟改,是完全無法讀取一般DVD片的)(這就是軟破解讀盤,片頭卡的原因,因為軟直讀利用了這個模式,所以只能實現3X讀盤,因為讀DVD不需要高速,usbloader沒有速度限制)

  基本上,有了這些,對一般自製的程式來說,已經很足夠了,不過對於一些非正規的用途,受限於官方IOS的能力,仍然會有所限制(這後面也會再加以解釋) 。

  順帶一提的是,TT堅守反盜版的立場,所謂Backup/ISO loader這類有可能牽涉盜版的東西,儘管他們絕對有能力辦到,也是絕對不碰的。

  而所謂的Custom IOS,幾乎可以說都是這類軟體才會用到,而且修改系統原本的IOS對他們來說,不但危險,也是沒必要的,所以TT抱持著反對cIOS的立場就很容易理解了。

附錄: 小常識

1. 注意BootMii的SD卡兼容性

  安裝過BootMii或執行過prepare SD功能的SD上,會有一個bootmii的目錄,這就是BootMii的主程式,其中armboot.bin是BootMii用的IOS,叫做'MINI',只有49kb。

  其實這對一般人來說,並不是很重要,由於它極其精簡的關係,他不支援(也不打算支援)wiimote。而必須用GC手把或用power/reset鍵來控制選單,而且SD卡的兼容性也不如一般的IOS。所以軟改Wii首先要特別注意的就是,最好選擇BootMii可以支援的SD卡。

2. 跳過BootMii

  一般照著懶人包做完的新手,可能會注意到一個問題,就是一開機就跑到BootMii去了,但是BootMii很少用到,每次都要按機器覺得很麻煩,怎麼辦?這時候只要刪除或更名sd卡上bootmii的目錄,就不會執行BootMii了。下次要再用,再把它還原即可(可以用HackMii Installer中prepare SD的選項) 。

  或者,可以在bootmii.ini中(建議用ultraedit,不要用notebpad) ,將AUTOBOOT=SYSMENU和BOOTDELAY=0兩行前面的#拿掉,這樣開機的時候,就自動進入系 統了。如果要啟動bootmii就把0改成5就可以。如果要使用BootMii,五秒內按下操作鍵即可。

3. 懶人包中的BannerBomb

  如果SD卡中沒有要放任何的頻道,可以把BannerBomb放著不管。如果有要放頻道,在軟改後記得把懶人包中的,private\wii\title\aktn\content.bin備份後刪除,以免影響正常的頻道使用。

4. HackMii Installer的刪除

  HackMii Installer就是根目錄的一個boot.elf檔,如果日後用不到,就刪了它了吧,不會影響機器的使用。

 

臉書網友討論
2#
發表於 2012-5-6 01:00:31 | 只看該作者
這個貼不錯!!!!!  

版主招募中

3#
發表於 2012-7-8 00:52:20 | 只看該作者
嚴重支持!


4#
發表於 2012-7-8 00:56:12 | 只看該作者
先頂後看  


*滑块验证:
您需要登錄後才可以回帖 登錄 | 註冊 |

本版積分規則



Archiver|手機版|小黑屋|免責聲明|TShopping

GMT+8, 2024-5-25 09:48 , Processed in 0.060822 second(s), 17 queries .

本論壇言論純屬發表者個人意見,與 TShopping綜合論壇 立場無關 如有意見侵犯了您的權益 請寫信聯絡我們。

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表