タイトルによれば、これはどのように行われますか?オペコードの先頭に1バイトを追加すると、1バイトのメモリ内のアドレスがプッシュされます。実行に影響を与えずにPEにバイトを追加する
元:
0x1 mov ecx, 10
0x2 mov eax, 1
0x3 inc eac
0x4 cmp eax
0x5 jl 0x3
追加バイト:
0x1 NOP
0x2 mov ecx, 10
0x3 mov eax, 1
0x4 inc eac
0x5 cmp eax
0x6 jl 0x3
は、私は手動ですべてのJMPを設定しなければならない、などを呼び出すか、実行する他の方法があるあなたは質問を理解していけない場合それ?
プログラムで使用されているすべてのメモリアドレスを手作業で調べて、調整する必要があるかどうかを確認する必要があります。重要ではないプログラムでは、修正する必要のあるアドレスがどこにでも存在できるため、これは実用的ではありません。また、リストされている指示のほとんどが1バイト以上の長さであることに注意してください。 –
これは正確な複製ではないかもしれません。私が選んだdupターゲットは、新しいコードを追加する方法(新しいセクションに入れて既存のinsnをjmpに置き換える方法)ですが、Jean-Françoisの答えは他の手法を指摘しています。 –