关注电玩巴士

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

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

Wii软改原理解析(五)title/Channel/WAD/NUSD

发布时间:2010/9/25 15:05:27 来源:电玩巴士 作者:青菜

文:[91Wii]Lucky☆star

  越后面越难写了...这篇可能比较杂乱一点,写不好请多包涵。本来想再润饰的更好再出...不过我觉得还是太多人不懂cIOS的概念,需要予以加强,所以就先出了。

1.title
在第二篇里面有稍微提到过,title这边我们稍微再深入一点介绍

 1.1 title dir
首先,Wii的储存在上面的资料或程式,基本上都叫做title
包括系统title,频道名称,以及存档三大类.

系统title又分IOS、Boot2、Sysmeun、GC使用的BC、mIOS这些。

基本上每个title,都和IOS一样,存放在某一个“slot”中
而实际上存放的方式就是在NAND fs上面的特定子目录底下

/ 00000001系统title
/ 00010001可下载频道,自制频道等
/ 00010002Wii的系统内建频道,如天气,新闻
/ 00010004游戏安装到主机上的频道(如wiifit)
/ 00010005游戏的下载内容,如吉他英雄DLC等。
/ 00010008隐藏频道,有EULA,Region select,还有DVDX也是安装在此。

以系统标题来说,会放在00000001底下的子目录中
名称是000000xx就是所谓的IOS,xx的值为十六进位值,从00 -ff
也就是IOS0 - IOS255,我们也已经晓得是IOS1是boot2 IOS2是sysmenu

所以/ 00000001/0000003c就是IOS60(3c中= 60,可以用XP中的计算器帮你计算)
(另外,还有GC模式使用的00000100/0000101 = BC/MIOS,有机会在讨论吧)

而其它的频道,则是以四个英数文字转成ASCII的十六进位值命名
例如说,HBC,简称最早版本被安装在/ 00010001/48415858这个目录下面
48415858就是'HAXX'的十六进位值

所以讲到频道常常都会提到四个字的名,就是讲这个(例如JODI、UNEO)
同一个ID只能有一个,如果新安装的频道和旧的ID重覆,旧的就会被覆盖掉。
所以如果自制频道的时候,特别要注意不可重覆编号

 1.2 title version
每一个title都有两个位元组的版本号version number
以数字来说就是V0的〜v65535,是Wii升级title时的依据
以系统title来说,官方设计是只允许升级,不允许降级或删除
只有一般的频道和游戏存档是可以自由删除的

表示的方法,除了前面说的0〜65 535以外也,有人把两个位元分开
像是IOS61 21.29,v5405和意思是一样的(21×256+29=5405)

顺带一提,任天堂的stub IOS(无作用的IOS)
有一个判断的方法,就是低位元必定为0
如256(1.0),512(2.0),65 280(255.0)

2.Channel
我们晓得,Wii的一开机按完A,首先看到的就是很多的频道
这是任天堂设计成类似电视选单的风格,看到图示就可轻松选择你需要的应用程式
而这些图示是怎么来的呢?

 2.1频道的基本概念
不论什么频道,一个频道至少由两个主要成份所构成,一是Dol主程序。
而第二个是在系统选单中所播放的动画文件,一般叫做Banner
一个Banner文件又可以细分成好几个部份,分别提供给不同的地方显示使用

总之系统选单在每个位置找到每个频道的动画文件,就会将它显示在画面上
(而所谓的BannerBomb,顾名思义,也就是利用Banner显示的漏洞制作出来的特殊的Banner)

其中唯一比较特殊的是光碟频道
这个频道这个本身其实并不是一个应用程式,而是系统选单的一部份
插入光碟后,系统选单找到光碟上的Banner加以显示
而选择执行后是执行光碟上的应用程序。

 2.2 补充:频道版(Channel version)和跳转频道(Forwader Channel)的差别

很多自制程式,如NeoGamma,CFG Loader等除了可以在HBC底下执行以外,都有所谓的频道版或跳转频道。
(跳转频道是我自创的翻译,因为英文太长,总之大家知道我在说什么就好)

而它们有什么区别呢?前面说过,频道基本上就是Banner+dol
所以所谓频道版的软体,就是把自制软体的Dol加上Banner,包装成频道的格式。

而所谓的跳转频道,并不把自制软件直接包装在频道中。
跳转频道中的Dol,会再去执行SD上的某个(或某些)特定目录下的Dol

所以有时候偶尔会在网络上看到跳转频道只有一Dol
你要使用就必需自己包装成频道
(还有一种所谓的Hybrid Channel,算是二合一
会优先执行SD上的程式,如果没有才执行Channel中包含的版本)

