Re: [PS3 ] KaKaRoTo announces jailbreak for 3.73
這邊也是繼續上演筆戰,戰場在KaKaRoTo的twitter 上。昨天KaKaRoTo在ps3dev
wiki上把Mathieulh 的言行全部攤在陽光下,直指Mathieulh 是個騙子。
首先KaKaRoTo譴責Mathieulh 一直用一堆挑釁的語言告知錯誤訊息,一開始說關
鍵在appldr裡頭的AES OMAC加密,結果以KaKaRoTo為首的十多人團隊花了快一個
月的時間檢查了組合語言裡頭的相關程式,發現根本找不到,Mathieulh 於是改
口說是HMAC,但之後發覺根本也不是這麼回事,Mathieulh 又說應該是在lv1 裡
面才對。總之KaKaRoTo他們認為Mathieulh 講得沒一樣是對的,這人只是想用一
堆假情報換取大家對他的膜拜。
KaKaRoTo指控之所以 Mathieulh不願意分享他的研究成果,是因為根本沒得分享
。既然如此,少了傳聞中的npdrm hash algo 這塊拼圖,KaKaRoTo跟他的團隊只
好繼續自食其力了。經過兩個月的研究,大家對.self 這個加密格式有新的認識
。從遊戲光碟裡頭備份出來的EBOOT.BIN 其實有兩層加密跟一層簽證。
開發商用SDK 編出來的主程式是Linux ELF 格式,這個很自然,因為SONY給的
SDK裡面的編譯器是 gcc。
編出來的 ELF主程式會經過第一層加密,是self加密,加密之前可以用壓縮程式
壓縮減少空間,處理完後在通過NPDRM 進行第二次加密,然後用ECDSA 進行簽證
。在3.55版以前,SONY沒檢查最外層NPDRM 加密跟簽證的正確性,所以我們只要
把 ELF檔包一包就可以跑了。當然.pkg檔SONY原本有檢查簽證,但是被破解了。
3.60版韌體開始就算連普通遊戲主程式的 NPDRM加密跟簽證也會檢查,這次SONY
沒犯錯,所以要算出私鑰來偽造相同的簽名沒這麼容易。3.55之前因為SONY犯錯
,所以可以把私鑰推算出來偽造出完全一樣的數位簽證。既然不太可能完美偽造
簽證,那接下來KaKaRoTo打算尋找看看有沒有能夠繞過檢查,把檔案直接裝在主
機上的機制,或是有沒有發生「簽證碰撞」的可能,就是說假如亂數空間不夠大
,在取樣時就會有比較高的機率讓兩款遊戲使用同一個亂數進行簽證,這種簽證
失誤會讓私鑰暴露出來。
想對ECDSA 有更進一步瞭解可以參考:
https://engineering.purdue.edu/kak/compsec/NewLectures/Lecture14.pdf
--
○ ____ _ _ _ _ ____ _ _ ____ _____ ____
。 ★(_ _)( \( )( \/ )( ___)( \( )(_ _)( _ )( _ \
o _)(_ ) ( \ / )__) ) ( )( )(_)( ) / ● ‧
(____)(_)\_) \/ (____)(_)\_) (__) (_____)(_)\_) ★
o
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.120.31.137
推
01/20 11:17, , 1F
01/20 11:17, 1F
推
01/20 11:32, , 2F
01/20 11:32, 2F
→
01/20 12:51, , 3F
01/20 12:51, 3F
推
01/21 01:24, , 4F
01/21 01:24, 4F
討論串 (同標題文章)