Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.04;
Скачать: CL | DM;

Вниз

Скрытие программы из Ctrl+Alt+Del в WinNT и W2K   Найти похожие ветки 

 
MCi   (2002-01-20 10:49) [0]

Подскажите кто знает как скрыть свою программу из списка задач под WinNT,XP,2000.
Если это невозможно, то что можно использовать вместо
function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer; stdcall; external "KERNEL32.DLL"; под Win9x, т.к. при запуске на NT вылетает ошибка типа "...не найдена точка входа...Q_tunk".


 
VuDZ ©   (2002-01-20 19:10) [1]

а поискать по форуму(ам) и в инете совсем не судьба?


 
gluka ©   (2002-01-21 04:13) [2]

Вообще можна так:
Вопервых надо знать как воркает ТаскМенаджер под вынь2к!!!!
Основное в роботе ТаскМенеджера под вынь2к это использование
NtQuerySystemInformation(ntdll.dll)

NtQuerySystemInformation(
LONG type, // тип тpебyемой инфоpмации
PVOID SystemInformation, // yказатель на бyфеp, в котоpый веpнется инфоpмация
LONG SystemInformationLength, // pазмеp бyфеpа в байтах
PLONG ReturnLength // сколько байт было возвpащено или тpебyется
);
//type-в нашем случае =5(информация о процесах)

А это структура в которую загоняем полученую инфу, самое интересное это NextOffest- следyющий пpоцесс.

typedef struct {
ULONG NextOffest; // следyющий пpоцесс
ULONG ThreadCount;
ULONG unk2, unk3, unk4, unk5, unk6, unk7;
FILETIME CreateTime;
FILETIME UserTime;
FILETIME KernelTime;
ULONG unk14;
WCHAR *pModuleName; /* unicode */
ULONG BasePriority;
ULONG ProcessID;
ULONG InheritedFromUniqueProcessID;
ULONG HandleCount;
ULONG unk20, unk21;
ULONG PeekVirtualSize;
ULONG VirtualSize;
ULONG PageFaultCountPerSec;
ULONG PeakWorkingSetSize;
ULONG WorkingSetSize;
ULONG PeekPagedPoolUsage;
ULONG PagedPoolUsage;
ULONG PeekNonPagedPoolUsage;
ULONG NonPagedPoolUsage;
ULONG unk31; /* PagefileUsage ? */
ULONG PeakPagefileUsage;
ULONG unk33; /* PrivateBytes ? */
SYSTEM_THREAD_INFORMATION ThreadInfos[1]; // потоки данного пpоцесса
} SYSTEM_PROCESS_INFORMATION;


NextOffest-будет одержать смещение на следyющий пpоцесс или ничего если процес последний.

Тепеpь осталось только пеpехватить все вызовы этой фyнкции и немного поменять смещения, чтобы вызывающая фyнкцию пpогpамма пеpепpыгнyла чеpез наш пpоцесс.
Hаш это пpоцесс или не наш опpеделяем по идентификатоpy пpоцесса progProcessId,опpеделяемомy пpи запyске пpогpаммы.


Но надо ещё прятать и информацию о загруженых модулях *pModuleName.


 
Tosov ©   (2002-02-04 21:08) [3]

gluka ©
Ты так интересно написал содержание MSDN.
Тепеpь осталось только пеpехватить все вызовы этой фyнкции и немного поменять смещения, чтобы вызывающая фyнкцию пpогpамма пеpепpыгнyла чеpез наш пpоцесс.
Может остановишся поподробнее на этом перехвате вызовов?




Страницы: 1 вся ветка

Текущий архив: 2002.04.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
14-9630
Lovers
2002-02-20 21:01
2002.04.04
Определение кол-ва процессорных тактов выполняемых заданным кодом


1-9478
P.
2002-03-25 18:39
2002.04.04
GIF


1-9552
Sergeysh
2002-03-24 10:49
2002.04.04
Нужна помощь!№


14-9621
Зачиняев Сергей
2002-02-22 15:28
2002.04.04
К вопросам о терминологии, русском языке и воспитании.


14-9647
Aleks1
2002-02-25 03:30
2002.04.04
Климат в Москве