Wii軟改觀念解析(一) Hash/RSA/電子簽章 - 改機

Edith avatar
By Edith
at 2010-07-12T13:35

Table of Contents

從六月底才開始接觸Wii軟改,算是軟改新手
不過個人背景的關係,相信應該比一般人容易抓到重點

最近會寫一些文章,針對Wii軟改的基本架構、觀念來解析
本著拋磚引玉的心態,希望各方高手也能不嗇指教
對一般軟改單純只是拿來備份遊戲的人,相信也可以提升觀念,減少盲試的次數

本文會以一般無資訊背景的板友為對象來說明
不過有可能還是會有點無趣,有興趣的再看吧!

在進入實際軟改的解說前,先講一些相關的基本概念

1. Hash(雜湊函數)
我們一般在生活中,有許多Hash運用的實例
例如最常見的CRC32,以及MD5、SHA-1等等,廣泛應用在檔案檢查的上面。

ZIP/RAR在解壓縮的時候,會比對原始記錄的CRC32碼,和解出來的CRC32
以判斷此檔案是否有毀損的問題,而我們如果從網路上抓了檔案,例如linux安裝光碟
往往也會用md5碼來確認此iso檔是否正確無誤

檔案 ----------> Hash值
Hash演算法

那麼究竟什麼是Hash? 我以任意長度的檔案,不管是64kb,或64MB,甚至64GB
都可以用很快的速度,計算出一個固定長度的Hash值
當原始檔案變動任何一個位元,Hash值都會產生天翻地覆的變化

所以,兩個檔案得到同一個Hash值的機率是非常的小的
是以可以拿來當做檢查檔案的依據

2. RSA
RSA演算法普遍用於Wii上面的資料加解密和簽章檢查
內容對非本科系的人不是很容易理解,我用比較簡單的方法來說明

傳統的加密屬於一對一的對應
舉個不是很貼切但是比較容易理解的概念就是
今天你家的門,要關上和打開,用的都是同一把鑰匙

我加密資料,加密和解密所用的'key'(鑰匙),也是同一個
就好像ZIP/RAR的加密,你用abc123對檔案上鎖,那要解壓縮的時候
同樣也要用abc123把檔案打開來

傳統加解密

檔案 ----------> 加密資料
abc123加密

加密資料 ----------> 檔案
abc123解密

而比較現代的加密演算法如RSA,則改變了這個概念
這個演算法會有成對的兩鑰匙(key),這邊先用A和B來稱呼
用A鑰匙加密的資料,必須用B鑰匙才能打開,而且用B無法直接反推回A

RSA加解密

檔案 ----------> 加密資料
A鑰匙加密

加密資料 ----------> 檔案
B鑰匙解密

那麼,這樣的加密方法,有什麼用處?
如果我今天有這對鑰匙,A和B
那麼我用A加密的資料,傳給別人

我不需要把A鑰匙給別人,只需要B鑰匙告訴別人
別人就可以解開這個資料,而且附加的優點是
可以確定這一定是我加密的資料,別人無法偽造我的身份發出
也就可以達到驗證的功能

上面講的A鑰匙,必須好好保密,也叫做'private key'(私密金鑰)
而上面講的B鑰匙,可以公開,也叫做'public key'(公開金鑰)

3. 電子簽章(Electronic Signature)

那麼,什麼是電子簽章?

因為RSA很慢的緣故,所以如果要達到前述驗證檔案是由特定某人所發出
加密整個檔案是很沒效率的作法。所以,就有人想到,何不綜合Hash和RSA的原理?

一個好的Hash演算法,如SHA-1
是不容易由人為的方法去創造出Hash重覆的檔案的

所以我只要對檔案做Hash,然後再用私密金鑰加密這個Hash
那麼驗證這個Hash的真實性,也就驗證了這個檔案的真實性

簽章:

檔案 ----------> Hash
Hash演算法

Hash ----------> 加密過的Hash(簽章)
A鑰匙加密

驗證:

檔案 ----------> Hash
Hash演算法

簽章 ----------> Hash'
B鑰匙解密

如果Hash = Hash' ---> 檔案為真

4. Wii驗證
後面講到Wii系統架構的時候,會再詳述
Wii在很多地方會使用電子簽章的演算法來驗證軟體的真偽
不讓人執行和安裝非官方授權的軟體

