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

看板Modchip作者 (邪惡松鼠)時間15年前 (2010/07/12 13:35), 編輯推噓13(1301)
留言14則, 14人參與, 最新討論串1/1
從六月底才開始接觸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 不過就算看似萬無一失的防護 卻還是有不少漏洞,在接下來的文章會再做詳細說明 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.23.102 ※ 編輯: priv 來自: 140.113.23.102 (07/12 16:04)

07/12 16:50, , 1F
先推 有空再認真看
07/12 16:50, 1F

07/12 17:34, , 2F
上Modchip版長知識~(想講這句話很久了)
07/12 17:34, 2F

07/12 20:28, , 3F
好文!
07/12 20:28, 3F

07/12 21:08, , 4F
膜拜
07/12 21:08, 4F

07/12 23:10, , 5F
priv兄好久不見
07/12 23:10, 5F

07/13 13:09, , 6F
清楚~
07/13 13:09, 6F

07/13 20:54, , 7F
瞭解~ 推用心~
07/13 20:54, 7F

07/15 00:27, , 8F
推!
07/15 00:27, 8F

07/15 08:34, , 9F
有看有推
07/15 08:34, 9F

07/15 11:12, , 10F
解釋很清楚..推
07/15 11:12, 10F

07/20 12:50, , 11F
推文..長知識
07/20 12:50, 11F

07/22 02:42, , 12F
好文推~
07/22 02:42, 12F

07/30 08:20, , 13F
希望對您有幫助 http://www.94istudy.com
07/30 08:20, 13F

08/06 18:16, , 14F
大推!
08/06 18:16, 14F
文章代碼(AID): #1CEgcVX_ (Modchip)