Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.10.20;
Скачать: [xml.tar.bz2];

Вниз

Я сделал это!!!! Я спрятал процесс от 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, то ты по-любому
> не найдешь. Я уж постараюсь там помутить как следует.


Найду.

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


 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.57 MB
Время: 0.01 c
14-65597
tanisha
2003-10-02 13:42
2003.10.20
Самые счастливые люди живут в Нигерии:)


6-65567
shark
2003-08-23 14:00
2003.10.20
Help по WinSock


14-65591
Думкин
2003-10-02 06:33
2003.10.20
С днем рождения! 1 октября.


14-65619
Сатир
2003-10-02 16:49
2003.10.20
ГРЯЗНЫЕ ТЕХНОЛОГИИ


1-65512
Viktor Kushnir
2003-10-07 19:27
2003.10.20
Hot Keys





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский