看板 Modchip 關於我們 聯絡資訊
http://www.ps3hax.net/2010/08/ps-jailbreak-code/ 底下二進位碼貼了也沒用,我也不是compiler,有興趣的人可以自己去買IC燒燒 看。 So what does this mean? Disane has summed it up below: This is the disassembled PPC code more like the shell code that is being injected. The best way would be to use the lv2 dump and this to figure out how the stack overflow exploit works in the USB buffer of the PS3 after that it can be reproduced on any FW. On both slim and fat PS3s. The JIG ID is probably passed to trigger some code pathern which the Configuration Descriptor overflows and injects the shell code after that the code gets executed. The shell code patches lv2 to run fselfs and all kinds of interesting flags which I haven't noticed yet ****** 跟我之前猜得差不多,就是利用和緩衝區溢位非常類似的堆疊溢位攻擊方式將攻 擊程式碼注入目標位置然後蓋掉program pointer 的值,讓他指到自己要執行程 式的開頭,就成功了。 只能說這是 C++語言的原罪,然後$ONY被婊了,因為這套程式語言對於記憶體的 管理太糟糕,緩衝區溢位、堆疊溢位這種鳥事已經是見怪不怪了。任天堂是自己 笨寫那種兩光的數位簽名驗證被抓到漏洞,這是$ONY可以說是相當無辜的說。 按照上面的說法, USB buffer 這個東西到底是在硬體層還是軟體層將成為關鍵 ,如果是在硬體層的話$ONY只能在新機種上修改硬體設計才能反制了,不然單靠 更新韌體可能力有未逮。 -- ____ _ _ _ _ ____ _ _ ____ _____ ____ (_ _)( \( )( \/ )( ___)( \( )(_ _)( _ )( _ \ _)(_ ) ( \ / )__) ) ( )( )(_)( ) / (____)(_)\_) \/ (____)(_)\_) (__) (_____)(_)\_) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.126.61.141
Splash5:..... 這跟與語言有關係嗎 -.-||... 08/29 11:13
Splash5:單純就是程式設計師沒有注意到這個部份吧 -.-|| 08/29 11:16
Splash5:那個code只是掛一個usb監聽器 把運作過程記錄下來 08/29 11:24
Splash5:並不是pic的program code.. 08/29 11:24
tsairay:我只想說,driver是知道接上去的device是不是個usb hub的 08/29 11:40
tsairay:driver也會知道送過來的packet是不是JIG送的 08/29 11:41
cassine:樓上,你不知道在Windows裡面驅動程式就是認VID的嗎? 08/29 11:43
cassine:所以只要騙過去就會被當成合法的了 08/29 11:43
cassine:還有一樓,C++語言有記憶體管理缺陷是天生的,所以程式設 08/29 11:44
cassine:計師才需要更加留意,但這個問題實在抓不勝抓 08/29 11:45
tsairay:你的文章就寫packet的PID必須是JIG才能執行特殊的pattern 08/29 11:47
tsairay:如果PID是JIG的packet通通drop掉,那這pattern還能植入? 08/29 11:49
KevinR:記憶體管理跟程式語言啥關係, 本來就是 programmer 份內該 08/29 12:09
KevinR:做的事. JAVA C# 之流是因為 VM 做了記憶體管理. 08/29 12:17
danny8376:JVM也是c++寫的 本身還是有漏洞 c++源自於asm 08/29 13:00
danny8376:這樣來說 不是硬體本身就該做好記憶體管理了= = 08/29 13:01
mc29014226:輕鬆 溫馨 改機板 08/29 19:01
visor:.....跟語言有什麼關係...不懂別裝懂... 08/29 19:11
k24612:上一篇不能推..來這推 08/30 07:17
k24612:正義魔人 在這不要裝清高 自以為聖人 ... 08/30 07:18
tsairay:這篇在講技術,不要到處推害這篇也被鎖好嗎 08/30 09:35
p587868:推 k24612:正義魔人 在這不要裝清高 自以為聖人 ... XDDDD 08/30 11:19
tinganhsu:不過說實話雖然C的記憶體配置很有問題 他還是最主流的 08/30 21:35
tinganhsu:code阿 我們寫寫程式programmer自己知道哪裡有溢位可能 08/30 21:36
tinganhsu:就補 不過說實話主機這種除了是一群人的project外 08/30 21:37
tinganhsu:最主要還是為了效能其實也寫了不少組合 08/30 21:38
tinganhsu:大家的子函數遞來遞去 其實難保不會遺忘一些溢位的地方 08/30 21:39
tinganhsu:記憶體管理或許是設計者的事 不過限界警告C真的做的很糟 08/30 21:40
KevinR:...樓上, 你確定你知道你自己在說啥?? 08/30 23:10
tsairay:離題離很大... 08/30 23:33