5688753 ランダム
 ホーム | 日記 | プロフィール 【フォローする】 【ログイン】

たしなみガジェット

2010年02月08日
XML
テーマ:PlayStation3!(291)
カテゴリ:PS3 Hack
xorloser's blogで、Gehotz氏のPS3 exploitチュートリアル:ソフトウェア編に続きハードウェア編が公開されていました。【情報源:xorloser's blog

ブログの文字数制限につき翻訳のみでお伝えします。


PS3 Exploit: ハードウェア

この記事はPS3 hypervisorのメモリアクセスexploitに必要なハードウェアに関する記事です。ハードウェアの目的は変わってほしくない値をPS3が保存しないようにすることです。PS3は値に変化があるとその値をRAMに書き込みます。そのため変化した値の書き込みを止めるために書き込みすることを止めてやる必要があります。

PS3はコントロールライン経由でRAMに対し書き込みコマンドを送ります。ですのでコマンドが送られた時にコントロールラインでそれを阻止しなければなりません。必要なのはPS3に正常にRAMへ書き込めたと思わせることですが、RAMはコマンド受信を阻止されているので実際にはコマンドを受け取っていません。そのため書き込み動作は行わないことになります。

コントロールラインでコマンドを阻止する最も簡単な(比較的安全でもある)方法はグランドに落としてしまうことです。これはコントロールラインとグランドとを配線してしまえば済んでしまいます。厄介なのはタイミングを正確にとることで、そのタイミングさえ間違わなければ書き込みを任意に阻止でき、その前後では何も起こらず通常動作していることになります。本来これは高額な機器を投入して膨大な時間をかけないとできないはずですが、Geohotz氏は"幸運"という最も簡単な方法でこれをやってのけたようです。正確な書き込みコマンドのタイミングが現れる状況を幾度となく再現し、書き込みが行われないタイミングで起こるクラッシュが発生するまでコントロールラインをグランドに落とす作業を幾度となく繰り返さないとなりません。exploitはそれを確実に実行するためのトリガーとして機能します。

どうやって動作するかはもうお分かりですね。繋いだらグランドに落ちるようなコントロールラインの配線と、グランドに繋がった配線が必要です。更にこの2本の配線が瞬間的に接続されるようにしてやる必要があります。ただ、接続を手動でいくらがんばったところでどんなに速くてもミリセカンド単位です。しかしRAMコントロールラインの速度は非常に速く、1msの間にかなり大量のコマンドを阻止してしまいます。そのため手動ではなく、1回が非常に短い時間だけ繋がるようななんらかの機器を使ってやる必要があります。Geohotz氏は接続時間を40ns(ナノ秒)としています。

このようなごく短時間というのを実現できる機器は実は沢山あります。Geohotz氏の場合はFPGA基板を自作しています。555タイマーを使えばいいという人もいますが、それで成功したと言う話は聞いたことがありません。私の場合は以前あるプロジェクトで使っていた小さなsx28 microcontrollerを使いました。20nsの命令サイクルが50MHzで動作します。40nsで接続するだけなら十分な速度が出せます。

最初のステップは、マザーボードの表面にアクセスできるようにするためにPS3を分解するところからはじめます。PS3のバージョンごとに異なりますが、マザーボード上にある後述する場所を探します。

最初の写真は初期型60GBのHDDを搭載したPS3で、USBポートが4つありカードリーダーがついているバージョンです。レジスタのサイドにワイヤーをハンダ付けしているのが分かると思います。これがハンダ付けで配線が必要なPS3のRAMコントロールラインです。2本の電源プラグの出っぱりが左側にくるこの配線ルートの通りにワイアーを配置すると良いでしょう。写真ではワイヤーは下に伸びていますが、実はそうすることで偶然RAMが改変してしまう悪影響があることが分かりました。そうならないために配線ルートを電源プラグの裏の左側を通すようにし、PS3ケースの左側がらワイヤーを取り出すようにしてください。インストール時に長めのワイヤーを使っても構いませんが、最終的には設置完了後に短くしてください。ワイヤーはハンダ付けポイントが引っ張られることがないようホットボンドを使って配線を固定してあります。
old_ps3
2番目の写真は80GBのHDDを搭載したPS3で、USBポートが2つありカードリーダーがついていないバージョンです。このモデルはPS3"Slim"モデルが出る直前の"Fat"モデルです。それ以前のマザーボードのように片面に4つのRAMチップが載っているのとは異なり2つのRAMチップがマザーボードの両面に搭載されています。写真ではRAMコントロールライン接続のためのハンダ付けポイントに印をつけてあります。ここにハンダ付けするためにはクラフトナイフを使い注意して配線パターン表面を削りワイヤーがハンダ付けできるよう銅線をむき出しにしておく必要があります。ハンダでワイヤーを取り付けたらPS3の他のパーツに一番干渉しない直線ルートでケースの正面から取り出してください。初期型同様最終的にはワイヤーは短くなるよう処理してください。
new_ps3
次にグランド接続の作業をします。新旧どちらのマザーボードも同じ方法で簡単にできます。単にワイヤーを、マザーボード表面にあるメタルシールドにねじを切ってあるところに入っている金属ねじへ巻き付けて共締めするだけです。ハンダ付けは必要ありません。ねじの頭の裏側に巻き付けてねじと一緒に締めるだけですスマイルそのワイアーはコントロールラインのワイヤーと一緒のルートでケースの外へ取り出してください。

