Я вызываю 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,если я не передаю атрибуты объекта, вызов работает нормально.
Что мне здесь не хватает?