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

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

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

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

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

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

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

Адресное пространство - C++
Ситуация такая: Заинтересовался темой создания читов для онлайн игрушек, не ради корысти, но ради интереса :). Возник вопрос: Как...

Адресное пространство - C++
Адрес в сипп является 4байтным числом. Возможно ли модифицировать адрес так, что бы залезть в другие процессы? Или для каждого процесса...

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

Адресное обращение к массиву структур - C++
когда пробегаю по циклу, например, обращаюсь вот так: *(a+i).pole_1.pole_2 Так понел, что это неправильно. Как тогда, подскажите...

quicksort выдает "чужое" число - C++
здравствуйте! ниже прилагаю код программы. суть программы в том, чтобы отсортировать числа по их кодам (код получается заменой младшего...

Пространство имён - C++
Добрый вечер, 1) как правильно называется часть "Foo::" в этой записи void Foo::hello(){} 2) и почему не сделают using namespace...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Убежденный
Системный программист
Эксперт С++
15298 / 6930 / 1096
Регистрация: 02.05.2013
Сообщений: 11,340
Завершенные тесты: 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
Убежденный, неужели всё настолько просто? О_о
Убежденный
Системный программист
Эксперт С++
15298 / 6930 / 1096
Регистрация: 02.05.2013
Сообщений: 11,340
Завершенные тесты: 1
13.10.2013, 12:51     Чужое адресное пространство #4
Не все. Должен быть доступ на открытие процесса.
Нужно знать адрес, куда писать. Соответствующая страница памяти
должна быть закоммичена (committed). Еще в процесс записи могут
вмешиваться сторонние модули, которые перехватывают и блокируют
соответствующие операции.
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 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++
Как составить код, когда необходимо использовать классы и методы из разных пространств имен. К примеру используется cout из std и...

Пространство имён! - C++
Как лучше указывать пространство имён? using namespace std вначале? или std::? вроде бы проще первый вариант, но почему используют...

Пространство имён - C++
Прочитал сейчас раздел про пространство имён, но так всё равно и не понял, почему лучше не использовать директиву using. Допустим,...

пространство имён - C++
Здравствуйте. Из C# я примерно представляю что такое пространство имён. Но возникает вопрос. Допустим в программе я использую...


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

Или воспользуйтесь поиском по форуму:
Убежденный
Системный программист
Эксперт С++
15298 / 6930 / 1096
Регистрация: 02.05.2013
Сообщений: 11,340
Завершенные тесты: 1
13.10.2013, 13:42     Чужое адресное пространство #7
Цитата Сообщение от nexen Посмотреть сообщение
Убежденный, "доступ на открытие процесса" - а как его получить?
OpenProcess

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

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

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