上記2本のワイヤーはハードウェアトリガーとなる機器へ一緒に接続します。以下は私が使ったハードウェアトリガーでの説明になりますが自分の好きな機器を使ってもらって構いません。最初私がワイヤー配線の近くで5V電圧をかけたところ、コントロールラインに予期せぬ妨害が発生し起動時にPS3がクラッシュしたので注意してください。

私が使用したハードウェアトリガーはSX28 microcontrollerで、何年か前に購入したプログライングキットに付属していたものです。このSX28を使うにはSX28チップとチップにプログラミングするためのもの(通常はSX-KEYSX-Blitz)、SX28チップを50MHzで動作させるためのオシュレーターが必要です。これら必要なものは上記プログラミングキットに同梱されています。大勢の人が買ってくれたら私xorloserのおかげですから、SX-keyのUSB版をくれると言ってくれないだろうかと期待してます。何しろ私のは古いシリアル版なのでしょんぼり

以下はWindowsのペイントで作成したため安っぽいですが私の作った回路図面です。私は先に述べたプログラミングキットを使いSX-Key programmerをSC-Keyを取り付けてオシュレーターとして利用しました。外部オシュレーターは使っていませんのでそれについては分かりません。いずれにせよチップを動作させるためにはオシュレーターかSX-Key付きのいずれかが必要です。
SX28Processor
このSX28のソースコード(注:元記事への単なるリンクにしてあります)はパズルで言うところの最後の1ピースです。ParallaxにあるフリーのSX-Keyエディタソフトウェアを使ってSX28チップをプログラムします。PS3の準備ができたらスイッチを押して"パルス"(コントロールラインをグランドに落とす)を送り込むことが出来ます。ボタンを押してしまえばスイッチが繋がっている限り100msごとにパルスを送り続けます。回路図面の右側にあるLEDが動作の様子を示してくれます。パルスが送られている時LEDが光り、回路がきちんと動作しているのが分かると思います。私が作ったSX28のソースコードを見れば360ns長のパルスを送っていることは分かるでしょう。パルス長を測定する機器を(今は)持っていないので正確にどのくらいのパルスが送られているのかは分かりません。ポートの向きが変わる時にハードウェアがディレイを誘発させている可能性がありますが、360nsの待ち時間があってもおおよそ40nsのパルスは送っていることになります。360nsという値はトリガーできないようになる短い値を可能な限りいろいろ試してみて、そこから少し増やしていき一番短いパルスになった時の値です。

ふーっ、ようやくこれで記事は終わりです。次に記事を書くときは自分でダンプするためのソフトウェアやらとかの話になるでしょう。では。


あまり詳しくない分野の記事を翻訳する時にはだいたい事前に調べてから書くようにしています。が、ハードウェアはちょっとハードル高いです。100msごとに360nsで40ns?親切なチュートリアルだと思いますがPS3 exploitチュートリアル:ソフトウェア編の時に感じた「いっちょやってみるか!」的前向き意思を自分の中に感じませんでした。
あー、このことか、40nsのパルスって!とひらめいた方は是非試してみてください。もちろん自己責任で。
ふーっ、長文は疲れる。

誰か試してGameGazにトピック作りませんか?←人任せ


人気blogランキング←お疲れクリック→にほんブログ村 ゲームブログへ
GameGaz_icon情報共有プロジェクト GameGazフォーラム






最終更新日  2010年02月08日 18時06分48秒
コメント(2) | コメントを書く

■コメント

お名前
タイトル
メッセージ
画像認証
別の画像を表示
上の画像で表示されている数字を入力して下さい。


利用規約に同意してコメントを
※コメントに関するよくある質問は、こちらをご確認ください。


 怖い・・   kb さん
単語の意味や何をしているのかがわかっても
これが何に繋がるのかわからなくて試せませんね・・。
(2010年02月08日 18時56分23秒)

 Re:怖い・・(02/08)   まも助 さん
