flat assembler
Message board for the users of flat assembler.
Index
> Windows > can't shutdown |
Author |
|
tester3000 24 Jul 2009, 12:01
Use Native API
ZwShutdownSystem |
|||
24 Jul 2009, 12:01 |
|
semiono 25 Jul 2009, 21:17
maybe an one exapmle...
i need a little binary ZwReboot.exe, please examply? invoke ZwShutdownSystem ... import ntdll.dll ? _________________ Windows 9, FL Studio 19 |
|||
25 Jul 2009, 21:17 |
|
tester3000 26 Jul 2009, 17:01
Code: format PE GUI 4.0 entry start include 'win32a.inc' section '.data' data readable writeable TOKEN_ADJUST_PRIVILEGES = 20h TOKEN_QUERY = 8h SE_PRIVILEGE_ENABLED = 2h struct LUID lowPart dd ? HighPart dd ? ends struct LUID_AND_ATTRIBUTES pLuid LUID Attributes dd ? ends struct _TOKEN_PRIVILEGES PrivilegeCount dd ? Privileges LUID_AND_ATTRIBUTES ends TTokenHd dd ? udtLUID LUID tkp _TOKEN_PRIVILEGES SE_SHUTDOWN_NAME db 'SeShutdownPrivilege',0 pModule db 'ntdll.dll',0 lpProcName db 'NtShutdownSystem',0 section '.code' code readable executable start: invoke GetCurrentProcess invoke OpenProcessToken,eax,TOKEN_ADJUST_PRIVILEGES+TOKEN_QUERY,TTokenHd or eax,eax jz exit invoke LookupPrivilegeValue, NULL, SE_SHUTDOWN_NAME, udtLUID or eax,eax jz exit mov [tkp.PrivilegeCount],1 mov [tkp.Privileges.Attributes],SE_PRIVILEGE_ENABLED mov eax,[udtLUID.lowPart] mov [tkp.Privileges.pLuid.lowPart],eax mov eax,[udtLUID.HighPart] mov [tkp.Privileges.pLuid.HighPart],eax invoke AdjustTokenPrivileges,[TTokenHd],0,tkp,0,0,0 invoke GetModuleHandle,pModule invoke GetProcAddress,eax,lpProcName push 0 call eax exit: invoke ExitProcess,0 section '.idata' import data readable writeable library kernel32,'KERNEL32.DLL',\ advapi32,'ADVAPI32.DLL',\ user32,'USER32.DLL' include 'api\kernel32.inc' include 'api\advapi32.inc' include 'api\user32.inc' Еще можешь глянуть тут http://rootkits.su/viewtopic.php?id=616 |
|||
26 Jul 2009, 17:01 |
|
semiono 27 Jul 2009, 02:10
tester3000 wrote: Еще можешь глянуть тут http://roo Spasibo bolshuschee!!! _________________ Windows 9, FL Studio 19 |
|||
27 Jul 2009, 02:10 |
|
semiono 27 Jul 2009, 02:26
Incredible! I have not even hope, but it's best work! Cheers!
hmm.. How to restart? please, only one more? i'm shocked to reboot code has 90% privilegies manipulations - paranoidal security of system win32 |
|||
27 Jul 2009, 02:26 |
|
semiono 27 Jul 2009, 02:53
push 1 ; reboot
|
|||
27 Jul 2009, 02:53 |
|
tester3000 27 Jul 2009, 13:01
Кстати я узнал про эту native api отлаживая прогу в ольке так что если нет готового кода попробуй дизасмить чужой софт
|
|||
27 Jul 2009, 13:01 |
|
semiono 27 Jul 2009, 15:51
tester3000, а задержку там нельзя устроить? Всё работает, но чисто если говорить об ощущениях, чисто, то впечатление как от бсод, как будто сразу сваливается!
Простой шатдаун даже при времени -t 0 как-то приостанавливался, как бы. Просто я о том думаю, не будет ли креш зависших приложений, хотя понятно что надо самому закрывать всё перед выходом, но тем не менее бэкграунд всякие сервисы, они не полетят от такого быстрого ребута? Всмысле я думаю, в чём вообще отличия от кнопки Меню Пуск> Перезагрузка? Или там примерно такой же код? Ещё раз спасибо! А насчёт перезагрузки, правильно что я в пуш 1 положил, или как-то можно лучше зделать было?? Кстати, я по той ссылке код тоже масмом скампилил, хотя масм это вообще рутина такая, пришлось даже погуглить, начёт комманд строки, такой же дремучий как тасм, не завидую кто с ним дело имеет, зачем себя мучить, когда фасм есть. Одна установка батниками чего стоит! Хотя наверное какие-то прелести люди там тоже находят. |
|||
27 Jul 2009, 15:51 |
|
tester3000 27 Jul 2009, 16:50
Из справочника по ZwShutdown Api:
User-mode applications and services are not informed of the shutdown (drivers of devices that have registered for shutdown notification by calling IoRegisterShutdownNotification are informed). Типо обычные программы и сервисы не получают сообщение о выключении а драйверы получают если только предварительно они зареганы вызовом IoRegisterShutdownNotification ну насчет драйверов я пока 0 так что могу ошибаться Quote: tester3000, а задержку там нельзя устроить? Для этого обычные Api сгодятся Sleep или SetTimer Quote: А насчёт перезагрузки, правильно что я в пуш 1 положил, или как-то можно лучше зделать было?? Code: push 0 - Shutdown push 1 - Reboot Еще можно в спящий режим также но там др. Native api нужна NtInitiatePowerAction Quote: Меню Пуск> Перезагрузка? Или там примерно такой же код? Нет там ExitWindowsEx или ExitWindows api используется: Quote:
Т.е. процессу посылается сообщение о завершении если оно не ответило во время то появляется окошко типо завершить процесс или отменить думаю не раз такое видел. Если указан параметр EWX_FORCE то если процесс не ответил он насильно завершается без предупреждения Quote: Кстати, я по той ссылке код тоже масмом скампилил, хотя масм это вообще Да masm кака мне на васме предлагали его бросить нафуй (http://wasm.ru/forum/viewtopic.php?id=33718) п.с. надо заканчивать с рашеном а то по банану получим |
|||
27 Jul 2009, 16:50 |
|
semiono 27 Jul 2009, 19:38
FASM Forever!
|
|||
27 Jul 2009, 19:38 |
|
semiono 27 Jul 2009, 21:20
released for end user: (C)
Code: include '%fasm%\win32ax.inc' entry start section '.rsrc' resource data readable directory RT_ICON,icons,RT_GROUP_ICON,group_icons,RT_VERSION,versions resource icons,\ 1,LANG_NEUTRAL,icon_data1,\ 2,LANG_NEUTRAL,icon_data2,\ 3,LANG_NEUTRAL,icon_data3,\ 4,LANG_NEUTRAL,icon_data4 resource group_icons,17,LANG_NEUTRAL,main_icon resource versions,1,LANG_NEUTRAL,version icon main_icon,\ icon_data1,'%icons%\16x16.ico',\ icon_data2,'%icons%\32x32.ico',\ icon_data3,'%icons%\48x48.ico',\ icon_data4,'%icons%\64x64.ico' versioninfo version,VOS__WINDOWS32,VFT_APP,VFT2_UNKNOWN,LANG_ENGLISH+SUBLANG_DEFAULT,0,\ 'FileDescription','NtShutdown...',\ ; NtReboot... 'LegalCopyright','2001-2005 GmbH',\ 'FileVersion','1.0.0.0',\ 'ProductVersion','1.0.0.0',\ 'OriginalFilename','NtShutdown.exe',\ ; NtReboot.exe 'Company','tester3000' section '.idata' import data readable writeable library advapi32,'ADVAPI32.DLL',kernel32,'KERNEL32.DLL',user32,'USER32.DLL' include '%fasm%\api\kernel32.inc' include '%fasm%\api\advapi32.inc' include '%fasm%\api\user32.inc' section '.data' data readable writeable executable TOKEN_ADJUST_PRIVILEGES = 20h TOKEN_QUERY = 8h SE_PRIVILEGE_ENABLED = 2h struct LUID lowPart dd ? HighPart dd ? ends struct LUID_AND_ATTRIBUTES pLuid LUID Attributes dd ? ends struct _TOKEN_PRIVILEGES PrivilegeCount dd ? Privileges LUID_AND_ATTRIBUTES ends TTokenHd dd ? udtLUID LUID tkp _TOKEN_PRIVILEGES SE_SHUTDOWN_NAME db 'SeShutdownPrivilege',0 pModule db 'ntdll.dll',0 lpProcName db 'NtShutdownSystem',0 start: invoke Sleep,5000 invoke Beep invoke GetCurrentProcess invoke OpenProcessToken,eax,TOKEN_ADJUST_PRIVILEGES+TOKEN_QUERY,TTokenHd or eax,eax jz exit invoke LookupPrivilegeValue, NULL, SE_SHUTDOWN_NAME, udtLUID or eax,eax jz exit mov [tkp.PrivilegeCount],1 mov [tkp.Privileges.Attributes],SE_PRIVILEGE_ENABLED mov eax,[udtLUID.lowPart] mov [tkp.Privileges.pLuid.lowPart],eax mov eax,[udtLUID.HighPart] mov [tkp.Privileges.pLuid.HighPart],eax invoke AdjustTokenPrivileges,[TTokenHd],0,tkp,0,0,0 invoke GetModuleHandle,pModule invoke GetProcAddress,eax,lpProcName push 0 ; push 1 call eax exit: invoke ExitProcess,0 |
|||
27 Jul 2009, 21:20 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.