Привет!
Я пытаюсь написать прогу которая изменяет в своем адрессном пространстве
запись в таблице импорта.
Для записи я пытаюсь использовать функцию:
if (WriteProcessMemory(GetCurrentProcess(),
ppfn, //where
&pfnNew, //what
sizeof(pfnNew), //how much
NULL) == FALSE)
MessageBox(0,"cant write", "rs[i]",MB_OK) ;
она всегда оканчиваеться неудачей, я пытался
handle = OpenProcess(
PROCESS_QUERY_INFORMATION |
PROCESS_CREATE_THREAD |
PROCESS_VM_OPERATION |
PROCESS_VM_WRITE,
FALSE, GetCurrentProcessId());
if (WriteProcessMemory(handle,
ppfn, //where
&pfnNew, //what
sizeof(pfnNew), //how much
NULL) == FALSE)
MessageBox(0,"cant write", "rs[i]",MB_OK) ;
эффект тотже. Я хотел бы узнать в чем моя ошибка, может быть для записи в
адрессное пространство текущего процесса следует использовать какието
иные способы 7 Значение в ppfn, и pfnNew вродебы правельные.
Заранее спасибо!
|