Russian Qt Forum
Ноябрь 23, 2024, 17:56
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Программирование
>
С/C++
>
указатели или сами объекты...
Страниц:
1
[
2
]
3
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: указатели или сами объекты... (Прочитано 14014 раз)
mutineer
Гость
Re: указатели или сами объекты...
«
Ответ #15 :
Февраль 29, 2012, 12:09 »
Цитата: Igors от Февраль 29, 2012, 11:23
Цитата: Disa от Февраль 29, 2012, 08:53
а методы копировать не требуется. Нет?
Прошу показать каким образом можно скопировать метод (ну хотя бы один)
Ctrl+C / Ctrl+V же
Записан
Tonal
Гость
Re: указатели или сами объекты...
«
Ответ #16 :
Февраль 29, 2012, 13:50 »
Побитовое копирование реализуется битовыми операциями довольно просто, но нудно. Да и в большинстве случаев оно не нужно.
А скопировать метод вполне можно, если архитектура машины
Фон Неймоновская
(для большинства современных это ещё так).
В этом случае код размещается в той же памяти что и данные. Значит для того, чтобы скопировать метод нужно узнать где он лежит в памяти и его размер.
Где лежит узнать элементарно - в С/С++ взятие адреса функции штатная операция.
А вот размер в общем случае не получишь. Можно только разными компиляторозависимыми хаками. Но почти в каждом конкретном случае какой-то путь можно найти.
Записан
mutineer
Гость
Re: указатели или сами объекты...
«
Ответ #17 :
Февраль 29, 2012, 13:56 »
Цитата: Tonal от Февраль 29, 2012, 13:50
Побитовое копирование реализуется битовыми операциями довольно просто, но нудно. Да и в большинстве случаев оно не нужно.
А скопировать метод вполне можно, если архитектура машины
Фон Неймоновская
(для большинства современных это ещё так).
В этом случае код размещается в той же памяти что и данные. Значит для того, чтобы скопировать метод нужно узнать где он лежит в памяти и его размер.
Где лежит узнать элементарно - в С/С++ взятие адреса функции штатная операция.
А вот размер в общем случае не получишь. Можно только разными компиляторозависимыми хаками. Но почти в каждом конкретном случае какой-то путь можно найти.
А куда его копировать? Страницы, в которых лежит код, приложению для записи недоступны. А страницы с данными во всех современных операционках недоступны для выполнения. Да и за чтение из страниц кода операционка может по рукам надавать
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: указатели или сами объекты...
«
Ответ #18 :
Февраль 29, 2012, 14:17 »
Цитата: mutineer от Февраль 29, 2012, 13:56
А куда его копировать? Страницы, в которых лежит код, приложению для записи недоступны. А страницы с данными во всех современных операционках недоступны для выполнения. Да и за чтение из страниц кода операционка может по рукам надавать
Ну сразу и лапки кверху
А садами-огородами, напр через PrestoChangoSelector? (потом ее как-то по-другому назвали).
Записан
BRE
Гость
Re: указатели или сами объекты...
«
Ответ #19 :
Февраль 29, 2012, 16:32 »
Цитата: mutineer от Февраль 29, 2012, 13:56
А куда его копировать? Страницы, в которых лежит код, приложению для записи недоступны. А страницы с данными во всех современных операционках недоступны для выполнения. Да и за чтение из страниц кода операционка может по рукам надавать
Подумай, как выполняются эксплоиды.
Записан
mutineer
Гость
Re: указатели или сами объекты...
«
Ответ #20 :
Февраль 29, 2012, 17:12 »
Цитата: BRE от Февраль 29, 2012, 16:32
Цитата: mutineer от Февраль 29, 2012, 13:56
А куда его копировать? Страницы, в которых лежит код, приложению для записи недоступны. А страницы с данными во всех современных операционках недоступны для выполнения. Да и за чтение из страниц кода операционка может по рукам надавать
Подумай, как выполняются эксплоиды.
Через дыры в этих механизмах защиты, не?
«
Последнее редактирование: Февраль 29, 2012, 17:14 от mutineer
»
Записан
BRE
Гость
Re: указатели или сами объекты...
«
Ответ #21 :
Февраль 29, 2012, 17:30 »
Цитата: mutineer от Февраль 29, 2012, 17:12
Через дыры в этих механизмах защиты, не?
Они используют дыры в приложениях, а ОС просто позволяют это сделать. Т.е. большинство современных ОС позволяют выполнять код и в сегменте данных и в сегменте стека.
Конечно, для некоторых ОС есть некоторые патчи запрещающие это, но это - опция, которая как правило по умолчанию не включена.
Записан
mutineer
Гость
Re: указатели или сами объекты...
«
Ответ #22 :
Февраль 29, 2012, 17:50 »
Цитата: BRE от Февраль 29, 2012, 17:30
Конечно, для некоторых ОС есть некоторые патчи запрещающие это, но это - опция, которая как правило по умолчанию не включена.
Это какие-то старые данные.
http://en.wikipedia.org/wiki/Data_Execution_Prevention
Цитировать
DEP was introduced on Linux in 2004 (kernel 2.6.8[2]), on Windows in 2004 with Windows XP Service Pack 2,[3] while Apple introduced DEP in 2006.[1] (When they moved to x86)
Какие еще патчи, если в ядрах прям функция есть?
К тому же на венде она по умолчанию включена в режим защиты определенного круга системных приложений (а не выключена)
Записан
BRE
Гость
Re: указатели или сами объекты...
«
Ответ #23 :
Февраль 29, 2012, 17:53 »
Цитата: mutineer от Февраль 29, 2012, 17:50
К тому же на венде она по умолчанию включена в режим защиты определенного круга системных приложений (а не выключена)
Это я не про венду говорил, а про linux.
Записан
mutineer
Гость
Re: указатели или сами объекты...
«
Ответ #24 :
Февраль 29, 2012, 18:03 »
Цитата: BRE от Февраль 29, 2012, 17:53
Цитата: mutineer от Февраль 29, 2012, 17:50
К тому же на венде она по умолчанию включена в режим защиты определенного круга системных приложений (а не выключена)
Это я не про венду говорил, а про linux.
Сори, не включил либастрал. Источником данных не поделишься? А то ниче нагуглить не могу
Нагуглил вот, что в MacOS X и RHEL 3 update 3 и позже включено по умолчанию
«
Последнее редактирование: Февраль 29, 2012, 18:07 от mutineer
»
Записан
BRE
Гость
Re: указатели или сами объекты...
«
Ответ #25 :
Февраль 29, 2012, 18:11 »
Цитата: mutineer от Февраль 29, 2012, 18:03
Сори, не включил либастрал. Источником данных не поделишься? А то ниче нагуглить не могу
Поищи так: linux защита от переполнения стека
Цитата: mutineer от Февраль 29, 2012, 18:03
Нагуглил вот, что в MacOS X и RHEL 3 update 3 и позже включено по умолчанию
А на обычных ядрах обычных дистрибутивов?
Записан
mutineer
Гость
Re: указатели или сами объекты...
«
Ответ #26 :
Февраль 29, 2012, 18:15 »
Цитата: BRE от Февраль 29, 2012, 18:11
Цитата: mutineer от Февраль 29, 2012, 18:03
Нагуглил вот, что в MacOS X и RHEL 3 update 3 и позже включено по умолчанию
А на обычных ядрах обычных дистрибутивов?
Чем у RHEL не обычное ядро? в "обычном" ядре эта функция присутствует с 2.6.8. В Ubuntu с 9.04 или 9.10 включено по умолчанию
Даже в ведроиде есть и работает
Только это не "защита от переполнения стека" называется
«
Последнее редактирование: Февраль 29, 2012, 18:19 от mutineer
»
Записан
BRE
Гость
Re: указатели или сами объекты...
«
Ответ #27 :
Февраль 29, 2012, 18:18 »
Цитата: mutineer от Февраль 29, 2012, 18:15
Чем у RHEL не обычное ядро? в "обычном" ядре эта функция присутствует с 2.6.8. В Ubuntu с 9.04 или 9.10 включено по умолчанию
Потому, что пропатчено.
Цитата: mutineer от Февраль 29, 2012, 18:15
Только это не "защита от переполнения стека" называется
Ты так в гугле набери и с начала начни читать.
Записан
mutineer
Гость
Re: указатели или сами объекты...
«
Ответ #28 :
Февраль 29, 2012, 18:20 »
Цитата: BRE от Февраль 29, 2012, 18:18
Цитата: mutineer от Февраль 29, 2012, 18:15
Чем у RHEL не обычное ядро? в "обычном" ядре эта функция присутствует с 2.6.8. В Ubuntu с 9.04 или 9.10 включено по умолчанию
Потому, что пропатчено.
Ок, если тебе так удобнее, то пусть будет пропатчено. Пропатчено, правда, аж в 2004 году и с тех пор этот патч есть в основном ядре, ну да ладно...
https://www.google.com/search?client=opera&rls=ru&q=Data+Execution+Prevention+linux&sourceid=opera&ie=utf-8&oe=utf-8#q=Data+Execution+Prevention+linux&hl=ru&client=opera&hs=Dr6&rls=ru&prmd=imvns&ei=cj5OT4nHGIzP4QTYvbTaAg&start=10&sa=N&fp=1&biw=1075&bih=808&bav=on.2,or.r_gc.r_pw.r_cp.,cf.osb&cad=b
http://en.wikipedia.org/wiki/NX_bit
Записан
BRE
Гость
Re: указатели или сами объекты...
«
Ответ #29 :
Февраль 29, 2012, 18:38 »
Цитата: mutineer от Февраль 29, 2012, 18:20
Ок, если тебе так удобнее, то пусть будет пропатчено. Пропатчено, правда, аж в 2004 году и с тех пор этот патч есть в основном ядре, ну да ладно...
Еще что интересного нагуглил?
Вот смотри интересные статьи:
http://www.securitylab.ru/analytics/406154.php
http://www.insidepro.com/kk/063/063r.shtml
Записан
Страниц:
1
[
2
]
3
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...