看板 Modchip 關於我們 聯絡資訊
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
narcissusli:這一搞出來,連狗都不用準備了,讚!! 11/15 01:16
cassine:還是要啦!不然你要用IC燒錄器對付主機板上的FlashROM 11/15 10:26
narcissusli:應該可以把加料過的fw放在光碟上,讓主機更新吧?! 11/15 11:01
cassine:不行,因為韌體更新檔都有簽證,沒破解主機的韌體更新程式 11/15 11:26
cassine:$QNY沒理由讓玩家這樣搞。 11/15 11:26
cassine:不過有Factory Service Mode可能就不一樣,會有機會 11/15 11:27
todotaurus:原文討論串下面的回覆很精采,有空的人可以看看。 11/15 14:12
bhh0026:要是連簽證都搞出來的話,直接封成更新檔就可以丟進去了w 11/15 14:28
cassine:基本上是不大可能,這種public/private key簽證的東西要拿 11/15 15:03
cassine:到key可不簡單,我是不大相信$QNY會跟老任一樣,在簽證上 11/15 15:03
cassine:犯同樣錯誤 strcmp() 那個實在太寶了XD 11/15 15:04
kaoru7568:老任那個 hash吃到0就終止的BUG真的太可愛XD 11/15 17:38
UnknownX:老任那個簽證是怎樣?可以詳細一下嗎? 11/15 18:31
kaoru7568:假設正確簽證是 1234567890ABCDEF 因為BUG吃到0會停掉 11/15 18:43
kaoru7568:所以只要把hash弄成1234567890______ ←後面那堆隨便 11/15 18:44
kaoru7568:也就是自製程式是 1234567890123456 一樣可以通過認證 11/15 18:45
kaoru7568:只要0前面有對就好了 11/15 18:45
f1234518456:XDD 11/15 18:52
f1234518456:被函式bug婊了XD 11/15 19:06
cassine:不是bug,在C語言裡面字串陣列的結尾本來就是0 11/15 19:41
cassine:所以比較的時候讀到0會以為字串終結了,結果原本256-bit的 11/15 19:41
cassine:簽證如果在第10個bit遇到0就會削弱成只有10-bit的強度,很 11/15 19:42
cassine:容易就可以偽造出前10個bit都相同的假簽證 11/15 19:43
f1234518456:原來是這樣 11/15 20:04
SGBA:專業推 O_O 11/15 20:28
cassine:事實是老任在不該使用strcmp的地方用了,結果形成bug,這 11/15 21:02
cassine:個bug應該是有人反組譯程式時發現的,不然正常執行根本不 11/15 21:03
cassine:可能察覺,因為hash collision的機率太低,所以老任也簽了 11/15 21:03
danny8376:不過NDS上也有這個錯誤嗎? (我想應該沒人研究就是了...) 11/15 23:33