[Wii ] Wii軟改觀念解析(五) title/Channel/WA …

看板Modchip作者 (邪惡松鼠)時間14年前 (2010/08/10 23:14), 編輯推噓8(807)
留言15則, 11人參與, 最新討論串1/1
越後面越難寫了...這篇可能比較雜亂一點,寫不好請多包涵 本來想再潤飾的更好再出... 不過我覺得還是太多人不懂cIOS的概念,需要予以加強,所以就先出了 1. title 在第二篇裡面有稍微提到過title,這邊我們稍微再深入一點介紹 1.1 title dir 首先,儲存在Wii上面的資料或程式,基本上都叫做title 包括系統title、頻道、以及存檔三大類 系統title又分為IOS、Boot2、SysMenu、GC用的BC和mIOS這幾種 基本上每個title,都和IOS一樣,存放在某一個"slot"中 而實際上存放的方式就是在NAND fs上面的特定子目錄底下 /00000001 系統title /00010001 可下載頻道、自製頻道等 /00010002 Wii系統內建頻道,如天氣、新聞 /00010004 遊戲安裝到主機上的頻道(如wiifit) /00010005 遊戲的下載內容,如Rock Band等 /00010008 隱藏頻道,有EULA,region select,還有DVDX也是安裝在此 以系統title來說,會放在00000001底下的子目錄中 名稱是000000xx 就是所謂的IOS,xx的值為十六進位值,從00-ff 也就是IOS0-IOS255,我們也已經曉得IOS1是boot2,IOS2是sys menu 所以/00000001/0000003c就是IOS60(3c = 60,可以用xp的小算盤幫你計算) (另外,還有GC模式使用的00000100/0000101 = BC/MIOS,如果有機會講到GC模式再做討論) 而其它的頻道,則是以四個英數文字轉成ASCII十六進位值命名 例如說HBC最早版本被安裝在/00010001/48415858這個目錄下面 48415858就是'HAXX'的十六進位值 所以講到頻道常常都會提到四個字的id,就是講這個(例如說JODI,UNEO等等) 同一個id只能有一個,如果新安裝的頻道和舊的id重覆,舊的就會被覆蓋掉 所以如果自製頻道的時候,特別要注意id不可重覆 1.2 title version 每一個title都有兩個位元組的version number 以數字來說就是v0~v65535,Version是Wii升級title時的依據 以系統title來說,官方設計是只允許升級,不允許降級或刪除 只有一般的頻道和遊戲存檔是可以自由刪除的 表示的方法,除了前面說的0~65535以外,也有人把兩個位元分開 像是IOS61 21.29,和v5405意思是一樣的(21*256 + 29) 順帶一提,任天堂的stub IOS(無作用的IOS) 有一個判斷的方法,就是低位元必定為0 如256(1.0), 512(2.0), 65280(255.0) 2. Channel 我們曉得,Wii一開機按完A,首先看到的就是很多的頻道 這是任天堂設計成類似電視選單的風格,看到圖示就可輕鬆選擇你需要的應用程式 而這些圖示是怎麼來的呢? 2.1. Channel的基本概念 不論什麼頻道,一個頻道至少由兩個主要成份所構成,一是dol主程式 而第二個是在系統選單中所播放的動畫檔案,一般叫做banner 一個banner檔又可以細分成好幾個部份,分別提供給不同的地方顯示使用 總之系統選單在每個位置找到每個頻道的動畫檔,就會將它顯示在畫面上 (而所謂的BannerBomb,顧名思義,也就是利用Banner顯示的漏洞製作出來的特殊banner) 其中唯一比較特殊的是光碟頻道 這個Channel本身其實並不是一個應用程式,而是系統選單的一部份 插入光碟後,系統選單找到光碟上的banner加以顯示 而選擇執行後是執行光碟上的應用程式 2.2. 補充: 頻道版(Channel version)和跳轉頻道(Forwarder Channel)的差別 很多自製程式,如NeoGamma、USB Loader GX,CFG USB Loader等等 除了可以在HBC底下執行以外,都有所謂的頻道版或跳轉頻道 (跳轉頻道是我自創的翻譯,因為英文太長,總之大家知道我在說什麼就好) 而它們有什麼區別呢?前面說過,頻道基本上就是banner+dol 所以所謂頻道版的軟體,就是把自製軟體的dol加上banner,包裝成頻道的格式 而所謂的跳轉頻道,並不把軟體直接包裝在頻道中 跳轉頻道中的dol,會再去執行SD上某個(或某些)特定目錄下的dol 所以有時候偶爾會在網路上看到跳轉頻道只有一個dol 你要使用就必需自己包裝成頻道 (還有一種所謂的hybrid channel,算是二合一 會優先執行SD卡上的程式,如果沒有才執行channel中的版本) 所以我們可以整理出它們不同的一些特性: a. 因為頻道版包含應用程式本身,而跳轉頻道只包含跳轉程式 所以頻道版的通常會比較大(但還要視banner的大小而定) 會稍微多耗一點主機的Flash空間 (不過,看WAD檔的大小是不準的,後面講WAD的地方會解釋) b. 頻道版因為直接內含應用程式,所以有不需要SD卡,也可以執行 (但如果應用程式的設定檔和資料必須放在SD上卡,你就還是要有SD卡才有完整功能) 而forwarder channel,因為本身不含應用程式 所以當然要把應用程式放到SD上才可以執行 c. fowarder channel因為需要跳轉的關係,啟動程式的速度至少會慢上一、二秒 頻道版的執行相對來說會比較快 d. 軟體更新版本的時候,使用forward channel只需要更新SD上的dol 頻道版需要更新頻道的WAD檔並重新安裝頻道 以彈性來說,我個人偏好forwarder channel,因為不需要常常更新頻道WAD檔 3. title安裝/WAD 在Wii上面,正常頻道安裝是透過光碟片或網路下載的WAD檔 就像電腦上的zip檔一樣,WAD基本上就是把title包裝成一個檔案 讓使用者可以透過光碟片或網路安裝頻道、IOS、系統選單等等 除了系統升級動作幫你安裝之外 我們也可以直接用WAD Manager來安裝官方的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,forwarder的WAD檔卻比頻道版還大 那就是因為forwarder版裡面可能塞了數MB的trailer (了解了channel wad的結構,你就曉得自己解開WAD檔 抽換WAD檔中的dol和banner,再重新包裝是辦得到的事了) 而實際上佔掉多少空間,則還是要看free block的數量的變化(1MB = 8 block) 不過Wii保留了一部份空間專門給系統title使用 所以就算安裝/刪除IOS,從資料管理中還是看不到free block有什麼大變化的 3.1. 檢查機制 Wii在你要安裝東西的時候會檢查簽章 但是一旦安裝完成後,就幾乎不會有人再去檢查它的正確性了 (除了boot2和少數特定的title會被檢查以外) 於是,尤許安裝非官方的內容,便成為改機的關鍵 前面提過的Trucha 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 這個server上的資料,使用PC其實也是可以下載的 使用的工具程式就是NUSD 使用這個程式,可以下載所有官方的內容 (也可以下載要付費的程式 但是由於沒有付費,就沒有解密所需要的ticket,所以無法使用) 有時候網路上的WAD檔比較難以判斷它的真偽和安全性 但是你直接用NUSD下載,就沒有安全上的顧慮了 (有空我再補上NUSD程式的使用方式) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.23.102

