Скрыть пользователя из диспетчера задач

Скрываем процесс в диспетчере задач Windows

Intro

Часто анонимность и скрытность играют ключевую роль в успешном выполнении каких-либо действий как в реальности, так и в виртуальности, в частности в операционных системах. В данной статье речь пойдет о том, как стать анонимным в OS Windows. Вся информация предоставлена лишь для цели ознакомления.

Итак, мы попробуем скрыться от глаз пользователя в диспетчере задач Windows. Способ, с помощью которого мы будем этого добиваться является чрезвычайно простым по отношению к тем, которые основаны на перехвате ядерных( часто недокументированных ) функций и на создании собственных драйверов.

Суть метода: поиск окна Диспетчера Задач -> поиск в нем дочернего окна( списка ), содержащего имена всех процессов -> удаление из списка нашего процесса.

Как видно, что с нашим процессом никаких манипуляций производиться не будет: он как работал, так и будет себе работать. Так как стандартный рядовой пользователь Windows, как правило, не использует никаких других тулз для просмотра запущенных процессов на его компьютере, то это лишь сыграет нам «на руку». Процесс в большинстве случаев обнаружен не будет.

Что использовалось для исследования:

1) Spy++ от Microsoft ( для изучения иерархии дочерних окон Диспетчера задач )
2) OllyDBG для просмотра функций, используемых диспетчером для получения снэпшота процессов.
3) Собственно, сам taskmng.exe( Диспетчер задач )

Для написания кода будем использовать среду Delphi. Скорее, Delphi будет удобнее в нашем случае, нежели C++. Но это лишь мое скромное мнение.

Что ж, первым делом попытаемся выяснить, что из себя представляет список процессов и как он работает. С полувзора понятно, что это обычное окно класса «SysListView32»( список ), которое обновляется с частотой 2 кадра в секунду( раз в 0.5 секунд ). Смотрим иерархию окон:

Как видим, список процессов, в самом деле, есть обычное окно класса «SysListView32», которое является дочерним по отношению к окну(вкладке) «Процессы», которое также является дочерним по отношению к главному окну Диспетчера задач. Имеем лишь двойной уровень вложенности. Кроме того у списка имеется одно дочернее окно класса «SysHeader32», которое, как не трудно догадаться является заголовком( маркером полей ) для списка процессов.
Так как перед нами обычный список, то в нашем распоряжении целый набор макрокоманд для управления его содержимым. Их разнообразие, на первый взгляд, восхищает. Но многие из них работают лишь из родительского процесса, т.е чтобы их нам использовать, необходимо будет сымитировать, будто они выполняются в родительском процессе. Но таковым свойством обладают не все, в частности, макрокоманда ListView_DeleteItem, которая удаляет элемент из окна-списка( класс «SysListView32» ).
Её мы и будем использовать в процессе нашего приложения. Данная функция вторым параметром получает индекс удаляемого элемента.
Теперь нам надо как-то выяснить, каким же индексом обладает элемент с лэйблом скрываемого процесса в диспетчере задач. Для этого нам нужно как-то вытащить из списка процессов в диспетчере задач все элементы( лэйблы с именами процессов ) и последовательно их сравнивать с именем того процесса, который мы желаем скрыть.

Используя макрокоманды типа ListView_GetItemText наши действия были бы примерно следующими:

1) Выделение участка памяти в процессе диспетчера задач ( VirtualAllocEx )
2) Посылка дочернему окну-списку Диспетчера задач сообщения LVM_GETITEMTEXT ( SendMessage )
3) Запись в выделенную область памяти Диспетчера задач информации об элементе списка ( WriteProcessMemory )
4) Чтение из памяти диспетчера той информации, которая нас интересует о процессе ( ReadProcessMemory )

Используя этот способ можно легко «выстрелить себе в ногу», считая байты смещения от начала различных используемых в коде структур. Так же этот способ будет достаточно тяжел для тех, кто не особо углублен в WinAPI, так что его мы сразу уберем в сторонку. В прочем, найти реализацию данного способа на просторах интернета не составит особого труда. Вместо этого, я предложу вам сформировать свой список процессов, и уже ориентируясь в нем, искать заветный индекс процесса в списке процессов Диспетчера задач.

В Microsoft решили особо не парится по поводу тулзы, именуемой «Диспетчер Задач», и использовали обычные функции WinAPI для получения всех процессов в системе. Поверхностно смотрим taskmng.exe под отладчиком:

