Home > PSP memo Archive

PSP memo Archive

スポンサーサイト

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

PMEtanでプログラムサーチ?

  • Author : もっきゅもきゅ
  • 2012-02-07 (Tue)
  • PSP memo
コメントへの回答です。
R4000アセンブラをある程度理解しているのが前提です。


Continue reading

  • Comments (Close): -
  • TrackBack (Close): -

PSP用MIPS資料URL

  • Author : もっきゅもきゅ
  • 2012-01-02 (Mon)
  • PSP memo
「MIPS R4000」「psplink」という検索キーワードが以前より増えてるので書いてみた。
PS Vitaが出ましたけど、まだまだPSPですよね、ええ。

ファルコムの軌跡の次回作もPSPですし、しばらくは現役ですよね。


Continue reading

  • Comments (Close): -
  • TrackBack (Close): -

FINAL FANTASY 零式 - ショップアイテム全開コードの作り方 後編

  • Author : もっきゅもきゅ
  • 2011-12-30 (Fri)
  • PSP memo
前編の続き。
テキストメインなので読みづらさ炸裂(©センチメンタルグラフィティ)。
読みたい人だけ読んでくだちぃ。

psplinkが使えて、MIPSアセンブラが読めるのが大前提。



Continue reading

  • Comments (Close): -
  • TrackBack (Close): -

FINAL FANTASY 零式 - ショップアイテム全開コードの作り方 前編

  • Author : もっきゅもきゅ
  • 2011-12-29 (Thu)
  • PSP memo
FF零式のショップ全開コードを作って欲しい、
もしくは作り方を教えて欲しいという拍手コメントが
あったので書いてみる。
うちで聞くより、もっと解析力の高い人に聞いた方が
いいんじゃないかと思いますが…


PSP環境だとPMEtanという超強力なツールがあり
PMEtanのテーブルサーチを使えば比較的簡単に作れる。

このテーブルサーチが無い環境の場合は、購入した時に
アイテムスロットに書き出すところから延々と遡るか
品揃えを変化させたセーブデータを作って
アイテムが変化した場所をサーチするか
メモリダンプしてバイナリエディタで比較するなど
多少面倒な手順を踏む必要がある。
PMEtanは偉大だわ。


FC2拍手はFC2ブログアカウントを保持していないと
拍手出来ない上、FC2拍手コメントはFC2ブログ管理者以外は
見ることが不可能な意味不明仕様。なんでだ。



■用意する物

MIPSアセンブラの知識
PMEtan v1.47
ps2dis
psplink改


Continue reading

  • Comments (Close): -
  • TrackBack (Close): -

多重変動(多重ポインター)アドレスサーチ - PointerSachiko

  • Author : もっきゅもきゅ
  • 2011-10-11 (Tue)
  • PSP memo

PointerSachiko
PMEtanの作者さんによる多重ポインターサーチツール。

リリースされた時は他のゲームで遊んでおり、そのゲームでは
変動アドレスが必要なかった為、テストしませんでしたが
その後、いくつかのゲームでテストしてみると、
多重に対応し、今までのツールに無い速度で検索してくれる上に、
検索結果も見やすく、PMEtan向けにコードが自動生成されるなど
かゆいところに手が届くツールでした。

Continue reading

PSVita ARM® Cortex™-A9 core

  • Author : もっきゅもきゅ
  • 2011-08-22 (Mon)
  • PSP memo

ARM系のCPUはゲーム機だとGBAやDSに使われているとか。
ほかにメジャーなところでは携帯電話、iPhone、iPad。
マイナーなところだと3DOらしいw

ARMのアセンブラなんて触ったことがないわ、と思っていたら
どうやら6502(正しくはRP2A03。ファミコンで採用)が祖先らしい。
ということはSFCの65816やPC-Engineの6280の祖先でもあるのか。

SFCなら触ったことあったな。もうすっかり忘れたけど。



ARMアーキテクチャ - Wikipedia

・伝統的なRISCのコンセプトに則り、明確な周期内に、
 概して1サイクルで実行できるようコマンドを調整している。
・全てのインストラクションを条件付きにすることができる。
・シフト演算を「データ処理」(算術演算、論理演算、レジスタ間の代入)
 インストラクションの中に織り込むことができる


特徴はこんなところか。
他には…
・wikipediaになぜか載っていないが、遅延スロットが無い。
・演算命令で演算結果をフラグに反映するか選択可能

シンプルなMIPSとだいぶ違う。
実際の命令を見ないとピンと来ない。
命令リファレンスはpdfで公式に置いてないのかな…
検索した限りではこれか?


ARM® コンパイラツールチェーン アセンブラの使用 バージョン 5.0


かなり気が早いが勉強しておこうかな。

Assembly Programming on ARM Linux




  • Comments (Close): -
  • TrackBack (Close): -

