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

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

Восстановить пароль Регистрация
 
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
13.10.2013, 12:27     Чужое адресное пространство #1
Как получить доступ к чужому адресному пространству? Допустим, как это делают cheatEngine или ArtMoney? Они вроде как не ставятся на уровне ядра, да и dll-ки вроде как не внедряют, но при этом вполне себе нормально изменяют нужный байт в адресном пространстве чужого процесса. Как?

p.s Чисто ознакомительные цели
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2013, 12:27     Чужое адресное пространство
Посмотрите здесь:

Адресное обращение к массиву структур C++
C++ пространство имен
C++ как передать строку в адресное пространство другого процесса?
Пространство имён C++
C++ Адресное пространство
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Убежденный
Системный программист
 Аватар для Убежденный
14213 / 6228 / 988
Регистрация: 02.05.2013
Сообщений: 10,385
Завершенные тесты: 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
Убежденный, неужели всё настолько просто? О_о
Убежденный
Системный программист
 Аватар для Убежденный
14213 / 6228 / 988
Регистрация: 02.05.2013
Сообщений: 10,385
Завершенные тесты: 1
13.10.2013, 12:51     Чужое адресное пространство #4
Не все. Должен быть доступ на открытие процесса.
Нужно знать адрес, куда писать. Соответствующая страница памяти
должна быть закоммичена (committed). Еще в процесс записи могут
вмешиваться сторонние модули, которые перехватывают и блокируют
соответствующие операции.
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 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++

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

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

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

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

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