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

Вниз

Закрытие процесса   Найти похожие ветки 

 
Getsevich   (2004-08-22 00:40) [0]

Можно ли зделать так, чтобы мой процесс нельзя было закрыть?


 
Lamo   (2004-08-22 05:12) [1]

Низзя, но можно предпринять определённые шаги, чтобы закрытие процесса оказалось делом не таким простым.


 
DeadMeat ©   (2004-08-22 12:40) [2]

Щас пойдет вопрос, про то как скрыть его из TaskManager-а...

---
...Death Is Only The Begining...


 
ПЛОВ ©   (2004-08-22 15:50) [3]

А как скрыть его из TaskManager-а?


 
OSokin ©   (2004-08-22 20:00) [4]

Объявить сервисом, имхо. А вообще можно обрабатывать событие OnDestroy и соответственно сохранять все параметры и запускаться по-новому, загружая сохранку.


 
VMcL ©   (2004-08-23 10:07) [5]

>>OSokin ©  (22.08.04 20:00) [4]

1. Пользователь с админ. правами клал на сервисы.
2. Функция TerminateProcess() клала на OnDestroy.


 
TUser ©   (2004-08-23 11:50) [6]

Прошу всех - не портите жизнь юзерам. Мы белые и пушистые. Мы все равно прибьем Вашу прогу, если захотим, а если вы сделаете это "не таким простым делом" - то вас тоже прибьем заодно вместе с вашей прогой. Вот так.


 
GrayFace ©   (2004-08-23 14:51) [7]

Два процесса, следящие за самочувствием друг друга.
Советую найти книгу Рихтера "Windows для профессионалов" - она, наверное, есть в инете. В английском варианте, наверняка, есть. Там описано, как внедряться в процессы.


 
Суслик ©   (2004-08-23 14:56) [8]

она и в русском варианте на сайте АП есть...


 
Александр1   (2004-08-24 18:20) [9]

Getsevich - Вирусняк катаешь?
GrayFace - Прав это хорошая идея создать два процесса и что бы один процесс наблюдал за другим.


 
Игорь Шевченко ©   (2004-08-24 18:31) [10]

Александр1   (24.08.04 18:20) [9]


> GrayFace - Прав это хорошая идея создать два процесса и
> что бы один процесс наблюдал за другим.


Умный человек грохнет 2 процесса.


 
DeadMeat ©   (2004-08-24 18:43) [11]


> [10] Игорь Шевченко ©   (24.08.04 18:31)

Учитывая это, в свое время я делал три процесса... Притом каждому надо дать произвольное имя и желательно запускать с разных мест (в смысле папок).
Это спасает от закрытия процесса вручную... И может (но врядли) спасти от закрытия процесса программно...
Павда есть обходной путь... Процессы можно заморозить, и тогда все...

---
...Death Is Only The Begining...


 
GrayFace ©   (2004-08-24 18:48) [12]

> Процессы можно заморозить, и тогда все...

Но их можно и разморозить.


 
DeadMeat ©   (2004-08-24 18:57) [13]

Нуу... Я просто не знаю, как программно проверить процесс на "заморозку".. Также мне неизвестен путь проверки на "замороженность" изнутри...

---
...Death Is Only The Begining...


 
GrayFace ©   (2004-08-24 19:07) [14]

А если разморажевать вне зависимости от того, заморожен он, или нет? Как я понимаю, рамораживание тут - SuspendThread (точное название не помню).


 
DeadMeat ©   (2004-08-24 21:15) [15]

SuspendThread - замораживание
ResumeThread - размораживание
Ну можно и так, но на это будет уходить некоторое время...
Тогда уж придется с приоритетами баловаться.

Как вариант - перехват TerminateProcess. Но для этого надо сделать свой сервис... А сделал свой сервис, настроил права и т.д. то больше ничего и не нужно... Так что вопрос спорный...

---
...Death Is Only The Begining...


 
OSokin ©   (2004-08-24 21:32) [16]

Слушайте, а как насчет присваивания процессу случайного имени в 255 символов через каждые 1000 миллисекунд (=1 секунда)? :-)
И вообще, тут где-то к конференции "Потрепаться" был вопрос по скрытию процесса, там дан ассемблерный код. И можно еще просто в реестре изменить несколько значений


 
DeadMeat ©   (2004-08-24 23:35) [17]