機材さえあれば出来るとは思いますが、「で、それで?」となるのは100%間違いありません(笑

こういった文章を実践して書いたxorloser氏は偉大です。
話はそれますが、一応個人ブログなのでxorloser氏に翻訳許可は取りました:)
(2010年02月09日 09時58分47秒)

PR

サイド自由欄

情報共有プロジェクト
GameGazフォーラム
GameGaz_icon

GameGazフォーラムを下記のサイトで紹介していただきました!
この場を借りて御礼申し上げます。
XBOX360 hackに関する私的メモ
PSP改造とか色々記事
GAME cheat&hack記事
Gameの玄人記事
Custom Wii Glossary記事
ALL GAMEHUCKS torrent通販記事
Junk Junky's Square記事
We are Pod!!記事
徒然なる紳士たちの雑記帳記事
DS PSP初心者用講座記事
PLAY@LIFE記事
SPaRB記事
厨ニ病の魔術記事
GAME Hack Navi記事
Life Style記事
PSP&Android完全攻略
GAME MEDIA記事



GameGaz_Blog_Logo
GameGazブログ
管理人が運営する
サテライトブログ



第5回楽天アフィリエイト選手権銀賞受賞サイト
大人のためのゲーム講座は第5回楽天アフィリエイト選手権で銀賞を受賞しました


当ブログが第5回楽天アフィリエイト選手権のコンテンツ部門銀賞を受賞しました
投票してくださった皆様ありがとうございました!

賞をもらった本人が一番ビックリしてます。
コンテンツが皆様にご評価いただけたと思って今後も頑張ります!

[追伸]
楽天の事務局さんからメールがきました。

『今回「電化製品・おもちゃジャンル」にて、銀賞を受賞されました
「http://plaza.rakuten.co.jp/mamosuke2008/」のサイトに関して
ですが、ユーザーの方より、業界の違法を助長する内容とのご指摘を受け、
検討させて頂いた結果、受賞の内容に変更はございませんが一旦、
http://affiliate.rakuten.co.jp/campaign/cup/0810/result/?l-id=aftop_04
こちらのページへの露出は控えさせて頂く事となりました。』

君子危うきに近寄らず?
想像するにマジコンという固有名詞が掲載されている時点でNG?
このサイトの内容は正義感にあふれてると思いますけど。
どこが業界の違法を助長する内容なのか納得いきませんが、石橋たたいて渡られたらそりゃ壊れますって。


本ブログはゲームに関する海外の最新情報を翻訳してお伝えするブログです。

Homebrew(自作アプリ)支持の立場ですが、不正コピーなどの違法行為に関しては断固として反対しております。
掲載されている各種情報はあくまでもHomebrew(自作アプリ)のための情報です。ゲーム業界の発展の障害となる不正行為はこれを追放すべきと訴えて行きます。

大人のためのゲーム講座
管理人
まもすけ






まもすけblogでは楽天オークションをお勧めしています



カテゴリ

日記/記事の投稿

ほしいものリスト

カレンダー

バックナンバー

2019年07月
2019年06月
2019年05月
2019年04月
2019年03月
2019年02月
2019年01月
2018年12月
2018年11月
2018年10月

キーワードサーチ

▼キーワード検索

コメント新着

 通りすがりのbiblio@ Re:光るPSP用クレードル CHARGER STAND 4in1 for PSP-2000(10/21) こんにちは、かなり昔のブログ記事へのコ…
 mkeeeeeeeeiiiiiiopp@ Re:Gecko OS v2.0のスクリーンショット公開~でも開発は遅れ気味(02/05) lovemehbb7i7iyuu76f786tvr6yr76tycfythtf…
 威哥王@ 威哥王 中絶薬:http://www.xxkanpo.com/product/1…
 silver1202@ フリーワーク募集 私はやっているフリーワークを紹介します…
 silver1202@ フリーワーク募集           私はやっているフ…
 Nos@ 「CFW 6.35 Custom beta v3 for PSP2000」 「CFW 6.35 Custom beta v3 for PSP2000」…
 qwertyu@ Re:ゲーム最新情報 2011年1月16日のニュース kgsws氏ってMOHHの人ですよね!?懐かしい。…
 天然パーマ@ PSN PSNからゲームってどうやってダウンロード…
 天然パーマ@ (・_・)さん どういう場ってゲーム機のハック情報を紹…

お気に入りブログ

★美容&おすすめコス… autodustboxさん
大人のPS3 ひげぱわーさん

Copyright (c) 1997-2019 Rakuten, Inc. All Rights Reserved.