关注电玩巴士

随时随地,获取最新游戏资讯

退出
Wii
电玩巴士 > Wii > 导购教学 > 教学天地 > 正文

Wii软改原理解析(四)HBC、bootmii、DVDX

发布时间:2010/8/31 15:13:10 来源:电玩巴士 作者:青菜

作者:[91Wii]Lucky☆star

  前面介绍完了一些基本观念,接下来就要实际进入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档,如果日后用不到,就删了它了吧,不会影响机器的使用。

提示:支持键盘“← →”键翻页 阅读全文

相关推荐

评论