寒い夜には

こんな寒い日には、ちょっくらバッファオーバーフローの実験でもやってみたくなっちゃっ・・・
え、別にならないですか・・・そうですか・・・






というわけで、寒いのでこたつでみかんでも食いながらCygwin+gccでオーバーフロっちゃいましょう。(一応僕自身の覚書なので軽く受け流すように!!!!!!1111)


課題1【戻り値のアドレスを上書きしちゃえ編】
メモリ割り当て違反によるスタック領域の上書きで、へんな関数を実行しちゃおう

/* へんな関数 */
void hoge()
{
printf("うひょー");
exit(-1);
}

/* 上書きする */
void stk()
{
int a[20];
int i;

for( i = 0; i < 100; i++ ) {
a[i] = (int)hoge;
}

}

/* メイン */
int main()
{

stk();

return 0;
}



実行結果

$ ./test
うひょー