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

Вниз

Я сделал это!!!! Я спрятал процесс от Task Manager а.   Найти похожие ветки 

 
Marouder ©   (2003-09-24 11:11) [0]

Что бы не говорили некоторые люди, я сделал это. Спрятал процесс от TaskManager"а!!! Ура.

DLL Здесь: http://www.delphimaster.ru/download/296_exe.zip
Исходники Здесь: http://www.delphimaster.ru/cgi-bin/download.pl?get=1064387228&n=1

DLL экспортирует функцию для скрытия процесса от Task Manager и некоторых других прог в Win 2000\XP.

procedure HideProcess(pid:DWORD;HideOnlyFromTaskManager:Bool);stdcall;external "nthide.dll";

Pid - id процесса. HideOnlyFromTaskManager задает, прятать только от TaskManager или от других прог тоже.
Исходники - на C++, но нетрудно переделать на Delphi. Обращайтесь - помогу.


 
Игорь Шевченко ©   (2003-09-24 11:45) [1]

Дядька Руссинович таких перехватчиков NtQuerySystemInformation кушал на завтрак десятками и даже не морщился, отплевываясь.


 
Marouder ©   (2003-09-24 13:28) [2]

Что ты имеешь в виду?


 
Digitman ©   (2003-09-24 13:32) [3]


> Marouder


то что ты изобрел велосипед)


 
Marouder ©   (2003-09-24 13:35) [4]

Работает ведь. А то, что Sysinternal"s Process Explorer не обнаруживает - единичный случай. Его профессионалы делали.
Помнится, сколько тут было вопросов про прятанье процесса в Win2000 - нормальных ответов не было. Только "нет" и все.


 
Marouder ©   (2003-09-24 13:40) [5]

Ведь вопрос то был, как от Task Manager спрятать.
А как спрятать от Sysinternals Process Explorer - это уже другой вопрос. :). А от Task Manager все-таки нормально прячется.

2 Игорь Шевченко:
Мне особенно понравился твой ответ в FAQ. :) Респект.


 
Digitman ©   (2003-09-24 13:41) [6]


> Marouder


нет, а что тут удивительного ?
достаточно внедрить во все существующие и потенциально стартуемые процессы хук-модуль, перехватывающий соотв. API-вызовы - и всех делов) ... хоть процесс скрыть, хоть самого черта)


 
Игорь Шевченко ©   (2003-09-24 14:11) [7]

Marouder © (24.09.03 13:40)

Ох, и много же тебе придется перехватывать...Впрочем, в инете есть более оригинальное решение - перехватывать NtQuerySystemInformation не в NTDLL.DLL, а в NTOSKRNL.EXE. Это спасает от динамической загрузки NTDLL.DLL и получения адреса этой процедуры по GetProcAddress. Но от Руссиновича (да и от меня тоже) все равно не спрячешься :)


 
Е-Моё имя ©   (2003-09-24 14:22) [8]

Удалено модератором
Примечание: Offtopic


 
Digitman ©   (2003-09-24 14:30) [9]


> Игорь Шевченко


> Это спасает от динамической загрузки NTDLL.DLL и получения
> адреса этой процедуры по GetProcAddress


в принципе ничего ж страшного и в дин.загрузке

перехватили LoadLibrary() и/или GetProcAddress() - и а ля у лю !))


 
Игорь Шевченко ©   (2003-09-24 14:47) [10]

Digitman © (24.09.03 14:30)

А...LoadLibrary NTDLL.DLL перехватить ? Сомневаюсь я в этом ОЧЕНЬ сильно. Тогда уж GetModuleHandle перехватывать надо, поскольку NTDLL.DLL грузится самой первой в ВАП процесса (кстати, кем ?)


 
Digitman ©   (2003-09-24 15:01) [11]


> Сомневаюсь я в этом ОЧЕНЬ сильно


почему ? ведь образ ntdll со всеми таблицами "сидит" в том же ВАП, в котором осуществляем перехват !


 
Игорь Шевченко ©   (2003-09-24 15:25) [12]

Digitman © (24.09.03 15:01)

