だから私はバッファオーバーフローとスタックスマッシングに関するAlephOneの記事について読んでいます。彼のエクスプロイトコードのこの少しを除いて、私はすべてを理解していると思います:
ptr = buff;
addr_ptr = (long *) ptr;
for (i = 0; i < bsize; i+=4)
*(addr_ptr++) = addr;
buffとptrはchar配列です。addrは、スタックの開始時にメモリ内の場所を指すスタックポインタを保持します。bsizeはバフのサイズです。何してるの?なぜ彼はi+= 4と言っているのですか?彼はaddr_ptrを何に等しく設定しているのですか、そしてその理由は何ですか?印刷しようとすると、NULLになります。
記事へのリンクは次のとおりです:http://insecure.org/stf/smashstack.html
ありがとう。