Я пытаюсь запустить пример переполнения буфера для запуска некоторого кода, но проблема в том, что когда я пытаюсь запустить код только для того, чтобы получить переполнение буфера, Windows выдает сообщение о том, что «Программа перестала работать, Windows проверка решения для программы. Поэтому, когда я пытаюсь убедиться, что он просто переполнен на один байт. Программа просто запускается, но не приостанавливает командное окно, чтобы я мог видеть адрес ошибки ошибки сегментации. Насколько я понимаю, мне нужно было бы изменить его и заставить запускать желаемое окно в качестве переданного параметра. Вот простая программа.
#define BUF_LEN 5
int main(int argc, char **argv)
{
char buf[BUF_LEN];
if (argc > 1)
{
strcpy(buf, argv[1]);
}
return 0;
printf(buf);
system("pause");
}