Образ - да, сидит. А вот LoadLibrary никто не делает штатно.
И если бы Task Manager делал бы вызов NtQSi до создания окна, то этот способ для перехвата не годился бы.


 
panov ©   (2003-09-24 18:15) [13]

Ну чего напали на человека?-)
Молодец, что добился своего решения.


 
имя   (2003-09-24 20:56) [14]

Удалено модератором


 
Marouder ©   (2003-09-25 07:36) [15]

В принципе, хуком перехватывать - способ не очень. Надо по идее еще бы NtCreateProcess попробовать перехватить.
И не LoadLibrary лучше пытаться перехватить, а LdrLoadDll из NTDLL.DLL. В общем надо пытаться, разбираться и т.п.


 
Игорь Шевченко ©   (2003-09-25 10:45) [16]

Marouder © (25.09.03 07:36)
> В общем надо пытаться, разбираться и т.п.

А еще лучше не прятать, а решать разумные задачи существующими для этого простыми и опробованными решениями от MS. А прячься, не прячься - все равно найду :)))


 
k-man ©   (2003-09-25 15:16) [17]

Зависть - порок..
А парень молодец!


 
Игорь Шевченко ©   (2003-09-25 15:56) [18]

k-man © (25.09.03 15:16)

Мы про пороки и молодцов поговорим, когда на твоей машине таким образом спрятанный вирус появится :)))


 
k-man ©   (2003-09-25 16:14) [19]


> Мы про пороки и молодцов поговорим, когда на твоей машине
> таким образом спрятанный вирус появится :)))

Всему может быть мирное применение.
Например столкнулся с интересной задаче один знакомый спросил возможно ли написать программу которая не давала бы ребенку запускать некоторые игрушки без предварительного ввода пароля и\или с ограниченным числом раз..
Предположим висит эта прога в памяти и делает свое благое дело, а ребенок не будь дураком берет и терминэйтит ее из таскмэнеджера.. А если ее будет не видно то ребенку нечего не останется делать как идти учить уроки или ждать разрешения родителей...
Но обратная сторона медали действително будет пострашнее..


 
Morfein ©   (2003-09-25 17:31) [20]

>> k-man
Далеко не лучшее решение в этом случае прятать процесс.. потому что завтра этот же ребёнок берёт у одноклассников таскменеджер третьих фирм, который получает список процессов не через NtQSi и вперёд.. Благо, перехватчиков на все способы под NT не напасёшься.. Лучше уж перехватывать OpenProcess() для заданного процесса.. MessageBox с надписью "Acces denied on <ProcessName>" действует убедительней..


 
Игорь Шевченко ©   (2003-09-25 17:35) [21]

Policies - оно рулез.

#ifdef FLAME
А ребенку надо уроки учить или кошек гонять по подворотням, а не на компьютере в игрушки играться. А поскольку дети пошли развитые, то от такой защиты он найдет антизащиту и еще посмеется над ламерами, которые так защищают :)
#endif


 
Verg ©   (2003-09-25 17:49) [22]


> Игорь Шевченко © (25.09.03 17:35) [21]


#else
http://delphimaster.net/view/1-1064473490/
#endif

А?


 
Marouder ©   (2003-09-26 04:30) [23]

2 Игорь Шевченко:
И как ты себе представляешь перехват NtQuerySystemInformation из ntoskrnl.exe? Ты попробуй найти какие-нибудь модули, у которых в таблице импорта эта функция!
Даже в ntdll.dll и то, нету таблицы импорта. Он вызывает функции ядра с помощью системных вызовов. Почти в любой функции ntdll.dll ты найдешь такой код:

mov edx,7FFE0300h
call edx

А по адресу 7FFE0300h находится команда sysenter (системный вызов). А в старых процессорах, типа Pentium, там, скорее всего, находится int 2Eh, т.к. там нет инструкции sysenter.

И перехват подменой кода тоже не сделать. Кто же тебе позволит писать по адресам старше 2Gb? Это в 9x можно было с помошью функции PageModifyPermissions сервиса vxdcall0 запись разрешить, а в NT - этого нет.

>"Все равно - найду".
Каким образом? Ты же не Руссинович. Ну, перехвачу я GetProcAddress, причем даже подменой кода, а не заменой IAT, и не найдешь ты процесс. :)

