を含む値を持つローカル変数を上書きし、私はこのコードを含む関数の戻りアドレスを上書きする方法を把握しようとしています:リターンアドレスよりスタックバッファオーバーフローの方法をヌル文字
長=ターゲット・サイズよりも大きいが、小さいですターゲット配列の先頭からオフセットします。
for (i = 0; i <= length; i++)
target[i] = argument[i];
引数は入力から受け入れます。
ローカル変数lengthは、iとlengthを上書きするために引数をオーバーフローできるほど大きくなっています。
ターゲットの開始アドレスからの戻りアドレスのオフセットと仮定レッツは、私は300
よりも、いくつかの数も大きくなるように300(0x12c)とlength
よりも、いくつかの数も小さくなるように
i
を上書きする必要がある300
です
これは32ビットシステムなので、0x0000012c整数にはヌル文字が含まれているため、引数を渡すことはできません。
この場合、リターンアドレスを上書きする方法はありますか?