wololo.netで、Acid_Snake氏がPSPのexploitを利用したバイナリーローダーソースの書き方ビデオチュートリアルを公開していました。
このビデオチュートリアルはあくまでもバイナリーローダー作成についてのもので、exploitの見つけ方、つまり$raレジスタのコントロール(またはそれに類する方法)まではできていることが前提です。
実際の日本語チュートリアルはここにあります。
Acid_Snake氏は丁寧にテキストで説明しながらビデオを作成してくれていますが、英語が苦手な方にはあまり意味がないのが実際のところです。機械翻訳使えませんし。
私の日本語チュートリアルだけでも理解できると思いますので英語が苦手だと言う方はビデオは参考程度に眺めてみて下さい。
今は楽できるスクリプトなどが存在したりするので書き直したいところですが、そんな時間なかったりしますorz
exploit探しやバイナリーローダー作成時にチュートリアル見ても解決できない問題が存在する場合があります。私の経験上それは
1) $raではないレジスタでのlwによるアドレス取得による任意のアドレスへのジャンプ命令を利用するexploitの場合(単に面倒なだけです)
2) EBOOTから関数リストをうまく取り出せない場合
3) 関数リストに必要な関数が見当たらない場合
4) メモリに読み込まれるセーブデータの格納アドレスが変動する場合
5) 発動条件が整った時以外は単なるクラッシュになる場合
1)から3)に関しては力ずくで何とかなるでしょう。
それ以外はPSPLinkで調べて行くことになりますが、チュートリアル見ただけで簡単に実現できるレベルではないこともありますので、exploit探してみたいけれど詳しいことはあまり分からないと言う場合はチュートリアルに沿ってやってみてうまく行かないと気が付いた時点で他のゲームで探した方が得策だと思います。
httpv://www.youtube.com/watch?v=wJ-jvzBXoD8
私がGravity Crashのバイナリローダーが公開される前にバイナリローダーを自作しようとしたときも苦労しました。
何故かコードが途中から動かなかったのです。
なんとか試行錯誤してnopを使って解決しました。
こういうこともあるのでチュートリアルを見ただけでできるとも限らないと思います。