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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ из символьного массива в строковый, конкатенация http://www.cyberforum.ru/cpp-beginners/thread805321.html
Помогите, пожалуйста! Нужно создать строковый массив, элементами которого будут являться все двубуквенные комбинации английского алфавита. Чтобы каждый элемент имел индекс, свой порядковый номер. char a={'a','b', 'c', 'd', .. , 'z'}; char* c; int k=0; for(i=0; i<26; i++) { for(j=0; j<26; j++) {
C++ Подскажите, пожалуйста, ошибки в программе, которая переводит арифметические выражения в postfix notation используя Stack Помогите, пожалуйста, программа, которая переводит арифметические выражения в postfix notation используя Stack. Программа должна: - читать каждую линию отдельно из файла и проводить расчёт значения; - выводить это линию и результат на экран; - использовать шаблон - класс Stack; - читать файл как character arrays или into Strings. Основные проблемы с описанием ввода данных через файл,... http://www.cyberforum.ru/cpp-beginners/thread805284.html
Квадрат наибольшего периметра C++
Вот эту задачу не могу реализовать. Задано множество (n) точек на плоскости, Выбрать из них 4 разные точки, которые являются вершинами квадрата наибольшего периметра.Координаты каждой из точек вводятся с клавиатуры. Добавлено через 12 минут Задача для С++. Добавлено через 39 минут Алгоритм по-моему очевиден: 1)Задается функция определения расстояния между двумя точками, Определяется...
Очередь, элементы которой занимают по 12 кБ C++
помогите плиз Разработать программу, которая демонстрирует управление структурами данных типа «очередь», элементы которого занимают 12 кб. Операции, выполняемые над очередью:  проверить, очередь пуста/не пуста;  добавить элемент в хвост очереди;  удалить элемент из головы очереди;  просмотреть голову очереди; вроде все сделала но кк с памятью не поняла с помощью Alloca надо сделать
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
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
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 грохается, но при этом когда переходит обращение к ядру - ядро винды вынимает из стека твой адрес на твой код и исполняет, считая что это адрес какой-то системной функции (это я грубо описал, более детально в этой статье)

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