Видим использование WinAPI функции CreateToolHelp32SnapShot.
Всем известно, что ‘эту функцию можно использовать не только для получения снэпшота процессов, но и потоков процесса или модулей, например. Но в данном случае это маловероятно. Вряд ли здесь будут использовать что- то в роде енумератора процессов ( EnumProcesses ).
Мы остановились на том, что хотим сформировать свой список процессов и искать наш процесс в нем. Для этого воспользуемся той функцией, что обнаружили в отладчике. Если откроем диспетчер задач на вкладке «Процессы», то заметим, что все процессы отсортированы по алфавиту для удобства поиска. Следовательно, нам нужно получить список имен всех процессов в системе и отсортировать их по возрастанию в алфавитном порядке. Приступим к написанию кода в Delphi.

Для начала создадим демонстрационное оконное приложение с двумя таймерами: первый будет переформировывать список с процессами с той же частотой, с которой это делает Диспетчер задач Windows( раз в две секунды ); второй будет срабатывать 1000 раз в секунду и будет служить для отслеживания обновления списка процессов в диспетчере и, следовательно, появления нашего скрываемого процесса. Также добавим на форму кнопку.

Вот, собственно, и весь код.
Скроем, например, в Диспетчере задач процесс самого Диспетчера задач:

И по нажатию на кнопку «Скрыть процесс» процесс исчезает из списка:

Все следы присутствия в системе стерты, а сам он спокойно выполняется в обычном режиме где-то в глубинах процессора:)

Outro

Что ж, думаю, такой способ заслуживает существовать, правда он требует небольших доработок. Да, конечно же с его помощью нельзя скрыть процесс от самой системы, но сокрытие в стандартной тулзе Windows, которой пользуется львиная доля всех пользователей, это тоже неплохо.
Надеюсь, мне удалось вас хоть немножечко заинтересовать данной темой.

До скорого! И да пребудет с вами сила анонимности…

Как выйти из системы другого пользователя в Windows 10

Компьютер часто используется совместно с другими людьми, будь то наша семья, друзья или соседи по комнате. Windows позволяет создавать несколько пользователей, чтобы у каждого, помимо прочего, были свои собственные библиотеки, настройки, фоновые рисунки, приложения по умолчанию или собственный дизайн меню «Пуск». Это может привести к тому, что до того, как мы приедем и откроем Windows 10, другие пользователи сделали то же самое в операционной системе, не выходя из системы. Вот почему сегодня мы расскажем вам как мы можем закрыть сеанс другого в Windows 10.

Обычно мы не будем знать данные доступа другого человека, и поэтому мы не сможем пойти и закрыть его сеанс, скажем, традиционным способом, поэтому нам придется выполнить эту задачу другим способом.

Выйти из системы другого пользователя

Диспетчер задач

Первый способ, который мы собираемся показать вам, чтобы закрыть сеанс другого пользователя, — это использовать Системный диспетчер задач . Для этого проделаем следующие шаги:

  • Первое, что мы собираемся сделать, это нажать кнопку Ctrl + Shift + Esc одновременно и на синем экране, который должен появиться, мы выбираем Диспетчер задач .
  • Как только мы перейдем в Администратор, нам нужно перейти на вкладку с надписью Пользователи . На этой вкладке мы найдем информацию о потреблении ресурсов, ЦП, ОЗУ, диска или сети каждым из пользователей, вошедших в систему.

  • Теперь мы выбираем пользователя, которому хотим закрыть сеанс, и щелкните правой кнопкой мыши.
  • В появившемся окне мы должны выбрать Отключить или закрыть сеанс . Таким образом, мы принудительно закрываем сеанс выбранного пользователя, который вошел в наш компьютер. Само собой разумеется, что это приведет к закрытию всех приложений, открытых пользователем, поэтому все, что не было сохранено, может быть потеряно.

PowerShell

Освободи Себя Windows PorwerShell window также не может помочь закрыть сеанс, открытый другим пользователем в Windows 10. Для этого мы должны сделать следующее:

  • Щелкните правой кнопкой мыши символ Windows на панели задач и выберите Windows PowerShell (администратор) из раскрывающегося меню.

  • Следующее, что мы должны сделать, это написать серию команд, которые мы покажем вам ниже.
    • $ server = ‘имя компьютера’
    • $ username = ‘имя пользователя’
    • $ sessionId = ((quser / server: $ server | Where-Object <$ _ -match $ userName>) -split ‘+’) [2]
    • выход из системы $ sessionId / server: $ server
  • Вы должны принять во внимание несколько вещей. Где мы указываем имя компьютера, мы должны поставить имя, которое есть у нашего ПК и где мы помещаем имя пользователя, как вы понимаете, мы должны поместить имя, которое этот человек имеет в нашей системе Windows . Кроме того, после каждой из команд, как вы тоже знаете, мы должны нажимать клавишу Enter ключ.

