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