内気なもんた君

時々日本語化してます

文字列の参照アドレスの変更方法

文字列の参照アドレスの変更方法

バイナリエディタで日本語化しているときにスペースが足りなくなる時が稀にあります。

ちょうどよいサンプルが見つかったのでProcessExplorerを例に説明します。

ユーザーは正しく日本語化するのであれば、ユーザー(&U) としなければなりません。

しかしながらアクセスキーの4文字(&U)を追加すると後ろの領域と重なってしまい追加できません。

幸いなことに前には使用されていないスペースがたくさんあります。

今回の場合は1文字分だけ前にズラして後ろとのスペースを作ります。

 

- = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = -

* x64dbg での編集

x64dbg を起動して procexp64.exe を開き、ユーザーを検索します。

見つかったユーザーをダブルクリックするとニーモニックの画面が出ます。

7FF624A871C0 をダブルクリックしてダンプ画面を見てください。

ASCII エリアを見るとここで間違いないことがわかります。

 

今回は1文字分だけ前にズラすので参照しているアドレスを変更しなければなりません。

lea rcx,qword ptr ds:[7FF624A871C0]

7FF624A871C0 を1文字分前のアドレスに変更します。

右クリックで、「アセンブル」を開きます。

1文字分(2バイト)前なので、アドレスは 7FF624A871BE になります。

OK をクリックすると次の命令が出ますが閉じてください。

 

アドレスを変更したらパッチファイルを保存します。

右クリックでパッチを開きます。

パッチファイルをクリックしてパッチされたファイルを保存します。

 

デバッガでの作業はこれで終了。

- = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = - = -

バイナリエディタでの編集

アドレスを変更したので1文字分前から書き込みます。

バイナリエディタでパッチ済みのファイルを開き編集します。

 

保存して実行してみると

きちんと表示されてますね^^