Командная строка

Другой метод, который мы можем использовать, — использовать командную строку для достижения того же результата, что и в предыдущих случаях. Мы должны предупредить вас, что этот метод, которому мы собираемся научить вас, работает не для всех, и вы можете попытаться сделать это и получить ошибку. Шаги, которые мы должны выполнить, следующие:

  • Мы должны открыть Командная строка , но в его версии Администратор . Для этого мы переходим на панель задач, и там, где она позволяет нам писать, мы собираемся поместить CMD Администратор . Вы увидите, как мы можем его открыть, если посмотрим на ту часть, где написано command.

  • Как только у нас появится командная строка в администраторе на экране, нам просто нужно введите эту команду И затем нажмите Enter.
    • сеанс запроса
  • Таким образом, мы собираемся добиться того, чтобы показывает нам всех пользователей в настоящее время подключены к операционной системе и поэтому без сомнения знаем, какую из них мы должны закрыть.
  • После того, как мы увидели идентификатор пользователя, сеанс которого мы собираемся закрыть, мы пишем следующее, зная, что X, который мы помещаем, — это место, куда мы должны поместить номер идентификатора пользователя.
    • идентификатор выхода X

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

Сменить пользователя в Windows 10

Хотя в большинстве случаев это не так, возможно, мы знаем пароль для входа в систему другого пользователя, поэтому нам не придется тренироваться, чтобы закрыть сеанс, как мы видели выше, то есть грубо. Если мы меняем только от одного пользователя для другого мы могли бы даже сохранить открытую информацию и, таким образом, не потерять ее. Способ сделать это очень просто.

  • Мы должны открыть Меню Пуск Windows а затем нажмите на фото нашего профиля.
  • В это время будут отображены несколько параметров, например:
    • Измените настройки учетной записи : он откроет то, что необходимо для изменения всей информации указанной учетной записи, в дополнение к фотографии профиля.
    • Заблокировать : здесь мы можем заблокировать оборудование, поэтому при следующем запуске оно попросит нас ввести ПИН-код или пароль.
    • Закрыть сеанс : мы закроем активный сеанс и перейдем к экрану приветствия Windows.
    • Другие аккаунты : если у нас есть другие пользователи на компьютере, мы сможем увидеть остальные учетные записи, которые настроены на этом компьютере.
  • Тогда мы должны выбрать либо Закрыть сеанс , что заставит нас перейти на экран приветствия Windows и потерять то, что мы не сохранили, или мы могли бы нажать на другой аккаунт и он приведет нас прямо к нему, но не закрывает нашу.

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

Это способы закрыть сеанс других пользователей, не зная, что такое пароль для входа и не зная его, хотя, как мы уже сказали, это не самое нормальное действие.

Как скрыть пользователя в системе?

В базовом функционале Windows 7 пользователя можно только удалить, возможности скрыть нет. Вот создали пользователя Super – и мы можем его только удалить.

На самом деле просто в графическом интерфейсе этого нет, а само скрытие пользователя предусмотрено. Будем редактировать реестр.

Идем в HKEY_LO CAL_MACHINE \SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

и создаем внутри 2 новых раздела (правая кнопка мыши). В качестве имени раздела указываем SpecialAccounts, затем внутри этого раздела создаем раздел UserList.

Создаем Параметр DWORD в названии которого указываем имя учетной записи “ненужного” пользователя (в нашем случае Super).

Все – теперь пользователя Super больше не видно на экране приветствия. Данная настройка скрывает пользователя не только на экране приветствия, но и в оснастке Учетные записи пользователей Панели управления, однако они остаются доступными через оснастку Локальные пользователи и группы консоли MMC.

Если вам нужно вернуть пользователя обратно, достаточно удалить его из раздела UserList.

Примечание. В Windows XP делается аналогично, только разделы реестра SpecialAccounts и UserList создавать не нужно, они там существуют изначально.

Вы можете сохранить ссылку на эту страницу себе на компьютер в виде htm файла

Вы будете видеть наш сайт у себя в ленте

Нажмите «Нравится» или напишите сообщение


источники:

http://itigic.com/ru/how-to-log-out-of-another-user-in-windows-10/

http://comphome.ru/windows-7/kak-skryt-polzovatelya-v-sisteme.html