Сейчас на форуме: ManHunter, Magister Yoda, rtsgreg1989 (+10 невидимых)

 eXeL@B —› Основной форум —› Проблема с WriteProcessMemory - Help
Посл.ответ Сообщение

Ранг: 1.2 (гость)
Активность: 0.010
Статус: Участник

Создано: 26 мая 2005 14:05
· Личное сообщение · #1

Hi, all !
Возникла проблема с WriteProcessMemory в память дочернего процесса.
(Система WinXp Prof)


В область кодов - запись успешна.
Не получается писать в таблицу импорта. (а-ля Рихтер)
GetLastError сообщает - "998" = NOACCESS.
(Для Win98 никаких проблем - эта же роутина работает успешно.)
Все потоки подопытной проги останавливаются на момент записи.

Но самое интересное, что запись в область кодов системных dll разрешается !
(например в user32.dll)
Получение привилегий дибаггера не помогает.

Помгите начинающему...



Ранг: 450.1 (мудрец)
Активность: 0.260
Статус: Участник

Создано: 26 мая 2005 14:49 · Поправил: Asterix
· Личное сообщение · #2

WriteToMemory proc hProcess: DWORD, AddressToWrite: DWORD, lpBytesToWrite: DWORD, nSize: DWORD

LOCAL OldProtect: DWORD
invoke WriteProcessMemory, hProcess, AddressToWrite, lpBytesToWrite,\
nSize, NULL
.IF eax == 0
invoke VirtualProtectEx, hProcess, AddressToWrite, nSize,\
PAGE_READWRITE, ADDR OldProtect
.IF eax != 0
invoke WriteProcessMemory, hProcess, AddressToWrite, lpBytesToWrite,\
nSize, NULL
push eax
invoke VirtualProtectEx, hProcess, AddressToWrite, nSize,\
OldProtect, ADDR OldProtect
pop eax
.ENDIF
.ENDIF
ret
WriteToMemory endp




Ранг: 450.1 (мудрец)
Активность: 0.260
Статус: Участник

Создано: 26 мая 2005 14:50 · Поправил: Asterix
· Личное сообщение · #3

.



Ранг: 1.2 (гость)
Активность: 0.010
Статус: Участник

Создано: 26 мая 2005 15:02
· Личное сообщение · #4

Спасибо - "будем попробовать" .




Ранг: 1.2 (гость)
Активность: 0.010
Статус: Участник

Создано: 27 мая 2005 14:17
· Личное сообщение · #5

Проба закончилась полным успехом !
Гигантский Вам Сенькс, Asterix !!!!!



 eXeL@B —› Основной форум —› Проблема с WriteProcessMemory - Help
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати