Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Простой эксплоит переполнения буфера не работает( - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ из символьного массива в строковый, конкатенация http://www.cyberforum.ru/cpp-beginners/thread805321.html
Помогите, пожалуйста! Нужно создать строковый массив, элементами которого будут являться все двубуквенные комбинации английского алфавита. Чтобы каждый элемент имел индекс, свой порядковый номер. ...
C++ Подскажите, пожалуйста, ошибки в программе, которая переводит арифметические выражения в postfix notation используя Stack Помогите, пожалуйста, программа, которая переводит арифметические выражения в postfix notation используя Stack. Программа должна: - читать каждую линию отдельно из файла и проводить расчёт... http://www.cyberforum.ru/cpp-beginners/thread805284.html
Квадрат наибольшего периметра C++
Вот эту задачу не могу реализовать. Задано множество (n) точек на плоскости, Выбрать из них 4 разные точки, которые являются вершинами квадрата наибольшего периметра.Координаты каждой из точек...
Очередь, элементы которой занимают по 12 кБ C++
помогите плиз Разработать программу, которая демонстрирует управление структурами данных типа «очередь», элементы которого занимают 12 кб. Операции, выполняемые над очередью:  проверить, очередь...
C++ Не могу понять, что означает данная операция с указателями http://www.cyberforum.ru/cpp-beginners/thread805273.html
вот такой код #include <iostream> #include <conio.h> using namespace std; int rrr2 (int **p) {return ((**p-1)***p);}; void main ()
C++ Шаблоны и наследование Есть код с учебника: #include <iostream> #include <typeinfo> #include <cstdlib> #include <ctime> template <class T> class figure { protected: подробнее

Показать сообщение отдельно
abit
262 / 261 / 33
Регистрация: 03.02.2013
Сообщений: 722
13.04.2013, 04:36
Цитата Сообщение от ssXXss Посмотреть сообщение
Capricorn а какая ось?
а там без разницы ось - происходит переполнение буфера и всё тут, так вот программа написанна, почему вас не смущает когда обычные...

штуки подобного плана
C++
1
2
3
4
5
6
7
#include <stdio.h> 
#include <string.h> 
int main(int argc, char* argv[]) { 
 char y[32]; 
 strcpy(y, argv[1]); 
 return (0); 
}
переполняют буфер и грохаются?

единственное отличие в винде (они пишут про Win32) дальше в kernel32.dll (то что у них указан адрес 0x7c8369d8) можно впарить любой код на исполнение, а как бы в linux туда уже ничего не встроишь, а просто грохнешь программу....

тут история такая же

здесь
C++
1
char buffer[32];
выделяется буфер на 32 элемента
а здесь в него же пишется
C++
1
for (i = 0; i < arrlen; i++) buffer[i] = array[i];
обратите внимание arrlen = 47 аргументов

это должно грохнуться на любой операционке, и в WinXP грохается, но при этом когда переходит обращение к ядру - ядро винды вынимает из стека твой адрес на твой код и исполняет, считая что это адрес какой-то системной функции (это я грубо описал, более детально в этой статье)

в любом случае вне зависимости от операционок - этот код грохнется, что тут такого то?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru