Re[2]: ZwUnmapViewOfSection + VirtualAllocEx
От: Ignatich  
Дата: 09.12.07 11:26
Оценка:
Здравствуйте, ononim, Вы писали:

I>>Работает, но иногда обламывается.

I>>ZwUnmapViewOfSection (handle, imgBase) -> OK
I>>VirtualAllocEx (handle, imgBase, size, MEM_RESERVE | MEM_COMMIT, PAGE_EXECUTE_READWRITE) -> FAILED
I>>Ошибка ERROR_INVALID_ADDRESS или STATUS_CONFLICTING_ADDRESSES если использовать NtAllocateVirtualMemory.
O>только возможная причина: Другой поток вашего процесса мог занять пространство адресов (выделива память) между этими двумя вызовами..

Процесс создан с флагом CREATE_SUSPENDED т.е. поток там только один и тот еще выполняться не начинал.

Если дело в ASLR висты (как я думаю), то память могли занять:
1. Стек потока.
2. Куча процесса. Сомнительно, т.к. в PEB ProcessHeap равно NULL.

Больше ничего в голву не приходит.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.