改造コードの活用例
活用例目次
●演算結果を対象アドレスとする場合●サーチ結果を使って環境依存型変動アドレスに対処する場合
●多重ポインタが指すアドレスでダンプ表示ウィンドウの表示アドレスを変更する場合
●プレイステーションのエミュレータ「ePSXe」用のPARコードについて
●DLLモジュールに属するアドレスの書き換えについて
演算結果を対象アドレスとする場合
500000-04000000 500000-0F* 500000-450000+ *500000>100<ParasiteCode.dat →アドレス500000はプロセスメモリ上の未使用領域 |
サーチ結果を使って環境依存型変動アドレスに対処する場合
;アドレス403FFCにHPサーチ結果のHP格納アドレスをリトルエンディアン方式で入力 403FFC- *403FFC>00-E703E703 *403FFC>10-24o *403FFC>1C>20-FF →アドレス403FFCはプロセスメモリ上の未使用領域 |
多重ポインタが指すアドレスでダンプ表示ウィンドウの表示アドレスを変更する場合
多重ポインタが最終的に指すアドレスで、ダンプ表示ウィンドウでの表示アドレスを変更したい場合は、多重ポインタに対応した改造コードを「*402100>0100/00/0B00/0264-00+」というように、ゼロ加算の算術演算型改造コードにして実行すれば、ダンプ表示ウィンドウでの表示アドレス変更のみを行います。また、同梱プラグイン「Address Calculator」を使用することで、多重ポインタを展開しながら、同様にダンプ表示アドレスを変更可能です。 |
プレイステーションのエミュレータ「ePSXe」用のPARコードについて
当ソフトウェア用改造コードとの変換については、以下のコードを参考にして下さい。また、他のエミュレータでもポインタ型コードで同様に対処できるケースがあると考えられますので、試行されることをお奨めします。なお、ベースアドレスのサーチ結果をポインタのアドレスに設定することで簡単に対処可能なケースも考えられます。また、このようなパラメータが格納されたメモリエリア(リージョン)の検索には、リージョン検索が使用可能です。リージョン検索結果のアドレスを格納しているアドレス(プログラムが使用するポインタ)が見つかれば、そのアドレスをポインタにすることで、改造コードでの対処が容易になります。 |
DLLモジュールに属するアドレスの書き換えについて
この場合は、デバッガで解析対象が当該DLLをロードしてそのDLL内の関数アドレスを取得するルーチンを把握し、その関数アドレスを格納した変数をポインタとしてポインタ型改造コードで対処して下さい。もしもこの変数がグローバルでない場合は、パラサイトルーチンを書き込んでプロセスメモリ上の未使用領域に取得された関数アドレスをコピーした上で、そのコピー先をポインタにしてポインタ型改造コードを使用して下さい。 このアプローチにあたり、DLL(ダイナミックリンクライブラリ)、LoadLibrary関数及びGetProcAddress関数についてWindows SDK等の資料に目を通されることをお奨めします。 また、当ソフトウェアのメニューから[移動]→[表示アドレスを指定]でモジュールリストが表示されるので、目的のDLLモジュールの先頭アドレスをプロセスメモリ上の未使用領域にリトルエンディアン方式で書き込んでポインタを作成してから、ポインタ型改造コードで対処する方法もあります。 |