Описание тега mprotect

3 ответа

Ошибка сегментации при вызове функции, расположенной в куче

Я пытаюсь немного подправить правила, и malloc буфер, затем скопируйте функцию в буфер. Вызов буферизованной функции работает, но функция выдает ошибку сегментации, когда я пытаюсь вызвать другую функцию внутри. Есть мысли почему? #include <stdio…
11 май '16 в 07:23
0 ответов

Как посмотреть модификацию памяти на платформе mips

Я отлаживаю проблему повреждения памяти на MIPS. Я хочу знать, кто пишет определенное значение по адресу. В x86-64 мы можем использовать mprotect+sigsegv+sigtrap для регистрации любого доступа к записи в память по указанному адресу. Если я использую…
24 дек '15 в 04:11
1 ответ

mprotect: как получить инструкцию, которая вызывает нарушение защиты?

Я использую mprotect, чтобы установить некоторые страницы памяти как защищенные от записи. Когда любая попытка записи выполняется в этой области памяти, программа получает сигнал SIGSEGV. Из обработчика сигнала я знаю, по какому адресу памяти была п…
31 окт '13 в 03:05
3 ответа

Как я могу заставить GDB выполнять код, для которого нет символов

У меня есть программа на C, которая (по уважительной причине) выделяет память, копирует в нее некоторый код, использует mprotect() для предоставления ей прав на выполнение, а затем вызывает этот код. Да, я знаю, что это непереносимо и небезопасно, н…
08 июн '11 в 15:55
1 ответ

Когда процессу понадобятся страницы памяти с правами на запись и exec одновременно

Я пытаюсь понять, как программы могут быть изолированы и защищены. Существуют ли действительные случаи, когда процессы должны требовать PROT_WRITE |PROT_EXEC на странице памяти? Можно ли этого избежать? Это похоже на то, чего пытались достичь бит NX…
0 ответов

Как ускорить set_tls и mprotect при запуске приложения ARM?

Я использую ARM (TI814x) на NAND (UbiFS). При запуске приложения QtGui требуется около 1 секунды, пока set_tls (локальное хранилище потока?) И mprotect не будут выполнены (в то время как загрузка всех общих библиотек занимает 1,3 секунды). Почему эт…
29 янв '14 в 11:45
2 ответа

Могу ли я защитить от записи каждую страницу в адресном пространстве процесса Linux?

Мне интересно, есть ли способ защиты от записи каждой страницы в адресном пространстве процесса Linux (изнутри самого процесса, посредствомmprotect()). Под "каждой страницей" я подразумеваю каждую страницу адресного пространства процесса, на которую…
09 авг '10 в 20:48
1 ответ

10.13 High Sierra OSX - Python mprotect всегда дает сбой при предоставлении разрешения exec с ENOMEM

Фон: Написание доказательства концепции, которая включает в себя выполнение машинного кода в программе Python. Чтобы сделать это на OSX, мне пришлось использовать ctypes и libc.dylib и следующие вызовы функций: (С отключенным SIP) valloc для выделен…
04 июн '18 в 04:45
0 ответов

Аномальная ошибка шины для доступа к защищенной памяти в macOS?

контекст Я написал небольшую программу с намерением использовать ее для генерации SIGSEGV сигнал, который я поймаю обработчиком, а затем распечатать. проблема Программа, которую я написал, прекрасно работает (или, кажется, так) в Linux. Однако при к…
16 апр '18 в 14:39
1 ответ

Обход и использование _thiscall в качестве ловушки (соглашение о вызовах GCC)

Недавно я работал над функциями обхода (только в Linux) и до сих пор добился большого успеха. Я разрабатывал свой собственный обходной класс, пока не нашел это. Я немного модернизировал код и преобразовал его в C++ (как класс, конечно). Этот код, ка…
03 май '12 в 17:28
1 ответ

C - Можно ли защитить что-то меньше, чем страница

И я действительно ищу любое решение для этого - моя цель состоит в том, чтобы установить область, меньшую, чем размер страницы системы, равной PROT_READ, PROT_WRITE, PROT_EXEC или PROT_NONE. Это возможно? Кажется, что mprotect просто защищает кратны…
04 окт '14 в 22:58
2 ответа

mprotect в сегменте разделяемой памяти mmap-ed

Когда два процесса совместно используют сегмент памяти, открытый с помощью shm_open и mmap-ed, влияет ли выполнение mprotect на часть разделяемой памяти в одном процессе на разрешения, видимые другим процессом в этой же части? то есть, если один про…
24 сен '13 в 15:45
1 ответ

Как получить флаги защиты области памяти, флаги PROT_READ /PROT_EXEC в mprotect

Я использую mprotect() для установки флагов защиты в области памяти. Позже я хочу восстановить флаги защиты этой области памяти. У меня вопрос, как получить флаги защиты области памяти? флаги включают в себя PROT_READ ... Мой обходной путь - разобра…
05 авг '11 в 17:48
0 ответов

mprotect не всегда сворачивает соседние строки в /proc/pid/maps

У меня есть процесс, когда через некоторое время mprotect() не удается с ENOMEM, Ошибка вызвана тем, что "внутренние структуры ядра не могут быть размещены": в этот момент файл /proc/<pid>/maps содержит 65531 строк, что, конечно, подозрительно…
27 июл '13 в 09:29
1 ответ

Решение проблемы системного вызова mprotect()

Я пишу некоторый код эксплойта ROP, который вызывает mprotect через системный вызов, после вызова int 0x80 eax устанавливается в 0x0, что указывает на успех. Сдвиг выполнения на целевой адрес все еще приводит к SIGSEGV. Я хотел бы, чтобы кто-то пока…
26 июн '15 в 08:16
1 ответ

Приложение iPhone падает с ошибкой Mprotect (MonoTouch)

У меня проблема с приложением для iPhone, разработанным с помощью MonoTouch.Я разрабатываю приложение, которое связывается со службой WCF, и когда служба WCF отвечает обратно, я обновляю UITableView возвращенными данными, когда это делается, он отпр…
28 дек '10 в 10:35
2 ответа

Распределяет ли mmap страницу или часть страницы?

Я в замешательстве, делает mmap выделить целую страницу памяти (независимо от указанного размера), или она просто выделяет размер, который вы запрашиваете? Действительно, мне любопытно, что происходит при последующих звонках mmap - выделит ли второй…
18 мар '14 в 16:27
1 ответ

Функция mprotect() в ядре Linux

Я нахожусь в модуле ядра Linux, и я выделяю некоторую память, скажем, vmalloc(), Я хочу, чтобы память имела права на чтение, запись и выполнение. Как правильно и правильно это сделать? По сути, это обычно эквивалент вызова mprotect(), но в пространс…
16 июл '13 в 03:01
1 ответ

Получение информации о правах доступа в Linux

Я использую mmap для выделения памяти и отмечаю некоторые страницы как PROT_READ и несколько страниц как PROT_NONE, используя mprotect. моя реализация имеет логику, основанную на разрешении памяти. В настоящее время у меня есть информация о располож…
10 апр '12 в 20:29
0 ответов

Определить адрес защищенной памяти

Есть ли функция, чтобы определить, отображается ли данный виртуальный адрес mmap защищен mprotect? Доступ к такому адресу приведет к ошибке сегментации, если PROT_NONE установлено. Поэтому я хотел бы сначала определить, защищены ли они или нет. Лучш…
21 фев '13 в 03:56