№1 по видеообучению программированию в России! Более 32 000 учеников! Вы с нами?
Меню
- Главная
- Продукты
- Как стать профессиональным программистом?
- Форум здравомыслящих программистов
- RSS лента
- Работы наших учеников
- Личный блог Артёма Кашеварова
- Об авторах
Рубрики
- Видеоуроки от пользователей
- Заработок для программиста
- Личная жизнь
- Поржать
- Работы наших учеников
- Разное
- Разработка игр
- Рассылки
- Сайтостроение
- Уроки для начинающих
- Уроки по C++
- Уроки по Delphi
- Уроки по Java
- Уроки по PHP
- Уроки по WinAPI
- Уроки по разработке для Android
- Уроки по С#
Моя книга
Рекомендую:
Получите видеокурс по программированию для начинающих прямо сейчас:
Как скрыть программу(игру) в панели управления,в «удалении программ»
Самое интересное:
- Форум здравомыслящих программистов
- C# POST и GET запросы на сервер
- С чего начать изучение программирования?
- Об авторах
- Пре-релиз моей книги!
- Современный 3D экшн весом в 96 КБ Krieger
- Что делать если все хреново?
- Клиентское и серверное приложение с использованием сокетов на C++
- Win API для начинающих
- Создаем приложение на Android за 10 мин
Заработать
на этом сайте
Как зарабатывать продавая информацию
C++ Скрыть программу от диспетчера
Октябрь 16, 2013
В данной статье рассмотрим небольшой код о том как можно скрыть программу от диспетчера задач. Мы будем использовать функции WinAPI, подгружая библиотеку KERNEL32. Основная суть в том, что мы будем выдавать наш процесс за сервис, используя функцию RegisterServiceProcess. Итак создаем консольное приложение:
#include #include BOOL (WINAPI *RegisterServiceProcess)(DWORD dwProcessId,DWORD dwType); int main(){ HINSTANCE hKernel; int i=1; //Пытаемся получить идентификатор загруженной библиотеки hKernel=LoadLibrary(«KERNEL32.DLL»); if(hKernel){ //Идентификатор загруженной библиотеки был успешно получен cout»Success load library kernel32.dll» endl; RegisterServiceProcess=(int(__stdcall*)(DWORD,DWORD)) GetProcAddress(hKernel,»RegisterServiceProcess»); if(RegisterServiceProcess){ //Указатель на функцию RegisterServiceProcess был //успешно получен. cout»Success to have address of the specified exported dynamic-link library (DLL) function» endl; if(RegisterServiceProcess(GetCurrentProcessId(),i)) cout»Success registers the process as a service process» endl; //Процесс был успешно зарегестрирован как сервис }else{ //Указатель на функцию RegisterServiceProcess не //был успешно получен. cout»Failed to have address of the specified exported dynamic-link library (DLL) function» endl; cin>>i; return 0; } }else{ //Идентификатор загруженной библиотеки не был получен cout»Failed load library kernel32.dll» endl; cin>>i; return 0; } cout»Registers the process as a service process:1″ endl; cout»Unregisters the process as a service process:0″ endl; cin>>i; if (RegisterServiceProcess(GetCurrentProcessId(),i)){ cout»Success» endl; }else{ cout»Failed» endl; } cin>>i; return 0; }}
Чтобы в процессе сборки не было недоразумений проверьте на вкладке Link поле Object libraries/modules, оно должно быть пустым.
Как скрыть работающие программы в Windows
Источник: programmerinfo.ru
Как скрыть программу в диспетчере
>Как скрыть программу в диспетчере задачь?
Можете не беспокоиться. Диспетчер задач не отображает программ. Он отображает только видимые родительские окна и запущенные процессы :-).
Мне не для вируса я админ клуба и мне надо чтоб юзера не могли завершить один процес. Или посоветуйте как перехватить закрытие форму когда ее закрывают через диспетчер задач.
Если нет — то решается просто — создаётся прога, которая висит в памяти и блокирует запуск Диспетчера задач.
Для администрирования клуба применять такие извращенческие методы просто излишне, как минимум. А если к тебе придёт продвинутый юзер со своей прогой, умеющей показывать и завершать скрытые процессы (а таких не мало), то вся твои старания на смарку :-)))
Левый походу способ — в фаре по F11 «скрытые» таким образом процессы видны.
Там «HideOnlyFromTaskManager — нужно ли прятать процесс только от TaskManager»а, или же от остальных программ» видимо не подразумевается
под словами «остальных программ» использование фара ;-)))
> А от tlhelp32 не спасает.
unit CheckNtDll;
interface
uses
Windows, HsNtDef;
function RealQueryListInformation (InfoClass: Integer; var rc: NTSTATUS;
var ReturnLength: DWORD): Pointer;
function IsNtDllHooked: Boolean;
implementation
uses
SysUtils, NtDll, PeImage, NtStatusDefs;
type
TSysCallData = array[0..13] of Byte;
TNtQuerySystemInformation = function (SystemInformationClass: LongInt;
SystemInformation: Pointer; SystemInformationLength: ULONG;
ReturnLength: PDWORD): NTSTATUS; stdcall;
var
FRealQuerySystemInformation: TNtQuerySystemInformation;
function IsNtDllHooked: Boolean;
const
SDllPath = «%SystemRoot%system32ntdll.dll»;
var
DllPath: ZString;
HFile, HMap: THandle;
Map: Pointer;
Headers: PImageNtHeaders;
QSysInfo: Pointer;
begin
Result := false;
Win32Check(
ExpandEnvironmentStringsA(SDllPath, DllPath, SizeOf(DllPath)) <> 0);
HFile := CreateFileA(DllPath, GENERIC_READ, FILE_SHARE_READ, nil,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, INVALID_HANDLE_VALUE);
Win32Check(HFile <> INVALID_HANDLE_VALUE);
try
HMap := CreateFileMappingA(HFile, nil, PAGE_READONLY, 0, 0, nil);
Win32Check(HMap <> 0);
try
Map := MapViewOfFile(HMap, FILE_MAP_READ, 0, 0, 0);
Win32Check(Assigned(Map));
try
Headers := RtlImageNtHeader(HMODULE(Map));
if Assigned(Headers) then
Result :=
Headers.OptionalHeader.ImageBase <> GetModuleHandle(«ntdll.dll»);
if not Result then begin
QSysInfo := GetProcAddress(GetModuleHandle(«ntdll.dll»),
«NtQuerySystemInformation»);
if Assigned(QSysInfo) then begin
Result := (Cardinal(QSysInfo) Headers.OptionalHeader.ImageBase) or (Cardinal(QSysInfo) >
Headers.OptionalHeader.ImageBase +
Headers.OptionalHeader.SizeOfCode);
if not Result then
Result := IsNtDllCodeHooked(DllPath, ULONG(QSysInfo) —
Headers.OptionalHeader.ImageBase);
end else
Result := true;
end;
finally
UnmapViewOfFile(Map);
end;
finally
CloseHandle(HMap);
end;
finally
CloseHandle(HFile);
end;
end;
Диспетчер задач я раньше запрещал но отказался от него, часто была необходимость вызвать когда зависла игр и т д. Всем спасибо за советы 🙂
Источник: delphimaster.net
Как скрыть процесс в диспетчере задач windows 10
Часто анонимность и скрытность играют ключевую роль в успешном выполнении каких-либо действий как в реальности, так и в виртуальности, в частности в операционных системах. В данной статье речь пойдет о том, как стать анонимным в 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 наши действия были бы примерно следующими:
Используя этот способ можно легко «выстрелить себе в ногу», считая байты смещения от начала различных используемых в коде структур. Так же этот способ будет достаточно тяжел для тех, кто не особо углублен в WinAPI, так что его мы сразу уберем в сторонку. В прочем, найти реализацию данного способа на просторах интернета не составит особого труда. Вместо этого, я предложу вам сформировать свой список процессов, и уже ориентируясь в нем, искать заветный индекс процесса в списке процессов Диспетчера задач.
В Microsoft решили особо не парится по поводу тулзы, именуемой «Диспетчер Задач», и использовали обычные функции WinAPI для получения всех процессов в системе. Поверхностно смотрим taskmng.exe под отладчиком:
Видим использование WinAPI функции CreateToolHelp32SnapShot.
Всем известно, что ‘эту функцию можно использовать не только для получения снэпшота процессов, но и потоков процесса или модулей, например. Но в данном случае это маловероятно. Вряд ли здесь будут использовать что- то в роде енумератора процессов ( EnumProcesses ).
Мы остановились на том, что хотим сформировать свой список процессов и искать наш процесс в нем. Для этого воспользуемся той функцией, что обнаружили в отладчике. Если откроем диспетчер задач на вкладке «Процессы», то заметим, что все процессы отсортированы по алфавиту для удобства поиска. Следовательно, нам нужно получить список имен всех процессов в системе и отсортировать их по возрастанию в алфавитном порядке. Приступим к написанию кода в Delphi.
Для начала создадим демонстрационное оконное приложение с двумя таймерами: первый будет переформировывать список с процессами с той же частотой, с которой это делает Диспетчер задач Windows( раз в две секунды ); второй будет срабатывать 1000 раз в секунду и будет служить для отслеживания обновления списка процессов в диспетчере и, следовательно, появления нашего скрываемого процесса. Также добавим на форму кнопку.
Вот, собственно, и весь код.
Скроем, например, в Диспетчере задач процесс самого Диспетчера задач:
И по нажатию на кнопку «Скрыть процесс» процесс исчезает из списка:
Все следы присутствия в системе стерты, а сам он спокойно выполняется в обычном режиме где-то в глубинах процессора:)
Outro
Что ж, думаю, такой способ заслуживает существовать, правда он требует небольших доработок. Да, конечно же с его помощью нельзя скрыть процесс от самой системы, но сокрытие в стандартной тулзе Windows, которой пользуется львиная доля всех пользователей, это тоже неплохо.
Надеюсь, мне удалось вас хоть немножечко заинтересовать данной темой.
Как в Windows 10 запускать программы в скрытом режиме
Большинство запущенных в Windows 10 программ, как сторонних, так и встроенных, отображаются в панели задач и имеют отдельное окно, но можно сделать так, что запущенная программа будет работать в скрытом режиме, внешне ничем себя не выдавая. Реализовать этот трюк можно с помощью специальных утилит, например, таких как Quiet или NirCmd, но можно легко обойтись и без них, так как в Windows 10 имеются собственные средства для скрытия запущенных приложений.
Рассмотрим это на примере обычного Блокнота. Для его запуска в фоновом режиме мы будем использовать скрипт VBSсript, написанный вручную. Откройте любой текстовый редактор, скопируйте и вставьте в него следующий код:
Dim WShell
Set WShell = CreateObject(«WScript.Shell»)
WShell.Run «Notepad.exe», 0
Set WShell = Nothing
Обратите внимание на третью строчку, в прямых кавычках указывается название исполняемого файла или полный путь к исполняемому файлу запускаемой в тихом режиме программы.
Сохраните текстовый файл под произвольным именем, но обязательно с расширением VBS.
Если по такому файлу дважды кликнуть, запустится Блокнот, но при этом он не будет иметь ни окна, ни значка в системном трее, а убедиться, что он запущен можно будет разве что из Диспетчера задач.
Второй способ запуска программ в скрытом режиме заключается в использовании консоли PowerShell. В Windows 10, а также более ранних версиях системы в PowerShell для этого имеется специальный командлет Start-Process. Полностью же команда запуска будет выглядеть следующим образом:
Ну вот и все, только вот для чего вам может понадобиться подобный трюк, решайте сами. Запустить таким способом в скрытом режиме можно не все приложения, так что если какая-то программа откроется с окном, не удивляйтесь.
Как скрыть процесс в диспетчере задач без дополнительного софта
Бывают ситуации, когда нужно установить и использовать программу в тайне от другого человека, разбирающегося в компьютерах и часто поглядывающего в процессы диспетчера задач при зависании или нестабильной работе устройства. Иногда требуется активировать слежение за компьютером, чтобы его не захламляли ненужными файлами. В других случаях требуется проследить за человеком. Причин может быть очень много, у каждого они свои.
Что такое процессы
Процесс – это программа, которая выполняется на компьютере и занимает определенное место в оперативной памяти.
Процессы делятся на
- Системные (программы и утилиты, которые являются компонентами операционной системы и любое экстренное завершение одного из них может повлечь негативные последствия, вроде, сбоя в Windows).
- Анонимные (встречаются крайне редко, являются файлами программ, которые запускаются как вспомогательные из-за манипуляций пользователя, без запроса разрешения на запуск).
- Network/Local (процессы в диспетчере задач, связанные с локальной сетью, Интернетом и реестром, являются важными программами и компонентами Windows).
- Пользовательские (программы, которые запущены пользователем).
Можно ли определить «левый» процесс
Определить «левый» процесс можно не всегда. Если человек, который создал его и капитально замаскировал, вряд ли его сможет вычислить даже опытный компьютерный инженер, без получения намека на этот факт и детального изучения поведения каждого процесса.
Впрочем, человек, который уверен, что на компьютере висит лишняя программа, да еще и плохо замаскированная, сможет вычислить ее в считанные минуты.
Как скрыть процесс в диспетчере задач
Самый простой вариант, скрытия процесса – переименовать основной исполняемый файл. Но стоит учесть, каким образом работает программа и не создает ли она дополнительные процессы, выдающие ее.
Если лишних процессов нет, тогда можно приступать:
- Откройте папку с исполняемым файлом. Это можно сделать несколькими путями: если вы знаете, где размещен файл, можете перейти в папку с ним, или щелкнуть по процессу правой кнопкой мыши и выбрать пункт «Открыть местоположение файла».
- После перехода в папку найдите исполняемый файл, он должен совпадать с названием процесса в диспетчере.
- Переименуйте файл так, чтобы было трудно определить замену названия. Выполнить переименование можно через одноименный пункт контекстного меню. Расширение файла по-прежнему должно быть исполняемым файлом (.ехе).
- Перейдите в диспетчер задач и посмотрите на процесс, который вы сами изменили.
Все прошло отлично, но процесс виден и его следует замаскировать так, чтобы никто не догадался о его реальном назначении? Для этого стоит учесть несколько нюансов, которые могут позволить вам скрыть процесс в диспетчере задач без чьей-либо помощи.
Процесс должен быть похож на ту программу, которая создает много собственных копий и она включена всегда. Четкий пример тому – все браузеры на движке Crome, или на постоянно запущенной программе Windows, которая не вызовет подозрений.
Названия можно менять с переключением русско-английских букв, например, заменив английскую на русскую и исправив иностранные буквы: а, б, д, е.
В заключение нужно отметить, что возможно, потребуется переименовать еще несколько файлов, которые являются «подпроцессами» программы.
Надеемся, вы поняли, как скрыть процесс в Windows. Экспериментируйте, прячьте, обучайтесь.
⚡️ Присоединяйтесь к нашему каналу в Telegram. Будьте в курсе последних новостей, советов и хитростей для смартфонов и компьютеров.
Скрытие процесса в диспетчере задач или неубиваемый процесс Windows 10
Отследить процесс в диспетчере задач
Доброе время суток! Такой вопрос у меня. Как можно отследить процесс (по имени) в диспетчере задач.
Как скрыть свой процесс в диспетчере задач?
можна зробити веселий прікол uses ShellAPI; procedure TForm1.FormClose(Sender: TObject; var.
При закрытии формы не убивается процесс в диспетчере задач, а висит там
При нажатии на кнопку выполняется процедура buttonclick в которой написано close; программа.
Решение
Решение
Сохраняйте прогресс пройденного теста в файл, чтобы при открытии можно было продолжить с того места, где закрыли программу (если тест не окончил). Чтобы студент ее не закрыл сам, создайте флаг, который меняется после прохождения теста. А пока он не изменен :
Я, конечно, может чего-то не догоняю, это запросто, но кроме как в Паскале мне с этим заморачиваться не приходилось.
D1973, так это стандартное объявление типа и ссылки на тип. Во всём дельфи так, вроде. Не знаю, как в новых, но в D7 так.
Вирус поменял ярлыки браузера, в диспетчере задач неубиваемый процесс с иероглифами
Доброго времени суток. Искал программу, скачав запустил ехе из архива. На рабочем столе стали.
Скрытие программы в диспетчере задач
Как сделать чтобы программа на VB6 не отображалась в диспетчере задач
Полное скрытие программы в диспетчере задач
я пишу троян (В СЛЕДОВАТЕЛЬСКИХ ЦЕЛЯХ И РАСПРОСТРАНЯТЬ НЕ СОБИРАЮСЬ. ) создаю прогу на mvc.
Завершение процесса в диспетчере задач
Подскажите, как сделать так, чтобы при закрытии программы завершался процесс в диспетчере задач? .
Похожие публикации:
- Как отключить рекламу в опере windows 10
- Как установить windows 10 без учетной записи microsoft
- Как установить графический драйвер amd на windows 10
- Как установить интернет эксплорер 11 бесплатно для windows 10
Источник: qubstore.ru