Вот код, несложный, фактически передрал с Нэббета - Код (Text): NTSTATUS DriverEntry(IN PDRIVER_OBJECT driverObject, IN PUNICODE_STRING registryPath) { UNICODE_STRING exe_file; HANDLE hFile, haupt_section, hSection, hProcess; RtlInitUnicodeString(&exe_file, L"\\DosDevices\\C:\\file.exe"); OBJECT_ATTRIBUTES оа = {sizeof(OBJECT_ATTRIBUTES), hFile, &exe_file, OBJ_CASE_INSENSITIVE}; status = ZwOpenFile(&haupt_section, FILE_EXECUTE | SYNCHRONIZE,&oa, &iosb, FILE_SHARE_READ, FILE_SYNCHRONOUS_IO_NONALERT); oa.ObjectName = NULL; status = ZwCreateSection(&hSection, SECTION_ALL_ACCESS, &oa, 0, PAGE_EXECUTE, SEC_IMAGE, haupt_section); ZwClose(haupt_section); status = ZwCreateProcess(&hProcess, PROCESS_ALL_ACCESS, &oa, IoGetCurrentProcess(), TRUE, hSection, 0, 0); return status; } ZwOpenFile и ZwCreateSection отрабатывают нормально, но на вызове ZwCreateProcess драйвер даже не стартует. В ZwCreateProcess менял параметры как только можно, но все равно... Где туплю?
Да знаю я..... (( Я ж говорю, в ZwCreateProcess менял параметры как только можно - параметр InheritFromProcessHandle менял от NtCurrentProcess() до (HANDLE)0xFFFFFFFF (как в ZW).... PsGetCurrentProcess() вставил от "а вдруг сработает, бугага???"