Кто нибудь сталкивался с такой проблемой? В перехваченной функции CreateProcessInternalW изменяем флаг dwCreationFlags на CREATE_SUSPENDED ....далее ничего не делая, не меняя ни контекст процесса, ни инжектируя код, просто выполняем ResumeThread и процесс вылетает... пробывал возобновлять приостановленный процесс приаттаченным в отладчике - тут же вылазиет исключение 0xC0000142 = STATUS_DLL_INIT_FAILED Причем это заметил пока только с WinRAR, все другие программы запускаются успешно.
Andrew_Kuz STATUS_DLL_INIT_FAILED - процедура инициализации модуля завершилась с ошибкой. Подобное происходит при создании потоков без нотификации csrss, тогда при инициализации kernel32.dll возникнет ошибка при коннекте к серверу(_BaseDllInitialize() -> CsrClientConnectToServer() -> #STATUS_PORT_CONNECTION_REFUSED). Можно снять загрузочный лог, тогда будет выведено отладочное сообщение. Для этого необходимо создать ключ в реестре с именем приложения в Image File Execution Options и установить параметр "GlobalFlag" = 2. В этом случае PEB.BeingDebugged должен быть установлен в TRUE есчо до начала инициализации процесса.