Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 06.06.2013
Сообщений: 50
1

Stack Overflow, перегруз буфера

23.09.2016, 14:40. Просмотров 438. Ответов 9
Метки нет (Все метки)

Добрый день, знаком с перегрузом буфера в теории, хотел бы перейти к практике.
Написал простенькую программу,
C++
1
2
3
4
5
6
7
int main(int argc)
{
    char buf[8];
    strcpy(buf, "AAAAAAAAAAAAAAAAAAAAA");
    return 0;
}
#end
В которой присутствует перегруз буфера, вообщем теперь интересует вопрос, подскажите пожалуйста среду, через которую можно отследить поведение с памятью (дебагер), потому что теперь меня интересует как выполнить шелл код.

Если у кого то есть примеры переполнения буфера для новичков, для с++, поделитесь пожалуйста, спасибо всем)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.09.2016, 14:40
Ответы с готовыми решениями:

Stack overflow.
У меня в программе есть реверсивная функция (много параметров) она вызывает себя очень много раз....

Stack overflow
Написал #include "stdafx.h" #include <iostream> using namespace std; #include <math.h> #include...

stack overflow
Всем привет. пишу void test() { try { cout << "test \n"; test(); } catch(exception...

Stack overflow
Реализовал структуру данных стек на связном списке, очистку решил возложить на деструкторы узлов,...

9
537 / 345 / 206
Регистрация: 27.11.2014
Сообщений: 1,043
23.09.2016, 15:36 2
vs2013
1
Миниатюры
Stack Overflow, перегруз буфера  
0 / 0 / 0
Регистрация: 06.06.2013
Сообщений: 50
23.09.2016, 15:50  [ТС] 3
Спасибо вам огромное, возьму на заметку, только не подскажите как включить тот режим в VS ? Точки остановки ?

И еще сразу же несколько вопросов:
1) Может быть вы сможете продемонстрировать на практике ( в видео или картинках ), перегруз буфера, затем выполнение шелл кода, как это правильно сделать, спасибо.
2) Почему после компиляции моего кода в VS 2015, появляется такая ошибка ?
0
Миниатюры
Stack Overflow, перегруз буфера  
537 / 345 / 206
Регистрация: 27.11.2014
Сообщений: 1,043
23.09.2016, 15:57 4
bojo3,
1)Запускаешь отладку и встаешь на точке останова
2)Далеше меню: Отладка/Окна/Память/Память 1

Узнаешь адрес переменной и забиваешь его в окно с памятью.
Там же пункт меню дизассемблированный код (это если совсем хочешь все в деталях подебажить).
1
0 / 0 / 0
Регистрация: 06.06.2013
Сообщений: 50
23.09.2016, 16:00  [ТС] 5
Еще раз спасибо вам )) Всё детально обьяснили )
А по 2-м следующим ответам, что скажите, поможете ?)
0
Эксперт С++
4964 / 3070 / 456
Регистрация: 10.11.2010
Сообщений: 11,159
Записей в блоге: 10
23.09.2016, 16:02 6
C++
1
int main( int argc )
Интересная конструкция...
0
537 / 345 / 206
Регистрация: 27.11.2014
Сообщений: 1,043
23.09.2016, 16:03 7
bojo3, в vs2015 у меня запускается без нареканий
C++
1
2
3
4
5
6
7
8
9
#define _CRT_SECURE_NO_WARNINGS
 
#include <cstring>
 
int main() {
    char buf[8];
    std::strcpy(buf, "AAAAAAAAAAAAAAAAAAAAA");
    return 0;
}
0
Миниатюры
Stack Overflow, перегруз буфера  
537 / 345 / 206
Регистрация: 27.11.2014
Сообщений: 1,043
23.09.2016, 16:05 8
Цитата Сообщение от castaway Посмотреть сообщение
int argc
castaway, vs 2015-й побарабану
0
Эксперт С++
4964 / 3070 / 456
Регистрация: 10.11.2010
Сообщений: 11,159
Записей в блоге: 10
23.09.2016, 16:07 9
ture, GCC хотя бы предупреждает.
Bash
1
2
3
main.cpp:3:5: warning: 'int main(int)' takes only zero or two arguments [-Wmain]
 int main( int argc )
     ^~~~
0
0 / 0 / 0
Регистрация: 06.06.2013
Сообщений: 50
23.09.2016, 16:14  [ТС] 10
Извините, но сможет кто ни будь дать материал практический, по перегрузу стека и выполнению шелл кода ( включение калькулятора), или что то похожее. Спасибо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.09.2016, 16:14

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Непонятный Stack Overflow
Здравствуйте, уважаемые форумчане.Столкнулся с непонятной мне проблемой при решении одной лёгкой...

Переполнение (Stack overflow)
Подскажите, пожалуйста, почему при перемещении int n, a, k; в локальную область программа при...

Почему stack overflow?
Почему приведенный ниже код сразу же приводит к переполнению стека? int _tmain(int argc,...

Разобраться с рекурсией: stack overflow
#include&lt;iostream&gt; #include&lt;vector&gt; #include&lt;string&gt; #include&lt;math.h&gt; #include&lt;cmath&gt;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.