OllyDbgを使用してアプリケーションを修正していますが、アセンブリ言語が新しくなっています。メモリアドレスにMD5ハッシュを置く必要があります。 EAX
にあります。どうしたらいいですか?OllyDbgでメモリアドレスにHASHバイトを入れる方法
私は挿入する必要がハッシュはdba2d8bf7063faf1275e693661bc9651
です。私は次の方法で試しました:
MOV DWORD PTR DS:[EAX],32616264
MOV DWORD PTR DS:[EAX+4],66623864
MOV DWORD PTR DS:[EAX+8],33363037
MOV DWORD PTR DS:[EAX+12],31666166
MOV DWORD PTR DS:[EAX+16],65353732
MOV DWORD PTR DS:[EAX+20],36333936
MOV DWORD PTR DS:[EAX+24],63623136
MOV DWORD PTR DS:[EAX+28],31353639
私の意見では非常に長く非常に非効率です。
012B2C60
は、ハッシュアドレスである
MOV DWORD PTR DS:[EAX], 012B2C60
:私はまた別のアドレスでのハッシュを保存すると、私はMOV
命令でそれを必要とするが、私はそれを動作させることができない場所に移動しようとしています。
もう一つの問題は、プログラムを開始するときに黄色の下線付きバイトが変更されていることです(私はそれらが動的アドレスでなければならないと思います)ので、そのアドレスに書き込む内容はプログラムの開始時に変更されますこれは起こっているからですか?
ありがとう、はい、それはASCII表現です。私はXMMレジストリを使用してバイトを移動することを選択しました。この方法で、2つのコマンドだけで32バイトを移動できます。しかし、私はまだ最初の出版物で言及したアドレスの問題を抱えています。 – Manuel23
@ Manuel23:4命令:2ロード/ 2ストア。 (そして、あなたが望む言葉は、["registry"](http://www.dictionary.com/browse/registry)ではなく) "registers"です。 –
@ Manuel23:私はあなたがどのような問題を持っているのか分かりません。 '[eax]'と '[eax + 16]'のアドレッシングモードで保存できるように 'movdqu xmm0、[012B2C60]'や '[012B2C60 + 16]'がロードされ、 'eax'にアドレスがあります。 –