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

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

Войти
Регистрация
Восстановить пароль
 
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
#1

Чужое адресное пространство - C++

13.10.2013, 12:27. Просмотров 373. Ответов 6
Метки нет (Все метки)

Как получить доступ к чужому адресному пространству? Допустим, как это делают cheatEngine или ArtMoney? Они вроде как не ставятся на уровне ядра, да и dll-ки вроде как не внедряют, но при этом вполне себе нормально изменяют нужный байт в адресном пространстве чужого процесса. Как?

p.s Чисто ознакомительные цели
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Убежденный
Системный программист
 Аватар для Убежденный
14667 / 6613 / 1048
Регистрация: 02.05.2013
Сообщений: 10,888
Завершенные тесты: 1
13.10.2013, 12:43     Чужое адресное пространство #2
Цитата Сообщение от nexen Посмотреть сообщение
Как получить доступ к чужому адресному пространству?
OpenProcess, VirtualProtectEx, WriteProcessMemory и т.д.
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
13.10.2013, 12:46  [ТС]     Чужое адресное пространство #3
Убежденный, неужели всё настолько просто? О_о
Убежденный
Системный программист
 Аватар для Убежденный
14667 / 6613 / 1048
Регистрация: 02.05.2013
Сообщений: 10,888
Завершенные тесты: 1
13.10.2013, 12:51     Чужое адресное пространство #4
Не все. Должен быть доступ на открытие процесса.
Нужно знать адрес, куда писать. Соответствующая страница памяти
должна быть закоммичена (committed). Еще в процесс записи могут
вмешиваться сторонние модули, которые перехватывают и блокируют
соответствующие операции.
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1242 / 991 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
13.10.2013, 12:56     Чужое адресное пространство #5
Конечно. Если процесс разрешил писать себе в память, или если ему приказали так сделать именем администратора.
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
13.10.2013, 13:33  [ТС]     Чужое адресное пространство #6
Убежденный, "доступ на открытие процесса" - а как его получить? И когда он может быть не получен?
Как понять "закоммиченая страница памяти"? Типа, если в неё писали, то она должна быть помечена, как "запись завершена"?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.10.2013, 13:42     Чужое адресное пространство
Еще ссылки по теме:

Пространство имен C++
C++ Пространство имен
quicksort выдает "чужое" число C++
C++ Пространство имён
C++ Пространство имен

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

Или воспользуйтесь поиском по форуму:
Убежденный
Системный программист
 Аватар для Убежденный
14667 / 6613 / 1048
Регистрация: 02.05.2013
Сообщений: 10,888
Завершенные тесты: 1
13.10.2013, 13:42     Чужое адресное пространство #7
Цитата Сообщение от nexen Посмотреть сообщение
Убежденный, "доступ на открытие процесса" - а как его получить?
OpenProcess

Цитата Сообщение от nexen Посмотреть сообщение
И когда он может быть не получен?
Когда не хватает прав. Например, ваш процесс запущен под одним пользователем, а
целевой процесс - под другим.

Цитата Сообщение от nexen Посмотреть сообщение
Как понять "закоммиченая страница памяти"?
Страница памяти, которая находится в состоянии committed.
Есть еще reserved, например. В reserved-страницу ничего записать не получится.
Yandex
Объявления
13.10.2013, 13:42     Чужое адресное пространство
Ответ Создать тему
Опции темы

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