一、什麼是IOS
說到IOS,肯定有人會問,什麼是IOS?這裡我把它理解為Input Output System。IOS採用了微內核的架構,提供了usb鍵盤,光驅,按鍵,sd卡,文件系 統,安全等等接口,其特點之一就是模塊化,這點相信大家都有所體會吧。
而IOS與dll的最大區別之一就是dll只是庫文件,可能是個組件,可能是個函數集合,可能是個資源文件,或者是個功能模塊。而IOS則包含了dll。以一個不太恰當的比喻來說,IOS可以理解為操作系 統的內核,SysMenu則是我們可以接觸到的用戶界面。
二、IOS的種類
就目前而言,IOS主要有三種:
1、官方的IOS,具體有哪些可以看這貼。
2、cIOS,即custom IOS,包括custom IOS36,Xyzzy等等。這裡有一點需要注意,所有的cIOS都是根據官方的IOS
修改而來。
3、還有一種cIOS,與上一種有類似之處,具體是什麼就請各位看官接著往下看吧。
三、IOS的版本
IOS是以IOSxxx-Vyyyyy存在的,前面的xxx是編號,範圍限制在4-255之間(其中100為BC,101為MIOS), 也就是4#-255#,4#之前被系 統佔用,而後面的yyyyy才是IOS的版本,例如IOS30的版本有1042、2816等……IOS的這裡的IOS包括了官方IOS和所有cIOS。這裡有一點需要注意,以IOS36來說,12。18,v1042代表了IOS36的不同版本。
四、什麼是cIOS
談到cIOS,相信大家都不會陌生,舉其中一例,custom IOS36是由waninkoko釋出的,根據IOS36修改而來,其與官方IOS最主要的區別就是DIP模塊,即DVD Interface,用於IOS與光碟之間的數據交換。眾所周知,官方的IOS是不能讀取備份碟的,而cIOS則由自制的DIP模塊代替了官方的使其能夠讀取備份碟。
五、升級
遊戲運行前會首先檢查光盤中妹文件,即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同樣的,4.2用ios70。SysMenu也可以[b]指定其使用的IOS,如果我們指定其使用IOS249,那麼我們就可以直接從光碟頻道進入遊戲了。[b]
然而問題也隨之到來,在光盤頻道中我們無法指定其使用的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,為了獲得新的系 統特性可以安裝破解版。
Nintendo IOS(Input Output System)其實就是系 統內核和一系列的驅動程序集,作用是操縱Wii的硬件,比如手柄,平衡板等等。隨著系 統的硬件升級和新遊戲的推出,Nintendo需要安裝新的IOS來支持新遊戲和新硬件。但是舊的IOS還是繼續存在系 統中,而不是被新IOS覆蓋,因為舊的遊戲還需要他們。
這樣的軟件架構所造成的問題就是,隨著系 統的不斷升級,最終Flash資源會被用盡。目前Flash容量大約在512MB左右,用了大約100多MB,所以剩餘空間還是很大。Wii大約有20個左右不同的IOS。每個遊戲都需要使用其中的一個IOS。比如Rock Band出來的時候,光碟上就有IOS37來支持USB的樂器外設。所有的IOS裡面還有DVD的驅動,原本是用來播放DVD用的,但是Nintendo並沒有使用他們,卻被hacker用來運行備份光碟了。IOS30,50,60是被系 統菜單使用的,如果對他操作不當的話,就全磚了,所以很危險,輕易不要動他。
CIOS(Custom input output system)是打在原有的IOS上的補丁,用來運行備份光碟. Wii上所有的title都必須signed才能安裝運行,但是這裡面有一個著名的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
在最近的系 統菜單4.0升級中,Nintendo安裝了一個高版本IOS16 stub. 這樣低版本的IOS16就無法安裝了。所以hacker又想了個辦法,就是把IOS35降級,還原trucha bug. 這樣又可以通過IOS35安裝其他CIOS 了。
2010年4月27日 星期二
2010年4月21日 星期三
如何安裝 WAD 文件
首先先聊到 WAD - Manager,簡單的說就是一種讓 w i i 能自由
安裝軟件或移除程式的一種軟體,有點類似電腦的新增移除。
如何將此軟體安裝至 w i i 本體中,此步驟需暫停一下~~
你必須先有 the homebrew 的軟體光碟,進行 w i i 的更新,使得
w i i 介面出現 the homebrew,要進入此模式需插入一張 s d 卡。
再來注意,你挑選的 s d 卡 一定要與 w i i 相容,否則將無法存讀取檔案
,且無法進入。你可以從燦坤或電子街....等地方買到。你的 s d 卡切記 ! !
需用電腦格式化,格成 32 位元,否則有可能導致無法執行,再來有
些 s d 卡容量過大,也有不相容 w i i 本體主機,建議大家先上網選 w i i
專用的 s d 卡比較放心,否則買到不相容的又白花一大筆錢。
這個頻道我使用有一段時間了,很好用。但是最近一段時間有些事情耽擱了,
就沒有和智多星部落格的玩友們及時分享。
Wii IOS/CIOS及破解原理簡介
Nintendo IOS(Input Output System)其實就是系統內核和一系列
的驅動程序集,作用是操縱Wii的硬件,比如手柄,平衡板等等。
隨著系統的硬件升級和新遊戲的推出,Nintendo需要安裝新的 IOS
來支持新遊戲和新硬件。但是舊的IOS還是繼續存在系統中,而
不是被新IOS覆蓋,因為舊的遊戲還需要他們。
這樣的軟件架構所造成的問題就是,隨著系統的不斷升級,最終 Flash
資源會被用盡。目前Flash容量大約在512MB左右,用了大約 100 多 MB,
所以剩餘空間還是很大。 Wii 大約有 20 個左右不同的 IOS。每個遊戲都
需要使用其中的一個 IOS。比如 Rock Band 出來的時候,光碟上就有 IOS37
來支持USB的樂器外設。所有的IOS裡面還有DVD的驅動,原本是用來播放 DVD
用的,但是 Nintendo 並沒有使用他們,卻被hacker用來運行備份光碟了。
IOS30,50,60 是被系統菜單使用的,如果對他操作不當的話,就全磚了,
\所以很危險,輕易不要動他。
CIOS(Custom input output system)是打在原有的 IOS 上的補丁,
用來運行備份光碟. Wii 上所有的 title 都必須 signed 才能安裝運行
,但是這裡面有一個著名的 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 在
最近的系統菜單4.0升級中,Nintendo安裝了一個高版本 IOS16 stub.這樣低版
本的IOS16就無法安裝了。所以 hacker 又想了個辦法,就是把 IOS35 降級,
還原 trucha bug.這樣又可以通過 IOS35 安裝其他 CIOS 了。
安裝軟件或移除程式的一種軟體,有點類似電腦的新增移除。
如何將此軟體安裝至 w i i 本體中,此步驟需暫停一下~~
你必須先有 the homebrew 的軟體光碟,進行 w i i 的更新,使得
w i i 介面出現 the homebrew,要進入此模式需插入一張 s d 卡。
再來注意,你挑選的 s d 卡 一定要與 w i i 相容,否則將無法存讀取檔案
,且無法進入。你可以從燦坤或電子街....等地方買到。你的 s d 卡切記 ! !
需用電腦格式化,格成 32 位元,否則有可能導致無法執行,再來有
些 s d 卡容量過大,也有不相容 w i i 本體主機,建議大家先上網選 w i i
專用的 s d 卡比較放心,否則買到不相容的又白花一大筆錢。
這個頻道我使用有一段時間了,很好用。但是最近一段時間有些事情耽擱了,
就沒有和智多星部落格的玩友們及時分享。
Wii IOS/CIOS及破解原理簡介
Nintendo IOS(Input Output System)其實就是系統內核和一系列
的驅動程序集,作用是操縱Wii的硬件,比如手柄,平衡板等等。
隨著系統的硬件升級和新遊戲的推出,Nintendo需要安裝新的 IOS
來支持新遊戲和新硬件。但是舊的IOS還是繼續存在系統中,而
不是被新IOS覆蓋,因為舊的遊戲還需要他們。
這樣的軟件架構所造成的問題就是,隨著系統的不斷升級,最終 Flash
資源會被用盡。目前Flash容量大約在512MB左右,用了大約 100 多 MB,
所以剩餘空間還是很大。 Wii 大約有 20 個左右不同的 IOS。每個遊戲都
需要使用其中的一個 IOS。比如 Rock Band 出來的時候,光碟上就有 IOS37
來支持USB的樂器外設。所有的IOS裡面還有DVD的驅動,原本是用來播放 DVD
用的,但是 Nintendo 並沒有使用他們,卻被hacker用來運行備份光碟了。
IOS30,50,60 是被系統菜單使用的,如果對他操作不當的話,就全磚了,
\所以很危險,輕易不要動他。
CIOS(Custom input output system)是打在原有的 IOS 上的補丁,
用來運行備份光碟. Wii 上所有的 title 都必須 signed 才能安裝運行
,但是這裡面有一個著名的 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 在
最近的系統菜單4.0升級中,Nintendo安裝了一個高版本 IOS16 stub.這樣低版
本的IOS16就無法安裝了。所以 hacker 又想了個辦法,就是把 IOS35 降級,
還原 trucha bug.這樣又可以通過 IOS35 安裝其他 CIOS 了。
訂閱:
文章 (Atom)