Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запись в конкретную ячейку памяти 
:(
    Опции темы
witeman
  Дата 29.3.2006, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 29.3.2005
Где: г.Тюмень

Репутация: нет
Всего: нет



Здравствуйте. У меня такой вопрос: существует ли такой способ (или функция),
с помощью которого можно записать в память, точнее , в определённый адрес памяти
записать некоторую переменную или число. Ведь существует много ,так называемых,
"взломщиков игр", которые работают ,если я не ошибаюсь, именно таким образом. Заранее благодарен.

PM MAIL WWW   Вверх
Partizan
Дата 29.3.2006, 21:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 4
Всего: 67



заводится указатель, которому присваивается адрес необходимой ячейки...


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
BreakPointMAN
Дата 29.3.2006, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 15.9.2004
Где: Saratov

Репутация: 14
Всего: 24



Аха... канэшна... так тебе винда и даст просто так, без всяких, в память чужого процесса залезть... да еще поменять что-то там... smile
Цитата(Partizan @ 29.3.2006, 21:05 Найти цитируемый пост)
заводится указатель, которому присваивается адрес необходимой ячейки...

гм... а какая ячейка "необходимая"? smile


--------------------
"Разруха не в клозетах, а в головах." © Ф.Ф. Преображенский (М.Булгаков, "Собачье сердце")
PM WWW ICQ   Вверх
MAKCim
Дата 30.3.2006, 07:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



винда, linux работают в защищенном режиме со всеми вытекающими последствиями
программа не может просто так обраьиться по любому адресу, так как ей необходимо иметь некоторые полномочия
размер поля сегмента данных программы контролируется полем размера сегмента. Это не позволяет образаться по адресам вне отведенного программе адресного пространства


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
adonin
Дата 30.3.2006, 08:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 166
Регистрация: 16.12.2005
Где: Новочеркасск Рост овская обл.

Репутация: 2
Всего: 5



Используйте:
OpenProcess()
ReadProcessMemory()
WriteProcessMemory()
VirtualProtect() и т.д.
Для использования данных функций нужны соответствующие привилегии
--------------------
Тот, кто слизывает мед с крапивы, платит за него слишком дорого. (Томас ФУЛЛЕР)
PM MAIL   Вверх
threef
Дата 30.3.2006, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 27.10.2005
Где: Запорожье

Репутация: 9
Всего: 10



Код


int *px=(int*)0xA0000001;
*px=256;


Но к крякам чужих игрушек это отношения не имеет. Перед тобой долгий путь изучения или короткий - списывания. Зависит от цели.
PM MAIL   Вверх
regis
Дата 31.3.2006, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 12.12.2005
Где: Москва, Россия

Репутация: 2
Всего: 7



Ответ на этот вопрос зависит от того, что именно нужно сделать. И прежде всего о какой памяти идет речь -- физической или виртуальной?

--------------------
В. В чем разница между hardware и software?О. В отличие от второго, по первому можно двинуть кулаком или пнуть ногой.
PM MAIL WWW   Вверх
Doc_d0s
Дата 31.3.2006, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 206
Регистрация: 15.12.2004
Где: в кресле

Репутация: 2
Всего: 3



Тут правильно говорят, если хчешь читать абсолютно любую ячейку из доступной памяти то тут на пути стоит ОС, о если только своей программы, тогда просто пиши адрес, какой нужно, он там сложиться с сегментной частью и всЕsmile
--------------------
Админ- это вождь Apache'й :)
PM MAIL ICQ   Вверх
Helicopterr
Дата 31.3.2006, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 355
Регистрация: 20.8.2005
Где: Stavropol

Репутация: 2
Всего: 3



Цитата(Doc_d0s @ 31.3.2006, 17:40)
Тут правильно говорят, если хчешь читать абсолютно любую ячейку из доступной памяти то тут на пути стоит ОС

Ну это не самая страшная преграда. Программа подлежащая разведке может защищать свою память.


--------------------
people can fly
PM MAIL   Вверх
adonin
Дата 1.4.2006, 08:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 166
Регистрация: 16.12.2005
Где: Новочеркасск Рост овская обл.

Репутация: 2
Всего: 5



И ось на пути, и программа память защищает, но ось также предоставляет API для обхода всего этого.
Ещё раз говорю: почитайте про OpenProcess() ReadProcessMemory() WriteProcessMemory() - для доступа в адресное пространство другого процесса.
Прога может защитить память, только используя флаги в таблицах, описывающих адресное пространство её процесса. Или шифрованием. В первом случае флаги устанавливаются функцией VirtualProtect(). Ей же они и снимаются.
Технология перехвата API базируется именно на этих механизмах. Если у вас права админа, то для вас нет ни каких ограничений в использовании этих функций.
--------------------
Тот, кто слизывает мед с крапивы, платит за него слишком дорого. (Томас ФУЛЛЕР)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0727 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.