而實務上,每個被任天堂授權的官方的個人或公司,都有自己的金鑰
在發行的軟體中,會放入這家公司的簽章,驗證這套軟體
當然也會隨之附上供檢查的公司公開金鑰

但是,怎麼驗證這家公司是官方授權的公司呢?
伴隨著公開金鑰,每個公開金鑰會伴隨著一個「憑證」
任天堂會用任天堂自己本家的金鑰去幫個人或公司的憑證簽章
被認可的憑證,裡面的公開金鑰才是有效的公開金鑰

任天堂---->公司憑證---->Wii軟體
簽章 簽章

以原始的設計概念來說
Wii的軟體有兩條路可以進入Wii裡面,一是光碟機,二是網路
而光碟機還有硬體保護

就算用硬改的方式破解光碟機的硬體保護
基本上Wii還是只能執行有授權的遊戲(因為簽章需正確)

而就算駭客攔截網路,用私人的程式取代官方下載
因為簽章不對的關係,所以還是無法進入Wii

不過就算看似萬無一失的防護
卻還是有不少漏洞,在接下來的文章會再做詳細說明

--
Tags: 改機

All Comments

Edith avatar
By Edith
at 2010-07-14T08:47
先推 有空再認真看
Doris avatar
By Doris
at 2010-07-16T01:43
上Modchip版長知識~(想講這句話很久了)
Skylar DavisLinda avatar
By Skylar DavisLinda
at 2010-07-19T07:25
好文!
Robert avatar
By Robert
at 2010-07-23T11:26
膜拜
Hazel avatar
By Hazel
at 2010-07-27T06:57
priv兄好久不見
Gary avatar
By Gary
at 2010-07-27T10:02
清楚~
Kristin avatar
By Kristin
at 2010-07-28T03:34
瞭解~ 推用心~
Delia avatar
By Delia
at 2010-07-28T11:25
推!
Poppy avatar
By Poppy
at 2010-08-02T00:47
有看有推
Olivia avatar
By Olivia
at 2010-08-02T03:38
解釋很清楚..推
Olive avatar
By Olive
at 2010-08-07T00:31
推文..長知識
Rachel avatar
By Rachel
at 2010-08-11T07:32
好文推~
Brianna avatar
By Brianna
at 2010-08-14T09:44
希望對您有幫助 http://www.94istudy.com
Edward Lewis avatar
By Edward Lewis
at 2010-08-17T16:00
大推!

內湖/汐止 徵軟改

Tracy avatar
By Tracy
at 2010-07-12T12:16
我已經算都改好了(看game disk的一步步改,之前是3.4j的,有硬改過) 但就是usb loader GX一直都不能成功 按了usb loader gx後,lading一會後 顯示 do u want to retary for 30 secs cIOS249 cIOS222 back to wii ...

軟改

Yedda avatar
By Yedda
at 2010-07-12T08:08
各位大大我想請問一下,我昨天從光華2F的圓X科技改完機後,拿回來發現我的硬碟不見了, 這是本來就會有的情況?(改完之後硬碟不能用) 還是說是他真的沒有還我?? 麻煩各位大大解答! 感激萬分 -- http://www.facebook.com/yonker.liao?ref=name - ...

gba備份卡買哪張比較好

Lucy avatar
By Lucy
at 2010-07-12T03:01
傳說現在gba備份卡可以和ds備份卡聯動了 那gba備份卡和ds備份卡各要哪張才能支援呢? 還有備份卡可以和正版卡匣作聯動嗎? - ...

wood1.09的金手指怎麼打開QAQ

Lucy avatar
By Lucy
at 2010-07-12T01:40
我把金手指放到_rpg裡的cheat裡了 可是....... 不知道要怎麼打開.... 以往的內核都是在選遊戲按y 可是這wood1.09...... 我孤狗好像有辜到說 選遊戲時按L+X 可是我按了他也只是跳回上一個資料夾~ 感覺是個蠢問題但我真的...不知道andgt;and#34;and ...

R4卡 升級問題 快來救救我

Damian avatar
By Damian
at 2010-07-11T22:38
我剛剛把 R4卡升級了 但是開機顯示 硬件版本不兼容 怎麼辦? 我到底哪裡用錯了 誰來救救我阿? 謝謝 andgt;and#34;andlt; 我的 R4卡長這樣 http://www.wretch.cc/album/album.php?id=bluemily0606andamp;book=2 ...