Форум: "WinAPI";
Текущий архив: 2002.04.04;
Скачать: [xml.tar.bz2];
ВнизСкрытие программы из 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 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.04.04;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c