З.Ы. А адрес этой NtQuerySystemInformation из NTOSKRNL - тоже хрен найдешь. GetModuleHandle с ntoskrnl.exe не работает.
З.З.Ы. Ну ладно, допустим ты знал о перехватах. Почему тогда отвечал "нельзя". Я, конечно, понимаю, чтобы не расплодилось много вирусов, но это все-таки тоже не очень хороший поступок, людей обманывать.


 
___X-Man   (2003-09-26 04:42) [24]

Рулеззную DLL Marouder написал. Че вы гоните.


 
Marouder ©   (2003-09-26 08:29) [25]

2 Игорь Шевченко:
Ага, я догадался, как обнаружишь его ты. Дизассемблируешь Ntdll.dll и напишешь свою функцию с таким же кодом, как у NtQuerySystemInformation. Я прав?


 
Digitman ©   (2003-09-26 09:09) [26]


> Ты попробуй найти какие-нибудь модули, у которых в таблице
> импорта эта функция!


в WINNT\System32 по меньшей мере 60 PE-модулей, в IAT которых явно фигурирует импорт упомянутой ф-ции


 
dataMaster ©   (2003-09-26 09:21) [27]

Произошла ошибка:

В базе не найдена. Скорее всего, эта компонента/программа была удалена из кладовки, как вредоносная или вирус.


:-)


 
Игорь Шевченко ©   (2003-09-26 10:21) [28]

Marouder © (26.09.03 04:30)


> И как ты себе представляешь перехват NtQuerySystemInformation
> из ntoskrnl.exe? Ты попробуй найти какие-нибудь модули,
> у которых в таблице импорта эта функция!


Исходники FileMon почитай


> >"Все равно - найду".
> Каким образом? Ты же не Руссинович. Ну, перехвачу я GetProcAddress,
> причем даже подменой кода, а не заменой IAT, и не найдешь
> ты процесс. :)


Дружище, ты эта...книжки читай. Свена Шрайбера того же.
А что найду - не сомневайся.


 
Smok_er   (2003-09-26 10:26) [29]

Не могу понять, почему удалили столь полезные исходники? Или наших мастеров жаба душит? Ведь столько лет кричали что это невозможно, смеялись над спросившими, а тут сели на мягкое место... Нехорошо, товарищи!

P.S. Я давно нашел способ перехвата вышеупомянутой функции, только сделал это на VC++. Когда я говорил, что это возможно, мне естественно никто не верил.

Уважаемый автор, не могли бы Вы выложить исходник в другом месте, хотелось бы глянуть на Ваш метод реализации.
Большое спасибо!


 
Smok_er   (2003-09-26 10:37) [30]

Кстати, не зря автор нити упомянул FAQ...
Вот выдержка:

Ув. мастера, подскажите, пожалуйста, как можно сделать, чтобы приложения не было видно в диспетчере задач Windows 2000.

Игорь Шевченко ©
Никак

Уважаемый Игорь Шевченко, что вы на это скажете? Ведь вопрос не звучит "как спрятать вообще?", а "Как спрятать в диспетчере задач Win 2k"...


 
.:eXtreme:.   (2003-09-26 10:42) [31]

To: Marouder, класс чувак! Вот это ты забульбенил !!! Не теряй время, чё с этими Delphi"шниками разговаривать, они ничего не понимают, хех... всё твердили нельзя, мол, сделать... мАСТЕРА :)))... давай на мазафаку, мадальф и т.д. рассылай исходники админам, а то у тебя их тут потёрли, я сам только длл"ку успел скачать :(, работает - класс!!! Первая реальная веСЧ которую вижу :)

З.Ы. Delphi - Must Die!!!


 
BlackTiger ©   (2003-09-26 11:25) [32]

А я был такого "изобретателя" убил бы без зазрения совести.

Често. Ничего личного. Просто для общественного спокойствия. Как поубивал бы всех вирусописателей, спам-писателей, spyware-писателей и прочих околопрограммистских приблудильщиков.


 
BlackTiger ©   (2003-09-26 11:29) [33]

Кстати, а от NTPV тоже прячет? Очень хотелось бы на доказательства посмотреть.


 
Marouder ©   (2003-09-26 11:58) [34]

