wii的IOS,cIOS資料整理
以下的文章都是參考自網路加以整理,加上自己的理解及心得,因為有很多人引用這些資料,原創者有些已不可考,僅在文末列出處較可信的來源。
什麼是IOS
說到IOS,肯定有人會問,什麼是IOS?這裡我把它理解為Input Output System。其實就是系統內核和一系列的驅動程序集,作用是操縱Wii的硬體,提供了usb鍵盤,光驅,按鍵,sd卡,文件系統,安全等等介面,其特點之一就是模組化。
隨著系統的硬體升級和新遊戲的推出,wii需要安裝新的IOS來支援新遊戲和新硬體,但是舊的IOS還是繼續存在系統中,而不是被新IOS覆蓋,因為舊的遊戲還需要他們。
這樣的軟體架構所造成的問題就是,隨著系統的不斷升級,最終Flash資源會被用盡。目前Flash容量大約在512MB左右,用了大約100多MB。 Wii大約有20個左右不同的IOS。每個遊戲都需要使用其中的一個IOS。所有的IOS裡面還有DVD的驅動程式,原本是用來播放DVD用的,但是Wii並沒有使用他們,後來被破解用來讀取備份光碟。
IOS30,50,60是被系統選單使用的,如果操作不當的話,就可能會變磚,所以很危險,不要輕易動它。(請別任意刪除或反安裝整數的IOS檔)
什麼是cIOS
cIOS就是IOS的破解檔,像是個人電腦裡的破解檔一樣。IOS 像是原來軟體的執行檔(*.exe) ,而cIOS 像是執行遊戲被破解過後的執行檔。所有的cIOS都是根據官方的IOS修改而來,安裝cIOS不會更動原來的IOS,舉例來說,Custom IOS36及Custom IOS38根據IOS36及IOS38修改而來,安裝後變成IOS249,而不會更動原來的IOS36及IOS38。
一般而言,只要不涉及系統關鍵的IOS,例如IOS30、IOS60等等,其他的像cIOS36、cIOS38可以任意安裝沒有多大問題,不過建議還是安裝之前先仔細閱讀相關IOS安裝說明,上面一般都有注意事項,免得造成不必要的損失。
wii的漏洞(cIOS的原理)
Wii裡面有一個著名的bug,它用了strcmp()來compare signature,但是strcmp遇到0x00就退出了,駭客就利用這個bug來修改數據,使得signature的第一位為0x00。有一些駭客如 WiiGater,Waninkoko等利用reverse engineering,反彙編IOS,寫了這些補丁程序,這樣backup launcher這樣的loader就強制光碟遊戲用IOS249+補丁程序Rev10來執行。但是這個漏洞卻在3.3版的升級中被nintendo補上了,但是有一個IOS卻漏掉了,那就是IOS16,它出自於nintendo service CD),他還有strcmp bug,所以可以利用IOS16來安裝其他的patch過的IOS.所以3.3版以上都要安裝這個IOS16先才能裝CIOS249Rev10等其他CIOS。
IOS的版本
IOS是以 IOSxxx-Vyyyyy存在的,前面的xxx是編號,範圍限制在4-255之間(其中100為BC,101為MIOS),也就是4#-255#,4#之前被系統佔用,而後面的yyyyy才是IOS的版本,例如IOS30的版本有1042、2816等……IOS的這裡的IOS 包括了官方IOS和所有cIOS,也就是說,在wii的系統裡無法從字面辨識何者為IOS,何者為cIOS,但可以從IOS的編號得知,例如IOS202、IOS222、IOS223、IOS224、IOS249、IOS250都是cIOS。
如何查看wii裡面有那些ios,cios
1 Softchip來看。
2 CFM中Nand的Systeme Channel裡面看。
3 用AnyTitle Lister查看,它在SD卡裡生成TITLES.TXT文件,裡面就是你所有的ios。
幾個常見的cIOS
IOS249
就是cIOS36及cIOS38,是由waninkoko釋出的,根據wii官方的IOS36及IOS38修改而來,安裝後會放在IOS249的位置。(Rev10以上的版本會再生成一個備份IOS250),其與官方IOS最主要的區別就是DIP模塊,即DVD Interface,用於IOS與光碟之間的數據交換。眾所周知,官方的IOS是不能讀取備份碟的,而IOS249則由自製的DIP模塊,取代了官方的IOS36及IOS38,使其能夠讀取備份碟。 cIOS38 為 cIOS36 的新版本. 安裝後不會修改 IOS36 與 IOS38 的內容,建議安裝 CIOS38。
IOS202/IOS222/IOS223
Kwiirk開發了另一套cIOS--IOS202/IOS222/IOS223,首先提供了對USB2.0的支援。而Herms在uLoader中包含了新的IOS202/IOS222/IOS223,其實在Kwiirk的cIOS基礎上吸收了Waninkoko的優點所開發的。IOS202可以播放 DVD並支援 USB2.0 ,IOS222/IOS223支援多種USB介面。一款在wii上面的播放軟體MPlayerCE,必須安裝IOS202才可以使用。有些遊戲,如怪物獵人3 需要IOS202 IOS222 和223的支援。
升級
遊戲執行前會首先檢查光碟中的文件,即Title metadata中指定的IOS版本,如果一樣,則直接執行遊戲;如果不一樣,則先加載指定的IOS,然後再執行遊戲。與其類似的還有頻道,wiiware等東西。
這裡就牽涉到升級,如果光碟中update分區的IOS版本新於主機裡的IOS,則會開始升級(這就是為什麼有的高版本的機器放入帶低版本升級文件的盤也會提示升級原因);如果有主機裡沒有的IOS,也會開始升級。
這裡參考第一段,當我們執行一個去升級的遊戲時,如果主機裡沒有所指定的IOS,則會導致遊戲無法執行,這時只需安裝指定的IOS。這也是為什麼要補全ios的原因有些IOS是很相似的,例如所有的IOS都支持WiFi和USB功能,而且有些能夠被替換。而wii的每次升級則增加新的IOS,升級舊有的IOS,而並不代替舊有IOS,為什麼這樣做?其實我們可以這樣理解,每一個遊戲光碟,wiiware都會指定其使用的IOS,如果升級覆蓋掉了原有的IOS,那麼遊戲便無法執行。
再次強調一點,wii 升級不是覆蓋原有的ios,而是增加新的ios,系統中的每個ios都是有用的,隨便刪除ios非常容易導致無解的全磚!
深入了解
光碟,頻道,wiiware都有其指定的IOS來執行,如 BKL,SC這樣的程序可以強制使用IOS249,那SysMenu呢?
SysMenu同樣在特定的IOS上執行,3.4使用IOS50,3.4以前使用IOS30,4.0使用ios60同樣的,SysMenu也可以指定其使用的IOS,如果我們指定其使用IOS249,那麼我們就可以直接從光碟頻道進入遊戲了。
然而問題也隨之到來,在光碟頻道中我們無法指定其使用的IOS,這樣即使備份碟能夠正常顯示出,但是仍然無法遊戲,當然我們可以用如IOS patcher等軟體指定遊戲使用IOS249,但我想沒有多少人願意再重新刻錄一次吧。當然問題總有解決的辦法,如果我們把所有官方IOS都替換上自制 DIP模塊,那麼我們就可以直接從光碟頻道執行備份碟了,這也是另一種cIOS。 當然這樣做仍然有缺點,只有同區的遊戲才能在光碟頻道顯示。
關於IOS和SysMenu的關係
上面談到,IOS是wii系統的內核,而SysMenu是相應的用戶界面。系統內核是必須存在的,但是用戶界面則並不強制要求,在主機內存在高系統版本的IOS時,低版本的SysMenu也同樣允許使用,這也是系統選單可以降級的基礎,同樣也是IOS補全而不用升級系統版本原理。但是,當系統中不存在SysMenu所需要的IOS時,系統就會出現各種問題(半磚)甚至無法執行(全磚),這也就是為什麼IOS不能隨便刪除的原因。
某些頻道也是需要系統IOS支持的(4.0下購物頻道需要IOS61),所以當相應IOS不存在時,該頻道也無法執行。
在通常情況下,我們是無法對IOS進行操作的,因為用戶界面(SysMenu)沒有賦予我們這個權限,正是由於高手們對SysMenu的研究,發現了各種漏洞,使我們破解了wii的系統,獲得了對IOS進行操作的能力,才讓我們對wii的應用得到了極大地擴展。但是魔高一尺道高一丈,任天堂也在盡力的封堵這些漏洞,所以系統才出現了官方版和破解版,IOS也出現了有漏洞(+trucha、freethebug)和無漏洞(-trucha)。
官方的升級(主機選單「本體更新」,聯網、進頻道、玩遊戲)時,是將IOS和 SysMenu同時更新的,而官方所更新的全都是無漏洞的版本,缺少漏洞會導致自製程序無法安裝無法執行,所以建議不要通過官方更新,為了玩遊戲(遊戲不要求SysMenu版本)用頻道可以補全IOS,為了獲得新的系統特性可以安裝破解版。
什麼是cIOSCORP
cIOSCORP主要是針對軟改的玩家開發的一款可以讓光碟頻道讀取遊戲的自製軟體,安裝之後原本不能從光碟頻道讀取遊戲的主機,現在大多數遊戲你將可以從光碟頻道讀取了。除此之外,使用cIOSCORP,軟體會自動安裝多個cIOS到你的主機內,可以加強你的主機對於遊戲的兼容性。
總結一點就是,cIOSCORP可以給你帶來以下好處:
1、光碟頻道現在可以讀取Wii以及NGC遊戲。
2、提升吉他英雄5、怪物獵人3、新超級馬力歐兄弟Wii等遊戲的兼容性。
3、其它特性
有些情況下安裝cIOSCORP會變磚,要特別留意,作足功課再安裝。(http://www.91wii.com/thread-25429-1-1.html)
常用的IOS列表
4、9、10、11、12、13、14、 15、16、17、20、21、22、22、28、30、31、33、34、35、36、37、38、50、51、53、55、60、61、202(裝給MPlayerCE用的)、222(v5 版)、223(v5版)、249(CIOS38)、250(CIOS38)、254。 粉紅色的IOS是大部分遊戲所需的。
參考:
http://www.360gq.com/wii-hbc/wii-ios.htm
http://s90304a123.pixnet.net/blog/post/28072480
http://bbs.yyjoy.com/viewthread.php?tid=144696