0

この脆弱な C コードを実行しようとしています。

#include <stdio.h>
#include <stdlib.h>

int add(int x, int y)
{
 int z =10;
 z = x + y;
 return z;
}

main(int argc, char **argv)
{
 int a = atoi(argv[1]);
 int b = atoi(argv[2]);
 int c;

 char buffer[100];

 gets(buffer);
 puts(buffer);

 c = add(a,b);

 printf("Sum of %d+%d = %d\n",a, b, c);

 exit(0);
}

整数を入力できるようにセグメンテーション違反を回避しようとしていますが、セグメンテーション違反がそれを妨げています。私が試した端末で: gcc -ggdb -fno-stack-protector -U_FORTIFY_SOURCE -Wa,--execstack -o SimpleDemo SimpleDemo.c

まだセグメンテーション違反が発生します。次に何をしようか迷っています。おそらくおわかりのように、私はubuntu初心者です。私が使用しているbashコードはここから来ています:

http://www.evanjones.ca/buffer-overflow-101.html

私はしばらくこれに携わってきたので、本当に助けていただければ幸いです

乾杯

4

1 に答える 1

1

hmjd が何を求めているかを説明するだけです。

実行 (バイナリ) 10 20

于 2012-06-26T18:58:25.977 に答える