eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 8 октября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: Adler (+7 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Программирование —› VirtualProtect
Посл.ответ Сообщение

Ранг: 5.6 (гость)
Статус: Участник

Создано: 6 октября 2019 22:01 · Поправил: AE New!
Цитата · Личное сообщение · #1

Есть пара строк:
Code:
  1. std::vector<MEMORY_BASIC_INFORMATION> MBIList;
  2. CreateMemoryMap(&MBIList);
  3. MEMORY_BASIC_INFORMATION mbiPrev = MBIList[2];
  4.          
  5. DWORD iProt = PAGE_READWRITE;
  6. DWORD iProtOld = 0;
  7. DWORD dwError = 0;
  8.          
  9. if (!VirtualProtect(mbiPrev.BaseAddress, mbiPrev.RegionSize, iProt, &iProtOld))
  10.          dwError = GetLastError();

В общем VirtualProtect возвращает 0, а код ошибки 87 (Параметр задан неверно.)
Пробовал VirtualProtectEx - аналогично, а вот если дать тот-же iProt (PAGE_READONLY) - отрабатывает!
Что за фигня? Как мне расшарить страницу?

MEMORY_BASIC_INFORMATION mbiPrev


Ранг: 313.2 (мудрец)
Статус: Участник

Создано: 6 октября 2019 22:24 New!
Цитата · Личное сообщение · #2

AE

Не получится открыть проекцию для записи, так как при создании указан ридонли. Только если анмапить и по этой базе отобразить R/W.

| Сообщение посчитали полезным: AE


Ранг: 5.6 (гость)
Статус: Участник

Создано: 6 октября 2019 22:59 New!
Цитата · Личное сообщение · #3

difexacaw пишет:
Не получится открыть проекцию для записи, так как при создании указан ридонли.

Я понял, использовалось MapViewOfFile ...

difexacaw пишет:
Только если анмапить и по этой базе отобразить R/W.

и единственная возможность - использовать ее повторно...?

Ранг: 281.6 (наставник)
Статус: Участник
Destroyer of protectors

Создано: 7 октября 2019 13:55 New!
Цитата · Личное сообщение · #4

AE
Хукни функу, которой мапилось и поставь свои права

Ранг: 5.6 (гость)
Статус: Участник

Создано: 7 октября 2019 15:49 New!
Цитата · Личное сообщение · #5

MasterSoft пишет:
Хукни функу, которой мапилось и поставь свои права


Не все можно хукнуть в ринг3, увы или ура - хз...

Ранг: 11.9 (новичок)
Статус: Участник

Создано: 7 октября 2019 18:36 New!
Цитата · Личное сообщение · #6

AE пишет:
а вот если дать тот-же iProt (PAGE_READONLY) - отрабатывает!

поставь PAGE_EXECUTE_READWRITE и всё отработает как надо.

Ранг: 5.6 (гость)
Статус: Участник

Создано: 7 октября 2019 18:47 · Поправил: AE New!
Цитата · Личное сообщение · #7

dezmand07, увы....
Думаю что единственно рабочий варик предложен difexacaw'ым - убить, выделить заново, залить.

Проверю - отпишу...время надо чуток

Ранг: 19.0 (новичок)
Статус: Участник

Создано: 7 октября 2019 22:27 New!
Цитата · Личное сообщение · #8

AE пишет:
Не все можно хукнуть в ринг3

что же там за монстр, которого нельзя хукнуть?

Ранг: 5.6 (гость)
Статус: Участник

Создано: 9 октября 2019 19:14 New!
Цитата · Личное сообщение · #9

difexacaw пишет:
Только если анмапить и по этой базе отобразить R/W.

Работает...надеюсь в реальном мире тоже покатит....

Добавлено спустя 13 часов 11 минут
Closed


Ранг: 1991.4 (!!!!)
Статус: Модератор
retired

Создано: 10 октября 2019 21:06 New!
Цитата · Личное сообщение · #10

Автор сам может закрыть свою тему, кнопка "Закрыть тему" находится внизу страницы, под кнопкой "Отправить сообщение".

| Сообщение посчитали полезным: AE

 eXeL@B —› Программирование —› VirtualProtect
Эта тема закрыта. Ответы больше не принимаются.

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS