Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.98/47: Рейтинг темы: голосов - 47, средняя оценка - 4.98
DKOI
24 / 24 / 0
Регистрация: 08.09.2010
Сообщений: 136
1

Доступ к памяти другого процесса

28.09.2011, 15:28. Просмотров 9444. Ответов 20
Метки нет (Все метки)

Требуется получить доступ к памяти других процессов. Для этого, как я полагаю, нужно писать определенный драйвер для доступа к виртуальной памяти, но, честно говоря, не понятно, как его реализовывать. Гугл мне ясного ответа не дал (какие-то общие слова, никакой конкретики, быть может, не так искал). Нет ли у кого ссылок на сайты или статьи соответствующей тематики или названий печатных изданий, где можно вычитать что-нибудь полезное по данному вопросу? Заранее спасибо.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2011, 15:28
Ответы с готовыми решениями:

Доступ к области памяти из другого класса
Есть класс в котором создаётся область в памяти, как получить из другого класса доступ к этой...

Загрузить процесс из другого процесса
Штурм google ничего не дал. Но я помню что что то было такое в книге Рихтера. Пока ищу книгу и...

Как прочитать данные из потока вывода другого процесса
Как получить то, что выводит командная строка (прочитать выводной поток другого процесса)

Как передать строку в адресное пространство другого процесса?
Мне необходимо передать строку другому процессу, из ДЛЛ (Hook)... т.к. длл линкуется к каждому...

Как установить брейкпоинт (int3) на инструкции другого процесса?
Собственно, вопрос в названии темы. Есть процесс name.exe, есть инструкция в этом процессе...

20
nxnx
Формучанин
362 / 293 / 41
Регистрация: 02.11.2010
Сообщений: 1,234
28.09.2011, 15:44 2
если под венду то:
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
0
DKOI
24 / 24 / 0
Регистрация: 08.09.2010
Сообщений: 136
28.09.2011, 16:03  [ТС] 3
Немножко не понятно, как определяется разрешение на доступ к памяти. Например, я хочу залезть в кучу какого-нибудь стороннего процесса. Неужели система возьмет и разрешит мне все это дело ни с того ни с сего? Конечно, нет...
0
CheshireCat
Эксперт С++
2914 / 1263 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
28.09.2011, 16:48 4
Если ты имеешь права - то разрешит. О требуемых правах доступа написано все в тех же статьях.
0
28.09.2011, 16:48
kravam
быдлокодер
1711 / 898 / 106
Регистрация: 04.06.2008
Сообщений: 5,588
28.09.2011, 17:02 5
Вот тебе три архива, писал для себя давно, разбирайся. Коряво, но с комментами. КАк получить дамп участка памяти процесса, как прописать нечто в адресном пространстве процесса и как получить привилегии отладчика.
Последний проект был сделан недавно, он более качественный. Там есть крутые ссылки на англоязычный сайт. То есть я так понимаю, если не удаётся просто так взять и получить доступ к памяти стороннего процесса, то привилегии отладчика помогут в этом.

Антивирь будет ругаться на экзешники.
Если чё, спрашивай.
4
DKOI
24 / 24 / 0
Регистрация: 08.09.2010
Сообщений: 136
28.09.2011, 17:19  [ТС] 6
kravam, огромное спасибо. Увидел ясные примеры использования и все сразу стало на свои места.
0
xDigitechx
2 / 2 / 2
Регистрация: 13.08.2011
Сообщений: 28
06.02.2012, 10:19 7
Всегда был рад существованию енного форума :-)
0
programina
2053 / 608 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
25.06.2013, 11:47 8
вот похожая тема, еще бы тоже самое только под линукс?
0
мажор
0 / 0 / 0
Регистрация: 26.09.2015
Сообщений: 34
08.01.2017, 00:05 9
А без вин АПИ?
0
Renji
2194 / 1618 / 489
Регистрация: 05.06.2014
Сообщений: 4,685
08.01.2017, 01:22 10
Цитата Сообщение от мажор Посмотреть сообщение
А без вин АПИ?
А без АПИ не положено, так что система будет запрещать и не пущать.
0
мажор
0 / 0 / 0
Регистрация: 26.09.2015
Сообщений: 34
08.01.2017, 10:15 11
Без win API,а не всех API.
0
GbaLog-
Любитель чаепитий
3171 / 1476 / 466
Регистрация: 24.08.2014
Сообщений: 5,211
Записей в блоге: 1
Завершенные тесты: 2
08.01.2017, 10:32 12
Цитата Сообщение от мажор Посмотреть сообщение
Без win API,а не всех API.
WinAPI - "подкласс" API, так что то, что невозможно без WinAPI, невозможно и без API. Так что тут всё верно.
0
Убежденный
Ушел с форума
Эксперт С++
16149 / 7296 / 1182
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
08.01.2017, 11:00 13
Цитата Сообщение от мажор Посмотреть сообщение
А без вин АПИ?
NtOpenProcess, NtAllocateVirtualMemory, NtReadVirtualMemory, NtWriteVirtualMemory, NtClose
Без Win32 API, как и просили.
0
Evg
Эксперт CАвтор FAQ
19884 / 7514 / 574
Регистрация: 30.03.2009
Сообщений: 20,970
Записей в блоге: 30
08.01.2017, 12:41 14
Цитата Сообщение от programina Посмотреть сообщение
вот похожая тема, еще бы тоже самое только под линукс?
Данному посту почти 4 года, но если вдруг ещё актуально, то http://man7.org/linux/man-pages/man2/ptrace.2.html
0
мажор
0 / 0 / 0
Регистрация: 26.09.2015
Сообщений: 34
08.01.2017, 22:43 15
Как получить права отладчика для программы на C?
0
Убежденный
Ушел с форума
Эксперт С++
16149 / 7296 / 1182
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
08.01.2017, 22:53 16
AdjustTokenPrivileges function
https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx

Нужная константа называется SE_DEBUG_NAME.
Пример здесь:

Enabling and Disabling Privileges in C++
https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx

Привилегия отладки есть только у администраторов.
0
мажор
0 / 0 / 0
Регистрация: 26.09.2015
Сообщений: 34
08.01.2017, 22:56 17
4227092 это адрес переменной.
но в артмани они в 16-ричном виде,в каком виде тот адрес?
0
мажор
0 / 0 / 0
Регистрация: 26.09.2015
Сообщений: 34
10.01.2017, 17:37 18
Можно пример получения прав отладки?
0
Убежденный
Ушел с форума
Эксперт С++
16149 / 7296 / 1182
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
10.01.2017, 18:12 19
Чем тебя не устроил пример по ссылке выше?
Туда надо только SE_DEBUG_NAME вставить.
Мой код мало чем будет от данного примера отличаться.
0
мажор
0 / 0 / 0
Регистрация: 26.09.2015
Сообщений: 34
11.01.2017, 20:56 20
Напиши свой код пожалуйста.
0
11.01.2017, 20:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.01.2017, 20:56

Чтение памяти защищенного процесса
Друзья возникла нужда прочитать память процесса, защиту которого обеспечивает драйвер. Функции RPM...

Измененить значение в памяти процесса
Привет, есть процесс, я хочу в нем изменить значение в по адресу в памяти, как это можно сделать ?...

Чтение строки из памяти стороннего процесса
Никогда не думал, что будут проблемы с чтением строки из памяти, но они есть :D Пишу так: cout...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru