NtShutdownSystem

Тема в разделе "WASM.NT.KERNEL", создана пользователем SysProger, 21 мар 2009.

  1. SysProger

    SysProger New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2007
    Сообщения:
    127
    Подскажите, как с помощью функций NativeAPI поднять привилегиии до SE_SHUTDOWN_PRIVILEGE. Без этого функция NtShutdownSystem не работает.
     
  2. DeRekX

    DeRekX New Member

    Публикаций:
    0
    Регистрация:
    21 июл 2007
    Сообщения:
    98
    Адрес:
    Russia
    можно добавить привилегии в маркер процесса с помощью своего драйвера
     
  3. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    RtlAdjustPrivilege
     
  4. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    ZwAdjustPrivilegeToken - это из native api.
    из runtime - RtlAdjustPrivilege
     
  5. SysProger

    SysProger New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2007
    Сообщения:
    127
    У меня RtlAdjustPrivilege не поднимает права. Пишу вот так:
    Код (Text):
    1. RtlAdjustPrivilege(SE_SHUTDOWN_PRIVILEGE, TRUE, TRUE, &priv);
    2. if (priv) BootPrint(L"\nShutting down...\n");
    3. NtShutdownSystem(ShutdownPowerOff);
    Сообщение не печатается, винда не останавливается. Сейчас попробую другую функцию.
     
  6. AntiB

    AntiB New Member

    Публикаций:
    0
    Регистрация:
    23 мар 2007
    Сообщения:
    393
    Вот может поможет код на Дельфи, это для выключение компьютера на Windows XP и выше (если не ошибаюсь)
    Код (Text):
    1. //Переменные:
    2. var
    3.   ph: THandle;
    4.   tp ,prevst: TTokenPrivileges;
    5.   rl: DWORD;
    6.   uu: Integer;
    7.  
    8. //Сама функция:
    9.   OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, ph);
    10.   LookupPrivilegeValue(Nil, 'SeShutdownPrivilege', tp.Privileges[0].Luid);
    11.   tp.PrivilegeCount := 1;
    12.   tp.Privileges[0].Attributes := 2;
    13.   AdjustTokenPrivileges(ph, FALSE, tp, SizeOf(prevst), prevst, rl);
    14.  
    15.   ExitWindowsEx(EWX_FORCE+EWX_POWEROFF, 1);
     
  7. JCronos

    JCronos New Member

    Публикаций:
    0
    Регистрация:
    5 апр 2009
    Сообщения:
    98
    http://rootkits.ru/viewtopic.php?id=616