PMEtanのリスト付き書式がいいですよね (PMEtanはじめました)

  • Author : もっきゅもきゅ
  • 2011-04-19 (Tue)
  • PSP memo



普段はメインにTempARを、サブにCMFを併用しています。

最近は自分で作成したコードにID変更コードが増えてきたので
PMEtanに本格移行しようと浮気中です。

ID変更コードはPMEtanのリスト付き書式で記述すると
管理が楽になることは以前から分かっていたのですが
手持ちのコードをPMEtanの書式に書き直すのを面倒くさがって
PMEtanを敬遠していました。
コンバーターを使え、という突っ込みが入りそうですが
コード書式を先に理解せずにコンバーターを使うのは嫌なもので。
これを機会に乗り換えて使い込んでみようかなと思います。
使い込んでみないとPMEtanのポテンシャルや使い勝手が分かりませんしね。


PMEtanに浮気したポイントを書く前に
TempARとCMFについても自分が使った範囲での感想を書いておきます。


TempARの場合…
・サーチ演算子+数値指定がCMFと同じレベルで充実している
・サーチ速度が速いグループに入る
・BrowserとDecoderのアドレスを複数持てる
・Decoder表示がカラフル
 (最近はPSPLINKからしか見てないので使ってない)
・Browserでは少ないボタン操作で数値書き換えが出来る
・コピー機能が使いやすい
・コードリスト画面が見やすい
・Real Address表示が出来る
・ARコードが使いやすい (オフセット関係など)
・コードをテキストエディタで編集し、_C0行だけ書いて_L行を省略することで
 色付き区切り線として活用できる


CMFの場合…
・サーチ演算子+数値指定が充実している
・サーチ速度が超高速
・USB接続が出来る
・複数行コードの形式が他と違う
・メモリ表示ではカーソル位置の数値を1/2/4byte表示と16/10進数表示出来る
・『コード表』では1ボタンで操作出来るように設計されている
・コードリスト画面で○を押すとコード名表示が短くなるが
 アドレスと値を一覧表示出来る(これが地味に便利)


PMEtanの場合…
・サーチ速度が超高速 (CMFよりほんの少し遅い程度でTempARよりかなり速い)
・他には無いテーブルサーチが使用可能
・他には無いワイルドカードが使用可能 (プログラムサーチ用)
・○byteSkipモードを使わない場合、アライメントを乗り越えてサーチ出来る
 ↓の場合02030405がサーチ出来る。
 0x88000000 00010203 04050607
・リスト付きコード書式でアイテム等の変更コードがコンパクトに出来る
・コード書式が特殊かつ、コードタイプ/フラグ/アドレス/数値が分離している為
 1行が長いが、慣れると使いやすい。コンバーターもあるのでCWCからの変換も用意。
・MemEditでアドレスセットを4つ持てる
・MemEditで強調表示したい数値を4つ指定可能
・アドレス監視機能がある
・Real Address表示が出来る
・日本語表示が可能
・作者自身がコード作成しまくりんぐ


日本語表示が出来てサーチ速度も速くリスト機能が使いやすいPMEtanはもっと
評価されてもいいのではないかと思いますが、多くの人にとってのチートツールに
対する最大の関心事はサーチ機能やコード作成では無くネットに書かれている
CWCコードが簡単に使えるか否かだと思います。
依然として日本では知名度の高いCWCheatのシェアが高い状態が続きそうですね。



  • Comments (Close): -
  • TrackBack (Close): -

MIPSハンドアセンブル c.cond.fmt

  • Author : もっきゅもきゅ
  • 2011-04-15 (Fri)
  • PSP memo

『CWC カメラ サーチ』『PSP R4000』『c.le.s』みたいな
検索キーワードが多いので書いてみた。

サーチは32bitでZ座標を最初に割り出す。
X座標とY座標は通常、隣かすぐ近くのアドレスに配置されている。
なのでZ座標の傍のメモリを直接エディタで開いて確認すればいい。

浮動小数点(IEEE754)を少し知れば分かることだが、
最上位ビット1が立った時点で(0x80000000以降のこと)
符号がマイナスになる。
TempARでGreaterやLessを使う場合は注意が必要。
CMFには比較小数というサーチ方法が用意されている。
0x00000000 = +0.0
0x3F800000 = +1.0
0x40000000 = +2.0
0x50000000 = +8589934592.0
0x70000000 = +158456325028528680000000000000.0
0x80000000 = -0.0
0xBF800000 = -1.0
0XF0000000 = -158456325028528680000000000000.0




サーチだけで制限解除をどうにかしたいなら
最大値と最小値を割り出し、最小値と最大値が格納されている
アドレスを書き換える。
ゲームによっては数字が微妙に動き続ける場合があるので
そういう場合は難しいかも。
値は10進数に変換した際にキリの良い数字が
入っている場合が多いのでその辺は勘で。
最大値などが直接プログラムにしか書かれていない場合もあるので
そういう場合はサーチでは不可能。