08/10 23:38, , 1F
啊哈!頭推!
08/10 23:38, 1F

08/10 23:44, , 2F
00000001.app與00000002.app可能會是相反的作用
08/10 23:44, 2F

08/10 23:45, , 3F
事實上,我遇到00000001.app是dol檔案的機率高很多...
08/10 23:45, 3F

08/11 00:06, , 4F
08/11 00:06, 4F

08/11 00:54, , 5F
08/11 00:54, 5F

08/11 09:30, , 6F
ok...thx
08/11 09:30, 6F
※ 編輯: priv 來自: 140.113.23.102 (08/11 09:38)

08/11 12:59, , 7F
看到錯誤 system title是裝載00000001 不是 00010001
08/11 12:59, 7F

08/11 12:59, , 8F
改一下吧
08/11 12:59, 8F

08/11 13:00, , 9F
以系統title來說,會放在000"0"0001底下的子目錄中
08/11 13:00, 9F
※ 編輯: priv 來自: 140.113.23.102 (08/11 14:33)

08/11 14:33, , 10F
thx!
08/11 14:33, 10F

08/11 15:44, , 11F
用心推一個
08/11 15:44, 11F

08/11 18:58, , 12F
把priv 大的文章看完了,非常有幫助~~
08/11 18:58, 12F

08/12 01:09, , 13F
長知識推
08/12 01:09, 13F

08/14 05:11, , 14F
推 又學到新知識
08/14 05:11, 14F

08/14 15:41, , 15F
今天才看完了,推一個!
08/14 15:41, 15F
文章代碼(AID): #1COMpO5D (Modchip)