В цикле сообщений не обрабатывать никакие сообщения, кроме таймера ;)
agent007 И правда оттуда... Казалось, что я ее из ядра вызывал, а сейчас глянул - оказалось нативное приложение :) Если в том же направлении...
LavanDOS NTSTATUS __stdcall DriverEntry(PDRIVER_OBJECT pDriverObject,PUNICODE_STRING pusRegistryPath)
agent007 В перехвате LdrLoadDll можно попробовать
Тогда только проверка через некоторый таймаут остается, наверное. Тебе надо заинжектиться до вызова EntryPoint?
agent007 Подожди, как то не сформирована? PEB создается внутри NtCreateProcess, а вызов PsSetCreateProcessNotifyRoutine происходит в самом конце...
agent007 А чем PsSetCreateProcessNotifyRoutine не нравится? Она вызывается внутри ZwCreateThread, так что процесс уже полностью готов ко всему :)
n0name Сто пудов. Но проверять придется адрес в начале кажных 4 кб - не технологично :)
Leksey Какая система? Под WinXP и старше секция INIT полностью выгружается из адресного пространства после загрузки любого модуля ядра. Посмотри...
Руками и поиском по форуму :)
After a driver-supplied routine is registered, it is called with Create set to TRUE just after the initial thread is created within the newly...
Panf А зачем его приостанавливать? Или принципиально, чтобы dll внедрялась до запуска процесса? Тогда самый простой вариант - установить перехват...
retmas Посмотри MmAllocateContiguousMemory и MmAllocateContiguousMemorySpecifyCache
Nouzui В последнем NtInsider было упоминание про функцию проверки памяти ядра на Висте :)
Вместо ml.exe юзай ml64.exe, вот и все 64-разрядное программирование :) http://msdn.microsoft.com/msdnmag/issues/06/05/x64/default.aspx
Nouzui угу slow В physical memory есть все, что не в INIT и не в свопе. Список хендлов, подозреваю, вполне может быть выгружен в своп
10110111 /nopae /noexecute=AlwaysOff
Секции INIT начиная с XP полностью выгружаются после инициализации
Никто в общем-то не мешает скопировать перед изменением, а затем вернуть все обратно ;) 0xc0000005 - STATUS_ACCESS_VIOLATION - к неверным...
Если в начале функции будут инструкции типа jmp label_1 ..... ; байт эдак n-цать кода label_1: или call [чего-то там] или lea eax, [edx +...
Имена участников (разделяйте запятой).