NtCreateProcess (Ex) - Могу ли я, чтобы дочерний процесс наследовал адресное пространство родителей при запуске под другим именем процесса? - PullRequest
0 голосов
/ 22 сентября 2018

Я вызываю NtCreateProcessEx с аргументом дескриптора раздела, установленным в NULL, чтобы создать процесс пользовательского режима, который инициализируется копией адресного пространства родителей.

Я хочу, чтобы дочерний процесс выполнялся поддругое имя изображения, отличное от имени родительского процесса.

Возможно ли это вообще?

Вот мой вызов NtCreateProcessEx:

HANDLE fileHandle;
OBJECT_ATTRIBUTES ObjectAttributes = { 0 };

UNICODE_STRING InputString;

RtlInitUnicodeString( &InputString, L"C:\\Users\\user\\Documents\\codeblocks_projects\\test\\bin\\Release\\test.exe" );

ObjectAttributes.Length = sizeof( OBJECT_ATTRIBUTES );
ObjectAttributes.ObjectName = &InputString;

NTSTATUS status = NtCreateProcessEx( &fileHandle, PROCESS_QUERY_INFORMATION, &ObjectAttributes, GetCurrentProcess(), PS_INHERIT_HANDLES, NULL, NULL, NULL, FALSE );

printf_s( "%x\n", status );

Статус 0xC0000033 - STATUS_OBJECT_NAME_INVALID,если я не передаю атрибуты объекта, вызов работает нормально.

Что мне здесь не хватает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...