Обращение к памяти другого процесса
От: Vamp Россия  
Дата: 22.02.02 12:58
Оценка:
Как в Windows осуществить данную вещь? С одной стороны, докуметация, как я ее понимаю, говорит, что это невозможно. С другой стороны, я сам использую утилиты, которые это делают — пишут что-то в данные другого процесса. Может, кто нибудь может объяснить, как это организовать? (Проимер читающей память другого процесса программы — Dr. Web, который в начале работы сканирует процессы в памяти на предмет вирусов).
Да здравствует мыло душистое и веревка пушистая.
Re: Обращение к памяти другого процесса
От: Vodka  
Дата: 22.02.02 13:08
Оценка:
Здравствуйте Vamp, Вы писали:

V>Как в Windows осуществить данную вещь? С одной стороны, докуметация, как я ее понимаю, говорит, что это невозможно. С другой стороны, я сам использую утилиты, которые это делают — пишут что-то в данные другого процесса. Может, кто нибудь может объяснить, как это организовать? (Проимер читающей память другого процесса программы — Dr. Web, который в начале работы сканирует процессы в памяти на предмет вирусов).


WriteProcessMemory и ReadProcessMemory например.
Re[2]: Обращение к памяти другого процесса
От: Vamp Россия  
Дата: 22.02.02 14:06
Оценка:
Здравствуйте Vodka, Вы писали:

V>WriteProcessMemory и ReadProcessMemory например.


Как я понял из документации, эти функции применимы к процессам, открытым с помощью CreateProcess с указанием соотвтетствующих флагов (PROCESS_VM_READ and PROCESS_VM_WRITE ). А я говорю о доступе к памяти уже запущененного процесса. Или я не прав?
Да здравствует мыло душистое и веревка пушистая.
Re: Обращение к памяти другого процесса
От: Gambler  
Дата: 22.02.02 14:13
Оценка:
Здравствуйте Vamp, Вы писали:

V>Как в Windows осуществить данную вещь? С одной стороны, докуметация, как я ее понимаю, говорит, что это невозможно. С другой стороны, я сам использую утилиты, которые это делают — пишут что-то в данные другого процесса. Может, кто нибудь может объяснить, как это организовать? (Проимер читающей память другого процесса программы — Dr. Web, который в начале работы сканирует процессы в памяти на предмет вирусов).


CreateRemoteThread(...) — позволяет создать поток в другом процессе.
-------------------------------------------------------------------

Вызывает презедент к себе коров и говорит:
— Ну, что будем сдавать, молоко или мясо?
(с) Г. Явлинский TV6 — Герой дня (18.04.2002)
Re[3]: Обращение к памяти другого процесса
От: Vodka  
Дата: 22.02.02 14:41
Оценка:
Здравствуйте Vamp, Вы писали:

V>Здравствуйте Vodka, Вы писали:


V>>WriteProcessMemory и ReadProcessMemory например.


V>Как я понял из документации, эти функции применимы к процессам, открытым с помощью CreateProcess с указанием соотвтетствующих флагов (PROCESS_VM_READ and PROCESS_VM_WRITE ). А я говорю о доступе к памяти уже запущененного процесса. Или я не прав?


Кроме CreateProcess существует ещё и OpenProcess.
Но прежде чем чего-то там читать/писать неплохо бы и узнать структуру адресного пространства процесса (какие диапазоны памяти у него имеются и какие операции над ними допустимы).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.