Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Закрытие процесса


Страницы:   1 2

Getsevich ©   (2004-08-22 00:40:00) 

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


Cardinal   (2004-08-29 20:32:00) [1]


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

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


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

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


OSokin   (2004-08-28 17:45:00) [3]

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


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

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


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

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


VMcL   (2004-08-27 10:13:00) [6]

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

Бред.


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

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

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 (и других) не убить.


DeadMeat   (2004-08-26 18:10:00) [8]

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

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


OSokin   (2004-08-26 16:40:00) [9]

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

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-25 20:29:00) [10]

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

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


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

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

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

См. [20].

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


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


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


Хоть 10


DeadMeat   (2004-08-25 10:11:00) [13]

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

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


  (2004-08-25 06:06:00) [14]

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


DeadMeat   (2004-08-24 23:35:00) [15]


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

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

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


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

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


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

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

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

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


GrayFace   (2004-08-24 19:07:00) [18]

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


DeadMeat   (2004-08-24 18:57:00) [19]

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

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


GrayFace   (2004-08-24 18:48:00) [20]

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

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


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо