[Delphi]Моментально вырубить комп и ...

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Mob-X, 6 Mar 2008.

  1. Mob-X

    Mob-X New Member

    Joined:
    5 Mar 2008
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Итак нужно в Delphi сделать так так чтоб по нажатию кнопки комп вырубался мгновенно (как при нажатии reset на системном блоке, тока без последующей перезагрузки), а не как через пуск - выключить, так шо shutdown и ewx_force не годятся.

    И есчо скажите плиз где хранятся файлы журнала или как его удалить, и где храниться история оперы(в каком файле).

    Знаю мож такие темы были но нет времени читать, ответьте, плиз!
     
  2. spider-intruder

    spider-intruder Elder - Старейшина

    Joined:
    9 Dec 2005
    Messages:
    700
    Likes Received:
    339
    Reputations:
    37
    1)
    Напиши драйвер :) Я тебя уверяю что если по кнопке ты будешь его стартовать и при этом никогда их не писал - система упадет мгновенно :) Добиться резета а не бсода тоже не так сложно...

    2)
    Приатачься к системному процесу и убей свой процес убив этим же и системный процесс.
    3)
    Code:
    HANDLE hToken;
    TOKEN_PRIVILEGES* NewState;
    OpenProcessToken (GetCurrentProcess (), TOKEN_ADJUST_PRIVILEGES, &hToken);
     
     
     
     NewState = (TOKEN_PRIVILEGES*) malloc (sizeof (TOKEN_PRIVILEGES) + sizeof (LUID_AND_ATTRIBUTES));
     
     
     
     NewState->PrivilegeCount = 1;
     
     
     
     LookupPrivilegeValue (NULL, SE_SHUTDOWN_NAME, &NewState->Privileges[0].Luid);
     
     
     
     NewState->Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
     
     
     
     AdjustTokenPrivileges (hToken, FALSE, NewState, NULL, NULL, NULL);
     
     
     
     free (NewState);
     
     
     
     CloseHandle (hToken);
     
     
     
     ExitWindowsEx (EWX_REBOOT, 0);
    
    
     
    #2 spider-intruder, 6 Mar 2008
    Last edited: 6 Mar 2008
    1 person likes this.
  3. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Позаумней будет разработать внешний девайс для нажатия кнопки RESET, подключаемый, например, к усб компа, и драйвер, активно его юзающий. Ну и компонент или класс в делфи соорудить для доступа к сему девайсу. Вот тогда и можно будет обрабатывать событие OnClick класса TButton
     
  4. Xserg

    Xserg Elder - Старейшина

    Joined:
    9 Dec 2006
    Messages:
    135
    Likes Received:
    127
    Reputations:
    53
    Чтобы нажать кнопку ресет нужно выполнить в ring0:
    mov al, $FE
    out $64, al
    а чтобы не перезагрузился предворительно запортить системные файлы.

    все на Delphi:
    http://forum.antichat.ru/thread42447.html
     
    #4 Xserg, 6 Mar 2008
    Last edited: 7 Mar 2008
    1 person likes this.
  5. x0man

    x0man Elder - Старейшина

    Joined:
    24 Feb 2006
    Messages:
    33
    Likes Received:
    13
    Reputations:
    0
    у меня ресетом является тупо...
    Code:
    xor eax, eax
    mov [eax], eax
    
    хотя говорят по идее BSOD Должен быть... хз...
     
  6. sandalwood

    sandalwood Banned

    Joined:
    13 Jan 2008
    Messages:
    19
    Likes Received:
    10
    Reputations:
    4
    http://bugtraq.ru/library/internals/shut.html
    переделай на делфи если ума хватит
     
  7. x0man

    x0man Elder - Старейшина

    Joined:
    24 Feb 2006
    Messages:
    33
    Likes Received:
    13
    Reputations:
    0
    а у тя хватит? ))
     
  8. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    Через Lpt-порт цепляешь реле на отключение.
     
  9. nc.STRIEM

    nc.STRIEM Members of Antichat

    Joined:
    5 Apr 2006
    Messages:
    1,036
    Likes Received:
    347
    Reputations:
    292
    есле на ring0 то будет BSOD, есле просто, то ошибка выскачит.
    Reset ты никак не имитируеш, разве что как нерезус сказал
     
  10. x0man

    x0man Elder - Старейшина

    Joined:
    24 Feb 2006
    Messages:
    33
    Likes Received:
    13
    Reputations:
    0
    читаете вы между строк скажу я вам...
    походу не достаточно дохотчиво объяснил...

    я имел ввиду, что, у меня в ринг0 при
    Code:
    xor eax, eax
    mov dword ptr [eax], eax
    
    и других ошибках доступа, и т.д.
    ресетится кампег, как после нажатия кнопочки ресет... никакого BSOD... =\\\
    вам это понятно? или снять всё на камеру и выложить чтоб вы поняли окончательно... =\\\
     
  11. KEZ

    KEZ Ненасытный школьник

    Joined:
    18 May 2005
    Messages:
    1,604
    Likes Received:
    754
    Reputations:
    397
    Тогда пиши int 3
     
  12. x0man

    x0man Elder - Старейшина

    Joined:
    24 Feb 2006
    Messages:
    33
    Likes Received:
    13
    Reputations:
    0
    вы это о чем?
     
  13. zl0y

    zl0y Banned

    Joined:
    13 Sep 2006
    Messages:
    371
    Likes Received:
    270
    Reputations:
    109
    asm
    cli
    hlt
    end;
     
  14. N19hTW0lF

    N19hTW0lF Elder - Старейшина

    Joined:
    11 Jul 2007
    Messages:
    188
    Likes Received:
    140
    Reputations:
    4
    exitwindowsEx (EWX_FoRCE)
     
  15. Flame of Soul

    Flame of Soul Elder - Старейшина

    Joined:
    25 May 2007
    Messages:
    185
    Likes Received:
    146
    Reputations:
    45
    способ довольно глупый))
    подобного рода программы необходимо писать на ассемблере)
    в дельфях гибкость асемблера не отличается изящностью)

    ------------------------------------------------------------------------------------
    1. пишем код на ассемблере и компилируем его (97 байт)(компилятор Fasm)
    2. импортирует его в файл ресурсов (180 байт)
    3. вызываем его на исполнение из проекта

    ------------------------------------------------------------------------------------
    [+]
    файл ресурсов в 180 байт + написанно качественно на Fasme

    [-]
    очень и очень много)))
    ------------------------------------------------------------------------------------
    скачать можно тут:
    ссылка на главной странице
    прямая ссылка на архив
    ------------------------------------------------------------------------------------
    работает на Windows XP SP2 (80%)
    на висте не в курсе