![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос Реальным Мастерам [Win95/98, WinME]
Sasha9 © (2002-02-24 13:51:00)Полностью свой процесс скрыть невозможно (от программ типа Starter"а, которые просматривают все процессы, даже kernel32.dll). А можно ли сделать так чтобы прогу нельзя было закрыть даже такой прогой(типа Starter"а)??
paul_shmakov (2002-03-19 00:46:00) [1]2 Alex_LG:
да это сервисы, они выполняются под учетной записью SYSTEM. но и они очень просто снимаются - достаточно присвоить debug priviliges своему процессу.
а насчет скрытия, то я недавно очень подробно писал:
http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1014992279&n=2
Alex_LG (2002-03-18 20:16:00) [2]2black0:
что-то я там ничего по теме не нашёл: ни ExecutOnBoot, ни ExecuteOnBoot...
VuDZ (2002-03-05 13:01:00) [3]2black0 это ты не прав, любой системнй процес можно убить, вопрос - стоит ли
Хотя, SYSTEM действительно хозяин на компах - аж жуть :)
black0 (2002-03-04 23:06:00) [4]В win9x хрен знает, а в NT операционках существует такой вид программ как ExecutOnBoot, как их писать лежит на www.rusdoc.ru
и такие программы имеют хозяина не "администратор" а "SYSTEM". От неё избавиться можно только повесив, или зафлудив мессагами.
Sasha9 (2002-02-27 10:26:00) [5]10ks всем!!
SerVS - S (2002-02-27 09:42:00) [6]Ну так создай не поток, а процесс. И пусть они следят друг за другом и ...(смотри выше).
Sasha9 (2002-02-26 19:41:00) [7]2SerVS - S
так если приложение закроют с помощью TerminateProcess, вместе с ним закроется и поток!
SerVS - S (2002-02-26 17:11:00) [8]Возможно vrRaven прав, что если проверять Application.Terminated и если он true, то запускать копию приложения.
Или еще вариант. Приложение после запуска создает поток который ничего неделает, кроме как регулярно проверяет (например с помощью mutex) существует ли екземпляр приложения, если нет то запускает его.
VuDZ (2002-02-26 13:09:00) [9]никак это нельзя сделать - есть много способов, как убить приложение - от TeminateProcess() до некоторых хакерских штучек, так что бесполезное обсуждение
Sasha9 (2002-02-26 11:50:00) [10]вот вот...........
Tosov (2002-02-25 22:59:00) [11]vrRaven
А даже если и true, то оно уже terminated :-). Думаю Application.terminated:=false не поможет :)
Sasha9 (2002-02-25 12:26:00) [12]2vrRaven
а в какой момент проверять Application.Terminated, ведь никаких событий при этом не возникает(win9x)
vrRaven (2002-02-25 05:06:00) [13]Tosov
Application.Terminated возвращает true при уничтожении...
VuDZ (2002-02-25 02:08:00) [14]ну я предложил вариант, причём рабочий и который был изначально разработан для нт-систем, просто я не совсем точно выразился.
найду на винте исходник - покажу
Sasha9 (2002-02-24 22:42:00) [15]2VuDZ
А что в win2k можно ставить хук на функции?
И всё-таки, как насчёт win9x?
Polygon (2002-02-24 22:39:00) [16]Попробуй с помощью хука(например WH_GETMESSAGE) подгрузить свою DLL в чужой процесс(например в Explorer),затем там создай новый поток со своим кодом. Тогда твоего процесса просто не существует. Все оформляется в виде одной DLL так, что бы ее мог запустить RUNDLL32, а запуск производишь из реестра.
VuDZ (2002-02-24 22:23:00) [17]мда....
если нет идей лучше, подкину рЕальную мысль - для того, что бы узнать какие процессы запущенны, под винтукеем используется некая ф-ия, но шутка юмора в том, что на неё можно поставить хук и ничего не выдовать для некоторого процесса.
всё остальное - MSDN, Depencer, прямые руки
Aleksgt (2002-02-24 21:19:00) [18]Ну незнаю что за прога такая стартер но путем взламывание kernel32 dll можно заменить функции getnextprocess чем вздумается, так что бы кернел программам выдавал ненастоящий список процессов
drpass (2002-02-24 19:57:00) [19]На Win9x/Me такая фишка не пройдет - TerminateProcess успешно работает даже с kernel32.dll (забойная операционка!:)))
А вот на NT/2000/XP можно сделать: если владельцем проги будет не администратор, а система, то закрыть ее не удастся.
Tosov (2002-02-24 17:14:00) [20]vrRaven
А TerminateProcess тоже обрабатывается?