ADVERTISEMENT
在前篇文章有提到, PS1 可以使用擴充端子或改機晶片等方式破解,但是前者只適用於前期主機,後者需要改造硬體。其實有另外一種方式,可以在不經任何改造的情況下,用特殊的手法欺騙主機,讓非授權的遊戲也能正常執行。
前情提要:
混合真假光碟蒙騙過關
其實PS1是台蠻有毅力的主機,當它在讀取光碟遇到錯誤時,在設定的時間內不斷嘗試重新讀取,直到成功讀出資料或是超過時限,這樣的設計無非是為了要必免光碟片上的小小刮痕,就會影響遊戲的正常運作,而且又不會因為不斷讀取而造成時間的浪費。有趣的是,這個設計反而成為破解的關鍵。
在討論破解方式之前,我們要先來瞭解一下PS1讀取光碟的機制。首先PS1會在開機時檢查光碟片的區域碼,通過區域碼檢查後,就會開始讀取光碟的TOC(Table of Contents,光碟資料的內容表),然後再次進行另一個區域碼檢查,當檢查結果相符的話,才會開始讀取遊戲的執行檔。
簡單地說,可以把流程整理如下:
安全檢查-->讀取TOC-->安全檢查-->執行遊戲
還記得在先前文章中,提到使用特殊卡帶橋接10NES鎖定晶片的方式嗎?在PS1上要做的事情其實大同小異,只是手法有些不同。在PS1的案例中,我們不需要使用特殊卡帶,而是以正版光碟搭配非授權光碟,讓主機以為我們在執行正版光碟即可,其簡易流程如下:
檢查正版光碟-->讀取非授權光碟TOC-->檢查正版光碟-->執行非授權遊戲
我們當然無法把非授權光碟的資料塞入正版光碟中,但是PS1有重新讀取錯誤資料的設計,在這短短的幾秒之間,就足夠讓我們抽換光碟片了,然而這個方式有另一個限制條件,那就是要騙過主機,讓主機以為光碟機的蓋子從頭到尾都是關上的。
▲正版光碟的安全檢查過程示意,對玩家而言就是片子放進去、開機,就可以開始玩了。
▲只要在正確時機抽換光碟,就可以成功欺騙主機,執行非授權光碟。
革命11次才成功,換片3次就OK
欺騙主機光碟機上蓋的狀況,並不是個困難的任務,由於PS1的光碟機上蓋僅具有簡單的機械構造,並不會告訴主機它現在是開啟或關閉,主機僅透過1個位於主機板上的按鈕來偵測光碟機的開闔狀態,這個按鈕會在上蓋關閉時被蓋子的凸出部分按下。所以我們只要使用膠帶把這個按鈕貼住,或是用其他方式讓按鈕始終保持被按下的狀態,主機就會認為光碟機上蓋是關閉的,於是我們只要抓準時機,抽換非授權光碟和正版光碟,就可以騙過主機,執行非授權光碟的遊戲或程式。
隨著PS1的掘起,我們看到了破解技術也跟著進化,也看到了Sony愚蠢的設計失誤,激發了聰明的破解手法,雖然這僅是Sony第一次犯下的愚蠢錯誤,但是我們卻可以在後續的產品看到同樣抽換光碟片的手法,顯然這個教訓並不會阻止愚蠢錯誤再次發生。
▲只要欺騙主機,讓主機以為光碟機上蓋是關閉的狀況,就可進行換片。
▲進行換片的時機點如圖所示,前後共需更換3次光碟。
▲實際影片示範,當時PS1光碟被稱為血滴子的典故,就是由此而來。
下集預告:Sony重蹈輹轍,PS2被一樣手法攻破
原文刊載於https://wololo.net/2014/01/15/10-days-of-hacking-day-2-the-ps1
感謝原文作者Acid_Snake同意轉載
Original article by Acid_Snake. Translate by konamigood.
延伸閱讀:
【模擬器改造】PlayStation:推薦的模擬器和必玩遊戲
請注意!留言要自負法律責任,相關案例層出不窮,請慎重發文!