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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
DKOI
24 / 24 / 1
Регистрация: 08.09.2010
Сообщений: 136
#1

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

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

Требуется получить доступ к памяти других процессов. Для этого, как я полагаю, нужно писать определенный драйвер для доступа к виртуальной памяти, но, честно говоря, не понятно, как его реализовывать. Гугл мне ясного ответа не дал (какие-то общие слова, никакой конкретики, быть может, не так искал). Нет ли у кого ссылок на сайты или статьи соответствующей тематики или названий печатных изданий, где можно вычитать что-нибудь полезное по данному вопросу? Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2011, 15:28     Доступ к памяти другого процесса
Посмотрите здесь:
Доступ к области памяти из другого класса C++
Загрузить процесс из другого процесса C++
C++ как передать строку в адресное пространство другого процесса?
C++ Как установить брейкпоинт (int3) на инструкции другого процесса?
C++ Как прочитать данные из потока вывода другого процесса
C++ Измененить значение в памяти процесса
Чтение строки из памяти стороннего процесса C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nxnx
Формучанин
362 / 293 / 16
Регистрация: 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
DKOI
24 / 24 / 1
Регистрация: 08.09.2010
Сообщений: 136
28.09.2011, 16:03  [ТС]     Доступ к памяти другого процесса #3
Немножко не понятно, как определяется разрешение на доступ к памяти. Например, я хочу залезть в кучу какого-нибудь стороннего процесса. Неужели система возьмет и разрешит мне все это дело ни с того ни с сего? Конечно, нет...
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,364
28.09.2011, 16:48     Доступ к памяти другого процесса #4
Если ты имеешь права - то разрешит. О требуемых правах доступа написано все в тех же статьях.
kravam
быдлокодер
1693 / 880 / 44
Регистрация: 04.06.2008
Сообщений: 5,438
28.09.2011, 17:02     Доступ к памяти другого процесса #5
Вот тебе три архива, писал для себя давно, разбирайся. Коряво, но с комментами. КАк получить дамп участка памяти процесса, как прописать нечто в адресном пространстве процесса и как получить привилегии отладчика.
Последний проект был сделан недавно, он более качественный. Там есть крутые ссылки на англоязычный сайт. То есть я так понимаю, если не удаётся просто так взять и получить доступ к памяти стороннего процесса, то привилегии отладчика помогут в этом.

Антивирь будет ругаться на экзешники.
Если чё, спрашивай.
DKOI
24 / 24 / 1
Регистрация: 08.09.2010
Сообщений: 136
28.09.2011, 17:19  [ТС]     Доступ к памяти другого процесса #6
kravam, огромное спасибо. Увидел ясные примеры использования и все сразу стало на свои места.
xDigitechx
-110 / 2 / 1
Регистрация: 13.08.2011
Сообщений: 28
06.02.2012, 10:19     Доступ к памяти другого процесса #7
Всегда был рад существованию енного форума :-)
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
25.06.2013, 11:47     Доступ к памяти другого процесса #8
вот похожая тема, еще бы тоже самое только под линукс?
мажор
0 / 0 / 0
Регистрация: 26.09.2015
Сообщений: 34
08.01.2017, 00:05     Доступ к памяти другого процесса #9
А без вин АПИ?
Renji
1877 / 1275 / 290
Регистрация: 05.06.2014
Сообщений: 3,636
08.01.2017, 01:22     Доступ к памяти другого процесса #10
Цитата Сообщение от мажор Посмотреть сообщение
А без вин АПИ?
А без АПИ не положено, так что система будет запрещать и не пущать.
мажор
0 / 0 / 0
Регистрация: 26.09.2015
Сообщений: 34
08.01.2017, 10:15     Доступ к памяти другого процесса #11
Без win API,а не всех API.
GbaLog-
Любитель чаепитий
2620 / 1159 / 284
Регистрация: 24.08.2014
Сообщений: 4,226
Записей в блоге: 1
Завершенные тесты: 2
08.01.2017, 10:32     Доступ к памяти другого процесса #12
Цитата Сообщение от мажор Посмотреть сообщение
Без win API,а не всех API.
WinAPI - "подкласс" API, так что то, что невозможно без WinAPI, невозможно и без API. Так что тут всё верно.
Убежденный
Системный программист
Эксперт С++
15295 / 6927 / 1096
Регистрация: 02.05.2013
Сообщений: 11,336
Завершенные тесты: 1
08.01.2017, 11:00     Доступ к памяти другого процесса #13
Цитата Сообщение от мажор Посмотреть сообщение
А без вин АПИ?
NtOpenProcess, NtAllocateVirtualMemory, NtReadVirtualMemory, NtWriteVirtualMemory, NtClose
Без Win32 API, как и просили.
Evg
Эксперт CАвтор FAQ
17540 / 5778 / 370
Регистрация: 30.03.2009
Сообщений: 15,911
Записей в блоге: 26
08.01.2017, 12:41     Доступ к памяти другого процесса #14
Цитата Сообщение от programina Посмотреть сообщение
вот похожая тема, еще бы тоже самое только под линукс?
Данному посту почти 4 года, но если вдруг ещё актуально, то http://man7.org/linux/man-pages/man2/ptrace.2.html
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2017, 22:43     Доступ к памяти другого процесса
Еще ссылки по теме:
C++ Освобождает ли память процесса менеджер памяти Windows?
Поиск строки в памяти запущенного процесса и её изменение C++
C++ Доступ к переменной из другого модуля
C++ Доступ к переменной из другого файла

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

Или воспользуйтесь поиском по форуму:
мажор
0 / 0 / 0
Регистрация: 26.09.2015
Сообщений: 34
08.01.2017, 22:43     Доступ к памяти другого процесса #15
Как получить права отладчика для программы на C?
Yandex
Объявления
08.01.2017, 22:43     Доступ к памяти другого процесса
Ответ Создать тему
Опции темы

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