2DigitMan:
>в WINNT\System32 по меньшей мере 60 PE-модулей, в IAT которых >явно фигурирует импорт упомянутой ф-ции

Я имел в виду NtQuerySystemInformation из NTOSKRNL.EXE.
А NtQuerySystemInformation из NTDLL.DLL, да, фигурирует.
А именно из ntoskrnl.exe - назови какой-нибудь модуль.
================================================================
2BlackTiger:
>А я был такого "изобретателя" убил бы без зазрения совести.
>Често. Ничего личного. Просто для общественного спокойствия. Как >поубивал бы всех вирусописателей, спам-писателей, >spyware-писателей и прочих околопрограммистских приблудильщиков.

Насчет spyware и спама это правильно. А вот насчет вирусописателей - это ты зря. Как правило, они больше всех остальных шарят в системном программировании. Посмотри исходники CIH - их не сразу и поймешь, а только после долгих сидений над ними (честно скажу: я не разбирался).
================================================================
2 Игорь Шевченко:
Хорошо, найду - почитаю исходники и книгу. Нельзя же все за раз прочитать. Времени много надо. Это может ты - десять леть программируешь или универ с красным дипломом закончил. А я программлю - 2 года, и сейчас еще только в 10 классе средней школы учусь.

>А что найду - не сомневайся.

Посмотрим. :). Если я найду переход в Ring0, то ты по-любому не найдешь. Я уж постараюсь там помутить как следует.
================================================================
2Smok_er:
Пиши на e-mail, вышлю (marouder@list.ru).


 
Polevi ©   (2003-09-26 12:02) [35]

детский сад начинается


 
Smok_er   (2003-09-26 12:03) [36]

BlackTiger © (26.09.03 11:25) [32]
А я был такого "изобретателя" убил бы без зазрения совести.

Често. Ничего личного. Просто для общественного спокойствия. Как поубивал бы всех вирусописателей, спам-писателей, spyware-писателей и прочих околопрограммистских приблудильщиков.

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


 
Игорь Шевченко ©   (2003-09-26 12:13) [37]


> Посмотрим. :). Если я найду переход в Ring0, то ты по-любому
> не найдешь. Я уж постараюсь там помутить как следует.


Найду.

Не ты первый, мутилка :)


 
panov ©   (2003-09-26 12:16) [38]



 
Marouder ©   (2003-09-26 12:20) [39]

Я не отрицаю, что найдешь, если я тебе сообщу, как я это сделаю. :)


 
KosilkA ©   (2003-09-26 12:34) [40]

to Marouder> решпект!!! дллка пашет , тестирую вот :)))ТаскМанагер в пролёте ! только вот HideOnlyFromTaskManager не скрывает от следующей процедуры , которую можно найти в каждом FAQ :

uses tlhelp32;

procedure TForm1.FormCreate(Sender: TObject);
I : Integer;
hSnapshoot : THandle;
pe32 : TProcessEntry32;
List : TStrings;
begin

listbox1.Items.Clear;
hSnapshoot := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (hSnapshoot = -1) then Exit;
pe32.dwSize := SizeOf(TProcessEntry32);
if (Process32First(hSnapshoot, pe32)) then repeat
I := listbox1.Items.Add(Format("%x, %x: %s", [pe32.th32ProcessID,pe32.th32ParentProcessID,pe32.szExeFile]));
listbox1.Items.Objects[I] := Pointer(pe32.th32ProcessID);
until not Process32Next(hSnapshoot, pe32);
CloseHandle (hSnapshoot);

end;



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

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

Наверх




Память: 0.58 MB
Время: 0.016 c
8-65554
kiria
2003-06-18 16:20
2003.10.20
Как получить звук с микрофона?


14-65634
nuflin
2003-09-29 09:16
2003.10.20
Мастера подскажите пожалуйста где в интернете


3-65322
Dark Elf
2003-09-29 18:30
2003.10.20
Запрос к SQL Server


1-65456
Nikolai_S
2003-10-07 12:45
2003.10.20
Проблема с потоком


14-65575
Manfred
2003-10-02 15:42
2003.10.20
Лицензионные копии Delphi: сколько их?