1. C++ / Говнокод #15574

    +19

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    #include <Windows.h>
    
    int main(int argc, char* argv[])
    {
    	PostMessageA(HWND_BROADCAST, WM_CLOSE, 0, 0);       // Противник оглушен!
    	PostMessageA(HWND_BROADCAST, WM_DESTROY, 0, 0);  // Finish him!
    	PostMessageA(HWND_BROADCAST, WM_QUIT, 0, 0);         // FATALITY!!!
    
    	return 0;
    }

    Вот так, легко и непринужденно, мы заставляем ОС Windows перезагрузиться с потерей всех несохраненных данных, попутно кладя большой и толстый на UAC.

    Запостил: gost, 25 Марта 2014

    Комментарии (31) RSS

    • Винда сделала logout.
      Ответить
    • это не бага, это фича. и вообще можно устроить, если не ошибаюсь, из командной строки.
      и аналогичное можно сделать и в линухе.
      Ответить
      • > это не бага, это фича. и вообще можно устроить, если не ошибаюсь, из командной строки.
        > rundll32
        Дойдет ли батник до третей команды или терминал закроется до этого?
        Ответить
    • > заставляем ОС Windows перезагрузиться с потерей всех несохраненных данных
      Не заставляем перезагрузиться, а убиваем текущую пользовательскую сессию. ExitWindowsEx(EWX_LOGOFF | EWX_FORCE, 0) тоже должно проканать.

      А еще можно удалить все пользовательские данные. И UAC об этом тоже ничего не скажет. Ибо это не его забота :)
      Ответить
      • > ExitWindowsEx(EWX_LOGOFF | EWX_FORCE, 0) тоже должно проканать.
        Попробовал на XP - канает (виртуалки с семеркой нет под рукой). Проги спрашивают о том, хочу ли я сохранить данные, но тут же следом умирают. И это не баг, а фича. Причем документированная на MSDN.

        И UAC тут не виноват, он всего лишь защищает других юзеров и систему от текущего юзера. Защитой юзера от самого себя он никогда не занимался.
        Ответить
        • shutdown /r /f и красота, без всякого программирования
          Ответить
        • Если действительно
          >Не заставляем перезагрузиться, а убиваем текущую пользовательскую сессию.
          То все логично.
          Ответить
    • Как сломать винду?

      1. Нужен пароль админа.
      Ответить

    Добавить комментарий