後は解析するパターン。


Continue reading

  • Comments (Close): -
  • TrackBack (Close): -

PSPLINKバックトレース機能追加版

  • Author : もっきゅもきゅ
  • 2011-04-11 (Mon)
  • PSP memo

PSPLINKにバックトレース機能が無いよヽ(`Д´)ノウワァァァン
海外forumに探しに行ったらソースがあったので拾ってきました。
makeしようとしたらlibusbhostfs_driverが無いだのpthread.hが無いだの
文句をこねるのでpsp.jim.shから足りないファイルを拾ってきてmakeしました。

jalr rs,rtやbeq zero,zero $addrなどのジャンプや分岐連打で
プチ隠蔽されても遡るのが楽になります。↓こんな感じ



Download : PSPLINKバックトレース機能追加版 psplink.prx
what's this : PSPLINK + add BackTrace Function
command : backtrace
synonym : bt
function : backtrace
option : none
usage : hit "backtrace" while break by bpset
notes1 : replaced bt command (synonym for bpprint)
notes2 : not implement bpset read/write function

コマンドはbacktraceです。
エイリアスとしてbtが使えます。
btは本来、bpprintのエイリアス(別名、短縮名に使われる)ですが、
bpprintの意味としては使用不可能になります。
bpprintを使いたい場合は、btではなくbpprintを使用してください。

使い方は、bpsetでプログラム部分にブレークさせたら
backtrace(もしくはbt)と打つだけです。

ファイルはpsplink.prxのみです。
通常のpsplink.prxと入れ替えるか、psplink_bt.prxなど
分かりやすい名前にリネームして使ってください。
なお、bpsetにはw/rの機能がありません。




  • Comments (Close): -
  • TrackBack (Close): -

PSPLINK 3.0 OE

  • Author : もっきゅもきゅ
  • 2011-04-06 (Wed)
  • PSP memo

The 3rd Birthdayを、PSP-3000+6.20 HEN TN-D上で、aLoader 1.25か
Prometheus ISO Loader v2を経由して動かし、PSPLINK3.0改を起動して
bpset→bpdis→step→exresumeすると30%くらいの確率でエラーが発生。
エラーの種類はFPU EXCEPTION (IUV)か (V)のどちらか。
発生する命令は決まっていて、c.le.s/c.lt.s/c.eq.s/add.s/sub.s/div.s/mul.s
の命令行でNAN。
PSPLINK3.0(forum.ps2dev.orgで拾ったやつ)だとFPU EXCEPTION (Z)が発生。
命令のパターンは変わらず。

6.35 PRO B-3に変更し内蔵M-33 Driverで起動したら状況に少しは
変化が出るかと期待したが結果は同じだった。

Minimalist PSPSDK】から最新版のPSPLINK 3.0 OEを拾ってきて使ってみる。
ver表示は同じだがファイルはハッシュが違う。
同じFPUエラーは吐くものの発生率が遙かに低いようだ。(3~4%程度)
こちらでしばらく様子を見てみよう。
PSPLINK改のbpsetの機能は便利だが、エラーの発生率と天秤にかけると
常用にする気にはなれない。必要なときだけ使うことにしよう。


6.35 PRO B-3に変更したら、6.20 TN-Dでは起動エラーが発生していたDL版PE2が
普通に起動してOPが始まったことにちょっと嬉しくなった。


  • Comments (Close): -
  • TrackBack (Close): -

PSPLink 簡易コマンド表 rev 7

  • Author : もっきゅもきゅ
  • 2011-04-03 (Sun)
  • PSP memo

03/21 初稿
04/01 ショートカットキーと演算子を追加。その他加筆修正。
04/02 calcとスクリプトサンプルを追加。その他加筆修正。
04/03 スクリプト修正。exresumeについて追加。
04/03 スクリプト4ヶ追加。コマンド echo chdir ls cp rm iena irel 追加。
04/07 コマンド並べ替え。cd、スクリプト文言修正。リンク追加。
04/10 スクリプト1ヶ追加。
04/14 コマンド別名(Synonym)とバックトレース追加。

TempAR 1.59 の使い方 【後編】 rev 8 - God is in the details
にてPSPLinkを扱っていますがPSPLinkのreadme.txtだけだと
とっつきにくいと思われるので簡易的なコマンド表を作ってみました。
コマンドはゲーム解析で使用する主立ったものだけを抜き出しています。
半分は自分の備忘録的意味合いなのデス。

必要なファイルは上部のメニューのToolsか、ツール置き場からDL出来ます。






Continue reading

  • Comments (Close): -
  • TrackBack (Close): -

Home > PSP memo Archive

Return to page top

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