所以我们可以整理出它们不同的一些特性:

  a. 因为频道版包含自制程序本身,而跳转频道只包含跳转程序
     所以频道版的通常会比较大(还要看Banner的大小)
     会稍微多耗一点主机的Flash空间。
     (不过,看Wad文件的大小是不准的,后面讲Wad的地方会解释)

  b.频道版因为直接内含自制程序,所以可以脱离SD,也可以执行
    (注意,如果自制程序的配置文件和资料存在于SD上,你还是必须有SD卡才能支持  完整功能,也就是CFG、ULGX等程序不可能脱离SD(或者硬盘模拟SD))。而Forwader Channel,因为本身不含自制程序,所以当然要把自制程序放到SD上才可以执行。

  c.Forwader Channel因为需要跳转的关系,启动速度比频道版至少会慢上一、二秒频道版的执行相对来说会比较快。

   d.软件更新版本的时候,Forwader Channel只需要更新SD上的dol,频道版需要更新频道的Wad文件重新安装频道。
我个人偏好转发通道,因为不需要常常更新频道Wad文件。

3.title安装/wad
在Wii上面,正常频道安装是透过游戏光盘或网络下载的Wad文件。

就像电脑上的Zip文件一样,基本上就是把title包装成一个文件。
让使用者可以通过光盘或网络安装频道,IOS,系统选单等等

除了系统升级帮你安装之外
我们也可以直接用Wad manager来安装官方的Wad文件(官方Wad不需要漏洞就可以安装)

举频道的Wad文件为例,里面至少会有以下的文件。

00000000.app 频道的Banner
00000001.app Dol主程序
00000002.app Nand Decryptor
00010001xxxxxxxx.cert 凭证
00010001xxxxxxxx.tik   解密的ticket
00010001xxxxxxxx.tmd 描述Title性质的文件,其中最重要就是告诉系统这个频道要用哪个IOS
00010001xxxxxxxx.trailer不明
(00000001.app/00000002.app有时候会交换,判断方式:Dol正常会比较大)

其中的trailer部分,官方的Wad都会拷贝一份00000000.app(banner)当成trailer
但是实际上它却没有任何已知用途,也不会被安装。

所以前面说看Wad文件大小不见得和占用NAND的空间一定一样。
就是因为有的Wad文件trailer有复制的banner,有的却没有。
所以有可能使用同样的banner,Forwader的Wad文件比频道版还大。
那就是因为Forwader版里面可能塞了数的MB的Trailer。

(了解了Channel Wad的结构,你就可以自己解开Wad文件 抽取Wad文件中的Dol和Banner,在重新包装就可以了)

而实际上占掉多少空间,则还是要看Free block的变化(1MB =8 block)
不过Wii的保留了一部份空间专门给系统Title使用
所以就算安装/删除IOS,从资料管理中还是看不到空闲块有什么大变化的。

 3.1检查机制

Wii在你要安装东西的时候会检查签章
但是一旦安装完成后,就几乎不会有人再去检查它的正确性了
(Boot2除了和少数特定的title会被检查以外)

于是,安装非官方的内容,便成为改机的关键
前面提过的Truach Bug,就是允许安装非官方内容的重要道路
目前只要改机,必定需要打通一条路,使得系统上至少有一个IOS有Trucha bug

并且,只有使用的cIOS(下篇会介绍,就是修改过的非官方IOS)
才有可能不需要特殊步骤,直接降级或删除系统的title。

 3.2升级机制

Wii的升级的方式有二种,一是光碟,二是网络,两者的原理类似,以网路来说,会先连上任天堂的Nus(Nintendo Update Server?)

下载系统更新列表,列出目前所有的系统Title的版本。
Wii的检查本机上的系统Title版本后,就下载本机上缺少或有必要更新的文件,并加以安装

而以光碟来说,每个Wii游戏机的游戏都有一个更新分割区,里面会有一些Wad文件
光碟频道在载入游戏之前,会先按照条件检查系统上的Title版本
是否比更新分割区中的旧,如果比较旧或不存在,就会安装更新分割区中的Wad文件。

有的游戏可能只放入执行游戏所必须的Wad文件,而有的游戏就放入完整的系统更新。

而所谓手动更新,就是自己使用相对应的Wad文件。
直接用wad Manager之类的自制程序来安装。

如4.3升级就安装以及IOS80和4.3的SYSMENU,就可以完成升级的步骤。(韩版机禁止安装)

4.Nus Downloader

由于Wii可以联网系统更新和购买软件,所以有一个Server

使用这个程序,可以下载所有官方的内容
(也可以下载要付费的程式
但是由于没有付费,就没有解密所需要的ticket,所以无法使用)

有时候网络上的Wad文件比较难以判断真伪和安全性
但是你直接用NUSD下载,就没有安全上的顾虑了。

(有空我再补上NUSD程式的使用方式)

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

相关推荐

评论