PSJB的program code dump(中文不知道怎麼翻) - 改機

Table of Contents

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只能在新機種上修改硬體設計才能反制了,不然單靠
更新韌體可能力有未逮。


--

____ _ _ _ _ ____ _ _ ____ _____ ____
(_ _)( \( )( \/ )( ___)( \( )(_ _)( _ )( _ \
_)(_ ) ( \ / )__) ) ( )( )(_)( ) /
(____)(_)\_) \/ (____)(_)\_) (__) (_____)(_)\_)


--

All Comments

Susan avatarSusan2010-08-29
..... 這跟與語言有關係嗎 -.-||...
Genevieve avatarGenevieve2010-08-30
單純就是程式設計師沒有注意到這個部份吧 -.-||
Christine avatarChristine2010-08-31
那個code只是掛一個usb監聽器 把運作過程記錄下來
並不是pic的program code..
Margaret avatarMargaret2010-09-03
我只想說,driver是知道接上去的device是不是個usb hub的
Sarah avatarSarah2010-09-07
driver也會知道送過來的packet是不是JIG送的
Kyle avatarKyle2010-09-08
樓上,你不知道在Windows裡面驅動程式就是認VID的嗎?
所以只要騙過去就會被當成合法的了
Noah avatarNoah2010-09-10
還有一樓,C++語言有記憶體管理缺陷是天生的,所以程式設
Anonymous avatarAnonymous2010-09-12
計師才需要更加留意,但這個問題實在抓不勝抓
Hedda avatarHedda2010-09-14
你的文章就寫packet的PID必須是JIG才能執行特殊的pattern
Isabella avatarIsabella2010-09-16
如果PID是JIG的packet通通drop掉,那這pattern還能植入?
Jessica avatarJessica2010-09-19
記憶體管理跟程式語言啥關係, 本來就是 programmer 份內該
Erin avatarErin2010-09-19
做的事. JAVA C# 之流是因為 VM 做了記憶體管理.
Regina avatarRegina2010-09-20
JVM也是c++寫的 本身還是有漏洞 c++源自於asm
Anonymous avatarAnonymous2010-09-21
這樣來說 不是硬體本身就該做好記憶體管理了= =
Erin avatarErin2010-09-23
輕鬆 溫馨 改機板
Kyle avatarKyle2010-09-27
.....跟語言有什麼關係...不懂別裝懂...
Noah avatarNoah2010-09-28
上一篇不能推..來這推
Frederica avatarFrederica2010-10-03
正義魔人 在這不要裝清高 自以為聖人 ...
Eartha avatarEartha2010-10-07
這篇在講技術,不要到處推害這篇也被鎖好嗎
Eden avatarEden2010-10-07
推 k24612:正義魔人 在這不要裝清高 自以為聖人 ... XDDDD
Kyle avatarKyle2010-10-12
不過說實話雖然C的記憶體配置很有問題 他還是最主流的
Sarah avatarSarah2010-10-15
code阿 我們寫寫程式programmer自己知道哪裡有溢位可能
Adele avatarAdele2010-10-16
就補 不過說實話主機這種除了是一群人的project外
Puput avatarPuput2010-10-20
最主要還是為了效能其實也寫了不少組合
Ida avatarIda2010-10-23
大家的子函數遞來遞去 其實難保不會遺忘一些溢位的地方
Lauren avatarLauren2010-10-25
記憶體管理或許是設計者的事 不過限界警告C真的做的很糟
Odelette avatarOdelette2010-10-28
...樓上, 你確定你知道你自己在說啥??
Madame avatarMadame2010-10-31
離題離很大...