ZonD |
Отправлено: 16.07.2005, 11:00 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 7
|
Задачка вобщем заключается в том чтобы считывать/переписывать значение одной из переменных другого процесса, но я что-то никак не могу сообразить как это сделать. Было бы классно если кто-нибудь что-нибудь по этому поводу посоветовал.
Пока я только смог определить виртуальный адресс нужной переменной другого процесса, возникает вопрос как его изменить, ведь если я верно понимаю, то виртуальные пространства процессов изолированы и получить доступ к чужому пространству нельзя (или можно с помощью сообщений/каналов? — если да то как?) если это так то не понятно что делать дальше... хотя может быть можно чтобы виртуальная страница другого процесса проэцировалась на тоже дисковое пространство, что и страница "моего" процесса?
Заранее благодарю. |
|
Георгий |
Отправлено: 16.07.2005, 13:52 |
|
Почетный железнодорожник
Группа: Модератор
Сообщений: 874
|
куски из рабочей программыCODE | HANDLE hProcess;
HWND hWindow;
DWORD ProcessId,ProcessId2;
hWindow=FindWindow("TApplication","Crypttable");
ProcessId=GetWindowThreadProcessId(hWindow,&ProcessId2);
hProcess=OpenProcess(STANDARD_RIGHTS_REQUIRED|PROCESS_VM_OPERATION|PROCESS_VM_READ|PROCESS_VM_WRITE,0,ProcessId2); | после чего можно использовать функции ReadProcessMemory и WriteProcessMemory
PS. некоторые функции не работают без прав админа
Отредактировано Георгий — 16/07/2005, 14:59 |
|
|