ホーム   »  スポンサー広告  »  スポンサーサイト   »  PSPPGメモ  »  CFW起動シークエンス解説(2)

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

CFW起動シークエンス解説(2)

おはようございます。
忘れないうちに続きを書きます。

前回は通常のPSP起動シークエンスを解説しました。
今回はCFWを導入した場合の起動シークエンスを解説します。
これで、大まかな処理のイメージを理解して頂ければ、CFWのソースを理解しやすくなります。
IPL SDKが公開されているので、そちらもダウンロードしてみて下さい。
main.bin dumperやMulti Loaderなどのソースがあります。

Pre-IPLはROMに記録され、弄れません。
IPLは書き換え可能です。
IPLに細工することで、プログラムを書き換え任意のコードにジャンプ・実行させます。

1. main.bin loader ex
2. main.bin loader
3. main.bin ex
4. main.bin
5. payload ex
6. payload

という順序になります。パッチは1,3,5です。

・main.bin loader ex
 main.bin loader 実行後にmain.bin exを実行するようにパッチする。
 6.xx以降のmain.bin loaderによるCFW対策はここで潰す。

・main.bin loader
 main.binの解凍・復号化をしたあと、main.bin exを読み込み実行する。

・main.bin ex
 main.bin 実行後にpayload exを実行するようにパッチする。
 パッチ後にmain.binエントリーアドレスへジャンプ・実行する。
 ※main.bin dumperはこのタイミングでダンプしている。

・main.bin
 ハードウェアの初期化、モジュールの復号化を行い、ファームウェア実行準備を整える。
 その後、payload exが実行される。
 ※復号鍵の一部を含むらしい

・payload ex
 payload実行時に、CFWモジュールを読み込むようにパッチする。
 同時に非正規prxを読み込めるように細工する。
 payload実行

・payload
 pspbtcnf.binや主要なモジュールの読み込みが行われます。
 プラグインはCFWモジュールによって読み込まれます。

このようにCFWのモジュールは仕込まれる訳です。

FW起動後はVSHモードと呼ばれ、XMB、ブラウザなどが動くモードです。
ゲーム起動時はGAMEモードと呼ばれます。
Homebrewやゲーム、アップデータなどがこのモードで動作します。

このモード切替を行うプログラムがreboot.binです。
切り替えるモードで使用するモジュールの読み込み・実行をする。
この時CFWモジュールが読み込まれないと、ただのFWに戻ってしまうので、reboot.binに細工する必要があります。
起動時にCFWモジュールがreboot.binの読み込み処理にパッチをしreboot exを読み込むように書き換えます。
reboot exではreboot.binがCFWモジュールを読み込むようにパッチし、reboo.binを実行します。

1. CFWモジュールがreboot.bin読み込み実行処理を書き換え、reboot exが実行されるようになる。
2. モード切替、reboot exが実行される。
3. reboot ex は reboot.binをメモリーに読み込み、パッチする。
4. reboot ex から reboot.bin のエントリーアドレスにジャンプ
5. モード切替、CFWモジュールのロード


次にHENの場合を説明します。
HENはIPLの書き換えを行わず、kexploit(カーネルエクスプロイト)を利用して、reboot.binに細工。
モジュールの読み込みをするものです。

1. VSH/GAMEモードにてkexploitを実行する。
2. reboot ex を読み込み、実行するように書き換える。
3. reboot ex が reboot.bin を書き換えHENのモジュールが読み込まれるようになる。
4. reboot ex から reboot.bin が実行され、HENのモジュールが読み込まれます。
5. HENのモジュールは reboot.bin 読み込み・実行処理の書き換えを行い、以降 reboot ex が実行されるようになる。

一度kexploitでモジュールが読み込まれると、以降はreboot exを起点にループするようになります。
これが電源を切ると、再度kexploitの実行が必要になる理由なのです。


説明ヘタッピで申し訳ない。
これらの情報はJ416氏より教えていただきました。ありがとうございます。
スポンサーサイト
Comment
にゃーん♪
Da1U356s
にゃんにゃん♪
ご主人たまと遊びたいにゃん♪
いっぱい、えちぃ事、しませんかぁ???♪
http://3b6Qy34L.a.ujjz.org/3b6Qy34L/
承認待ちコメント
このコメントは管理者の承認待ちです
Trackback
Trackback URL
Comment Form
管理者にだけ表示を許可する
Twitter...A

estuibal=Y.K < > Reload

検索フォーム
RSSリンクの表示
リンク
QRコード
QR
ブロとも申請フォーム
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。