94bc0140a545a932c24af98db7ea10b2 在看完Sony如何犯下種種錯誤,讓PlayStation與PlayStation 2慘遭破解後,我們接下來要探討的受害者還是Sony的主機,這款主機與先前產品最大的不同在於它有完整的作業系統,所以破解之後能玩的功能也更加多元。

前情提要:

家用主機秘辛1:任天堂紅白機導致的破解風潮

家用主機秘辛2:紅白機的防拷晶片歷史

家用主機秘辛3:正版比盜版問題更多,破解萬惡10NES晶片

家用主機秘辛4:進入光碟時代,PS的保護機制

家用主機秘辛5:數秒內抽換光碟, PS 盜版片也能騙過驗證機制

家用主機秘辛6:最暢銷主機 PS2 的大後門,用壞軌光碟 Swap Magic 破解

家用主機秘辛7:PS2安裝假OS,從記憶卡開機

家用主機秘辛8:PS2連DVD播放功能都暗藏玄機

無安全機制 = 駭客天堂

在多年的研究之後,駭客社群已經摸透了PlayStation Portable(文中簡稱PSP)的底細,但是這畢竟是後話。在PSP的生命前期,社群還是有幸掌握了一些設計上的失誤,因此有機會駭取主機的控制權,就讓我們一起來看看早期的破解手法。基本上在PSP的生命周期中,除了韌體版本5.50到6.20的這段黑暗期之外,大多都是屬於被破解的狀態,在PSP的駭客社群中,有許多優秀的駭客來來去去,大家在這邊共享了美好的青春歲月,這除了要歸功於貢獻卓越的駭客外,也要特別感謝首次跨足可升級式、攜帶型遊戲主機的Sony,以及這間公司不斷犯下的愚蠢錯誤。

讀者們或許已經知道,PSP的韌體並非完全受安全機制保護,存放韌體的內建快閃記憶體空間Flash0,就是個很容易能夠被存取的區塊,而並非所有的Flash0核心模組皆有加密,而且透過MIPS工具鏈(toolchain,指完整程式編譯工具套件)就能自行編寫模組,並複製到Flash0中的未加密檔案中貼上。

沒錯,這就是自製韌體的基礎,就是這麼簡單。

▲PSP硬體性能大幅超越當時掌上型電玩主機,將掌上型電玩遊戲主流畫面從2D拉抬至3D。

▲PSP的破解主要是針對作業系統進行修改,因此也可以獲得許多執行非授權軟體以外的功能。

封不住的系統漏洞

更進一步說,Flash0並不是唯一未經保護的區塊,早期型號的PSP主機上甚至擁有功能完善的除錯埠,只需將開發工具連上線控耳機端子,就可以使用除錯功能。部分的日版遊戲也包含了除錯模式,駭客就可以藉此分析系統核心運作的狀況,也可以瞭解核心模組的名稱。

Sony為了彌補漏洞,馬上發布1.50版韌體更新,阻擋了像是kernel-flagged ELFs等未經簽署的程式,但是它並沒有成功封鎖所有漏洞,駭客還是找到許多方法來執行未簽署程式,像是抽換記憶卡,或是惡名昭張但相當方便的1.50 kxploit。

過去在Wololo.net,我們曾討論過這個雞生蛋、蛋生雞的循環問題。基本上如果要取得核心模式的漏洞(取得完整系統控制權),需要先取得未加密的系統核心模組,但是要取得未加密的系統核心模組,則須先取得完整系統控制權。頭痛啊!

值得慶幸的是,這個問題從來沒有發生在PSP身上,因為我們可以直接存取PSP的核心模組,所以即便Sony發布系統更新來保護核心,我們還是可以直接解讀核心模組,來分析PSP的內部運作狀況。

▲PSP的線控耳機端子介面採序列埠(serial port),可作為除錯埠,不知為何Sony會將這個功能留在市售版主機中。(圖片來源:NIL:'s white page

▲控耳機端子的腳位定義如下,可以連至RS-232進行除錯。(圖片來源:NIL:'s white page

▲搭配自行至作的轉接頭,便可將PSP連接至電腦。(圖片來源:NIL:'s white page

▲透過除錯埠駭客便可一窺PSP主機內部的秘密。(圖片來源:NIL:'s white page

下集預告:用緩衝區溢位衝破天際

原文刊載於http://wololo.net/2014/01/18/10-days-of-hacking-day-4-the-psp-part-1

感謝原文作者Acid_Snake同意轉載

Original article by Acid_Snake. Translate by konamigood.

延伸閱讀:

【模擬器改造】掌機性能大提升:PlayStation Portable篇

挑戰 Apple TV,Sony 發表 PS Vita TV 提供影音串流服務,還能用電視玩 PS Vita、PSP 遊戲

PSP 退休後,刷機做3種進階利用,實測給你看

使用 Facebook 留言

發表回應

謹慎發言,尊重彼此。按此展開留言規則