[PS3 ] 3.50版韌體解析進行中

看板Modchip作者 (Savannah)時間13年前 (2010/11/14 23:05), 編輯推噓6(6024)
留言30則, 10人參與, 最新討論串1/1
http://xorloser.com/?p=297&cpage=3 xorloser已經成功解析了 PS3韌體更新檔案.pup的結構。由於JB所帶來的可能性 ,讓他們得以研究.pup檔案與實際Flash ROM 內容的對應,進而推論出韌體的寫 入位址。 運氣好的話,這是自製韌體的第一步,也許能夠透過只更新必要程式而保留JB漏 洞的方式執行3.50 SDK所編譯出的遊戲。 -- ____ _ _ _ _ ____ _ _ ____ _____ ____ (_ _)( \( )( \/ )( ___)( \( )(_ _)( _ )( _ \ _)(_ ) ( \ / )__) ) ( )( )(_)( ) / (____)(_)\_) \/ (____)(_)\_) (__) (_____)(_)\_) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.126.61.141

11/15 01:16, , 1F
這一搞出來,連狗都不用準備了,讚!!
11/15 01:16, 1F

11/15 10:26, , 2F
還是要啦!不然你要用IC燒錄器對付主機板上的FlashROM
11/15 10:26, 2F

11/15 11:01, , 3F
應該可以把加料過的fw放在光碟上,讓主機更新吧?!
11/15 11:01, 3F

11/15 11:26, , 4F
不行,因為韌體更新檔都有簽證,沒破解主機的韌體更新程式
11/15 11:26, 4F

11/15 11:26, , 5F
$QNY沒理由讓玩家這樣搞。
11/15 11:26, 5F

11/15 11:27, , 6F
不過有Factory Service Mode可能就不一樣,會有機會
11/15 11:27, 6F

11/15 14:12, , 7F
原文討論串下面的回覆很精采,有空的人可以看看。
11/15 14:12, 7F

11/15 14:28, , 8F
要是連簽證都搞出來的話,直接封成更新檔就可以丟進去了w
11/15 14:28, 8F

11/15 15:03, , 9F
基本上是不大可能,這種public/private key簽證的東西要拿
11/15 15:03, 9F

11/15 15:03, , 10F
到key可不簡單,我是不大相信$QNY會跟老任一樣,在簽證上
11/15 15:03, 10F

11/15 15:04, , 11F
犯同樣錯誤 strcmp() 那個實在太寶了XD
11/15 15:04, 11F

11/15 17:38, , 12F
老任那個 hash吃到0就終止的BUG真的太可愛XD
11/15 17:38, 12F

11/15 18:31, , 13F
老任那個簽證是怎樣?可以詳細一下嗎?
11/15 18:31, 13F

11/15 18:43, , 14F
假設正確簽證是 1234567890ABCDEF 因為BUG吃到0會停掉
11/15 18:43, 14F

11/15 18:44, , 15F
所以只要把hash弄成1234567890______ ←後面那堆隨便
11/15 18:44, 15F

11/15 18:45, , 16F
也就是自製程式是 1234567890123456 一樣可以通過認證
11/15 18:45, 16F

11/15 18:45, , 17F
只要0前面有對就好了
11/15 18:45, 17F

11/15 18:52, , 18F
XDD
11/15 18:52, 18F

11/15 19:06, , 19F
被函式bug婊了XD
11/15 19:06, 19F

11/15 19:41, , 20F
不是bug,在C語言裡面字串陣列的結尾本來就是0
11/15 19:41, 20F

11/15 19:41, , 21F
所以比較的時候讀到0會以為字串終結了,結果原本256-bit的
11/15 19:41, 21F

11/15 19:42, , 22F
簽證如果在第10個bit遇到0就會削弱成只有10-bit的強度,很
11/15 19:42, 22F

11/15 19:43, , 23F
容易就可以偽造出前10個bit都相同的假簽證
11/15 19:43, 23F

11/15 20:04, , 24F
原來是這樣
11/15 20:04, 24F

11/15 20:28, , 25F
專業推 O_O
11/15 20:28, 25F

11/15 21:02, , 26F
事實是老任在不該使用strcmp的地方用了,結果形成bug,這
11/15 21:02, 26F

11/15 21:03, , 27F
個bug應該是有人反組譯程式時發現的,不然正常執行根本不
11/15 21:03, 27F

11/15 21:03, , 28F
可能察覺,因為hash collision的機率太低,所以老任也簽了
11/15 21:03, 28F


11/15 23:33, , 30F
不過NDS上也有這個錯誤嗎? (我想應該沒人研究就是了...)
11/15 23:33, 30F
文章代碼(AID): #1Ct_giX_ (Modchip)