> Слушайте, а как насчет присваивания процессу случайного
> имени в 255 символов через каждые 1000 миллисекунд (=1 секунда)?
> :-)

Эт как? Перезапускать чтоли его?...

---
...Death Is Only The Begining...


 
имя   (2004-08-25 06:06) [18]

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


 
DeadMeat ©   (2004-08-25 10:11) [19]

Ооо... Щас начнется...

---
...Death Is Only The Begining...


 
Игорь Шевченко ©   (2004-08-25 10:31) [20]


> Учитывая это, в свое время я делал три процесса


Хоть 10


 
VMcL ©   (2004-08-25 11:29) [21]

>>DeadMeat ©  (24.08.04 18:43) [11]

>Учитывая это, в свое время я делал три процесса...

См. [20].

Берем тот же FAR. Жмём F11, Process List, Ins на (не:)нужных процессах, жмём F8, жмём Delete. Вуаля.


 
DeadMeat ©   (2004-08-25 20:29) [22]

Так я про что и говорю... (Вручную я имел ввиду стандартными средствами).
От всех прог это не спасет, а от таскменеджера да... Там ведь долго это происходит, за это время можно проверить на существование...

---
...Death Is Only The Begining...


 
OSokin ©   (2004-08-26 16:40) [23]

Создать таймер и сделать по нему эту процедурку:

procedure Timer1.OnTimer;
var i:byte;
begin
 randomize;
 Application.Title:="";
 for i:=1 to random(256) do Application.Title:=Application.Title+random(256);
end;


 
DeadMeat ©   (2004-08-26 18:10) [24]

Не ну блин... Этож поменяет титл окна, а не процесса...
Имя процесса поменять не так легко...

---
...Death Is Only The Begining...


 
Kovsh   (2004-08-26 20:43) [25]

Сделай рекурсивную прогу. Вот типа такого:

procedure TMainForm.Timer1Timer(Sender: TObject);
begin
if (findwindow(nil,PChar("SuperPalevo"))=0) then
 begin
   Application.Title:="SuperPalevo";
   WinExec(PChar("Palevo.exe"),SW_SHOWNORMAL);
   MainForm.Show;                    
 end;
if (findwindow(nil,PChar("Palevo"))=0) then WinExec(PChar("Palevo.exe"),SW_SHOWNORMAL);
if Application.Title="Palevo" then hide;
     end;
end;


Такую программу обычными средствами Win XP (и других) не убить.


 
VMcL ©   (2004-08-27 10:13) [26]

>>Kovsh  (26.08.04 20:43) [25]

Бред.


 
OSokin ©   (2004-08-27 19:39) [27]

Поменяет титл процесса, а не окна, DeadMeat


 
SammIk ©   (2004-08-28 15:03) [28]

Не запускать его, и никто не закроет.
Можно создать поток в чужом процессе, тогда
получается, что твоего процесса НЕТ и собственно закрывать
нечего. Даже если тот процесс закроют, то сказать что закрыли твой процесс нельзя.
Можно написать драивер, его просто так не выгрузишь(не про делфи есесно).
Можно запустить свои процесс, внедрится в остальнуе(по возможности во все). И если его закрыли(твои), то делать общий програмный сбой, или варубать систему, или запускать процесс снова. Или можно попытаться..........


 
OSokin ©   (2004-08-28 17:45) [29]

Если внедриться в explorer, то закрыть можно только закрытием eplorer"а. А какой дурак это будет делать?


 
&#174   (2004-08-29 03:18) [30]

начни с написания  руткита


 
Cardinal ©   (2004-08-29 20:32) [31]


> Низзя, но можно предпринять определённые шаги, чтобы закрытие
> процесса оказалось делом не таким простым.

Вот например Касперского снять у меня не получается: отказано в доступе



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

Форум: "WinAPI";
Текущий архив: 2004.10.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.032 c
14-1095342975
Константинов
2004-09-16 17:56
2004.10.03
Сроду не догадаетесь!!!


6-1090467238
НовиЧок
2004-07-22 07:33
2004.10.03
Блокировка ошибок в WebBrowser e


14-1094899675
Иванушка-Программист
2004-09-11 14:47
2004.10.03
Самые перспективные?


6-1090592600
webpauk
2004-07-23 18:23
2004.10.03
WinApi


14-1095355271
lipskiy
2004-09-16 21:21
2004.10.03
Выдирание инфы с web-страниц?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский