мгновенный шатдаун

Тема в разделе "WASM.BEGINNERS", создана пользователем afybc, 23 сен 2006.

  1. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Код (Text):
    1. typedef enum _SHUTDOWN_ACTION {
    2.     ShutdownNoReboot,
    3.     ShutdownReboot,
    4.     ShutdownPowerOff
    5. } SHUTDOWN_ACTION;
    6.  
    7. NTSTATUS
    8. NtShutdownSystem (
    9.     __in SHUTDOWN_ACTION Action
    10.     )
    11.  
    12. /*++
    13.  
    14. Routine Description:
    15.  
    16.     This service is used to safely shutdown the system.
    17.  
    18.     N.B. The caller must have SeShutdownPrivilege to shut down the
    19.         system.
    20.  
    21. Arguments:
    22.  
    23.     Action - Supplies an action that is to be taken after having shutdown.
    24.  
    25. Return Value:
    26.  
    27.     !NT_SUCCESS - The operation failed or the caller did not have appropriate
    28.         privileges.
    Если вызывать как стуб, то экспортируется ntdll, иначе нужно знать номера сервиса например http://ntinside.narod.ru/sdt.html
     
  2. Semiono

    Semiono Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2005
    Сообщения:
    774
    А попроще не бывает, без знания си. хоть бы кусок какой например из асма. :\
     
  3. Semiono

    Semiono Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2005
    Сообщения:
    774
    решено.
     
  4. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Код (Text):
    1. typedef enum _FIRMWARE_REENTRY {
    2.     HalHaltRoutine,
    3.     HalPowerDownRoutine,
    4.     HalRestartRoutine,
    5.     HalRebootRoutine,
    6.     HalInteractiveModeRoutine,
    7.     HalMaximumRoutine
    8. } FIRMWARE_REENTRY, *PFIRMWARE_REENTRY;
    9.  
    10. NTHALAPI
    11. VOID
    12. HalReturnToFirmware (
    13.     IN FIRMWARE_REENTRY Routine
    14.     );
    Будет "как из розетки".
     
  5. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    Чем пример на руткитах не устраивает?
     
  6. DoubleOn

    DoubleOn New Member

    Публикаций:
    0
    Регистрация:
    31 мар 2009
    Сообщения:
    62
    создаешь бат файл и вставляешь туда shutdown.exe -s -f -t 00
    Даже писатьи компилить не надо!

    Кстати хотелось бы на уровне ассемблера такую прогу увидеть!!
     
  7. Folk Acid

    Folk Acid New Member

    Публикаций:
    0
    Регистрация:
    23 авг 2005
    Сообщения:
    432
    Адрес:
    Ukraine
    DoubleOn
    При исходниках винды на руках понтоваться может всякий
     
  8. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    http://rootkits.su/viewtopic.php?id=616
     
  9. Semiono

    Semiono Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2005
    Сообщения:
    774
    Спасибо! Мне уже указали на руткитс тоже! Хотя чёже он не гуглился не ясно, а сам я как то бывал,
    но не запомнил эту дорогу.

    Так чтоль :)
    Код (Text):
    1. lpFile db 'shutdown.exe',0
    2. lpParameters db '-r -f -t 00',0
    3.  
    4. start:
    5.         invoke  ShellExecute,NULL,NULL,lpFile,lpParameters,NULL,SW_HIDE
    6. exit:
    7.         invoke  ExitProcess,0
    ЗЫ ты мой EmuPMixDSP.exe не видел, его так просто не свалить на твикатой винде!
    Процесс не вырубается из диспетчера задач тоже.
    Хотя вот от каких служб это зависит, я уже долго бьюс над вопростом, ведь раньше работало!
    Раньше даже через shutdown.exe нормально перезагружалось EmuPMixDSP.exe тоже.

    Скорее это даже от совокупности сервисов зависит, где-то примерно на что я думю
    Application Layer Gateway
    Windows Firewall/Internet Connection Sharing (ICS)
    Secondary Logon
    или
    WMI драйверз экстеншнпс и апс лейер всякое...
    COM+
    кстати, последние две для меня вообще загдка, удалял их сто раз, хуже не стало,
    вообще непонятно нафиг это нужно в системе, хотя какбудто бы что то серьёзное судя
    по витьеватому описанию нивразумительному :)

    Руткитс код скампилил, хотя масм гемор, вспоминал как там линковать ))
    это вообще криво
    include \masm32\include\w2k\ntdll.inc
    папки w2k небыло в дистре... Но других проблем нет :)
     
  10. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Сервисы.. одно и тоже всюду, в юзермоде ниже ничего нет. В ядре хал экспортирует необходимый функционал.
     
  11. Semiono

    Semiono Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2005
    Сообщения:
    774
    У меня просто при удалении каких-то сервисов стала невозможной перезагрузка через shutdown.exe,
    потому-что процесс от звуковой карты EmuPMixDSP.exe (EMU-0404) вешает систему.
    Через GUI меню всё перезагружается нормально. Сам EmuPMixDSP тоже только через его графический
    exit можно выгрузить, штука серьёзная весьма :) Наверное специально такую стабильность зделали.
    Но мне очень интересно какие это службы могут влиять на функционал shutdown.exe!
    Хотя может быть дело не в службах, но тогда вообще никаких догадок не могу себе представить.
     
  12. Semiono

    Semiono Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2005
    Сообщения:
    774
    Помогите конвертнуть? :))
    Сразу на Enabled BOOLEAN ? ругается, видимо это из windows.inc фитча
    Причём я понятия не имею откуда RtlAdjustPrivilege импортить =)
    Код (Text):
    1. include '%fasm%\win32ax.inc'
    2. entry start
    3.         ; .386
    4.         ; .model flat, stdcall
    5.         ; option casemap:none
    6.  
    7. section '.idata' import data readable writeable
    8.         library kernel32,'KERNEL32.DLL',ntdll,'NTDLL.DLL',user32,'USER32.DLL'
    9.         include '%fasm%\api\kernel32.inc'
    10.         include '%fasm%\api\user32.inc'
    11.         import ntdll,ZwShutdownSystem
    12.         ;------------------------------------
    13.         ; include \masm32\include\kernel32.inc
    14.         ; include \masm32\include\windows.inc
    15.         ; include \masm32\include\user32.inc
    16.         ; include \masm32\include\ntdll.inc
    17.         ; includelib \masm32\lib\ntdll.lib
    18.         ; includelib \masm32\lib\kernel32.lib
    19.         ; includelib \masm32\lib\user32.lib
    20.         ;------------------------------------
    21.  
    22.         ; C:\masm32\bin\ml.exe /c /coff ZwShutdown.asm
    23.         ; C:\masm32\bin\link.exe /subsystem:windows ZwShutdown.obj
    24.  
    25. section '.data' data readable writeable executable
    26.         ; .data
    27. szntdll db "ntdll.dll", 0
    28.         ; .data?
    29. hMod dd ?
    30. Enabled BOOLEAN ?
    31.         ; .const
    32. ShutdownNoReboot dd 0
    33. ShutdownReboot   dd 1
    34. ShutdownPowerOff dd 2
    35. SE_SHUTDOWN_PRIVILEGE  equ 19 ; 19L
    36.         ; .code
    37. start:
    38.         lea     edi, Enabled
    39.         invoke  RtlAdjustPrivilege,SE_SHUTDOWN_PRIVILEGE,TRUE,FALSE,edi
    40.         invoke  ZwShutdownSystem,ShutdownPowerOff
    41.         invoke  ExitProcess,0
    42.         ; end start
     
  13. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    RtlAdjustPrivilege() экспортируется ntdll.
     
  14. Vilco

    Vilco Vitaly

    Публикаций:
    0
    Регистрация:
    5 мар 2007
    Сообщения:
    190
    Адрес:
    Nsk, Russia
    BOOLEAN typedef BYTE
    PBOOLEAN typedef DWORD (windows.inc)

    RtlAdjustPrivilege импортируется из NTDLL
     
  15. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    Может fasm DDK скачаешь?
     
  16. FifthAngel

    FifthAngel New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2008
    Сообщения:
    15
    Адрес:
    Russia
    Ух-ты, мой ламерский код кому-то, пригодился *ROFL*
    Все еще осталось к этому проекту файлы
    компиляции: батник, и т.д. т.п.
     
  17. Semiono

    Semiono Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2005
    Сообщения:
    774
    для фасма? :-\
     
  18. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Semiono
    Есть машинный код, это массив опкодов. Работает в случае если это пикод, иначе нужен импорт. Всеголишь определить ServiceId(Version) и вызвать сервис, привилегии получаются посредством NtOpenProcessToken/NtAdjustPrivilegesToken. Уже стопятцот раз говорил что стуб не сервис, последний определяется идентификатором, более для вызова ничего не нужно.
    ps: Масм рулит.
     
  19. mupsy

    mupsy New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2008
    Сообщения:
    55
    Заверши winlogon.exe мнгновенно вырубается...
     
  20. Semiono

    Semiono Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2005
    Сообщения:
    774