Текущий архив: 2003.04.03;
Скачать: CL | DM;
ВнизНезавершаемый процесс Найти похожие ветки
← →
kosha80 (2003-02-01 14:33) [0]Может кто и знает, как сделать процесс незавершаемым. Точнее что бы только системма могла его закрыть. Я понимаю надо провести какую то работу с правами... или еще что.
Вот в "Диспечере задач" некоторые процессы не завершаются и выводится сообщение "Отказано в доступе" хочу добиться похожего.
Зараннее спасибо.
← →
Serious Sam (2003-02-01 16:15) [1]service application?
← →
kosha80 (2003-02-05 12:05) [2]Вот как это делается. Спасибо Сергею Бобко.
uses ..., AclApi, Accctrl;
procedure TMainForm.FormCreate(Sender: TObject);
var ACL : _ACL;
begin
if (InitializeAcl(ACL,SizeOf(_ACL),ACL_REVISION)) and (IsValidAcl(ACL))
then SetSecurityInfo(GetCurrentProcess,SE_KERNEL_OBJECT,DACL_SECURITY_INFORMATION,nil,nil,@ACL,nil);
end;
← →
ers (2003-02-05 12:46) [3]У меня не работает в 7-ых дельфях кричит что мол неизвестный эдентификатор "ACL_REVISION", что делать?
← →
Игорь Шевченко (2003-02-05 12:55) [4]Для того, чтобы убедиться в незавершаемости процесса, надо взять с www.sysinternals.com Process Explorer и попробовать снять им.
← →
ers (2003-02-05 12:55) [5]> У меня не работает в 7-ых дельфях кричит что мол неизвестный эдентификатор "ACL_REVISION", что делать?
Ещё и в шестых глючит тоже;)))
Обишка такая "Undeclared identifier: "ACL_REVISION""!!!
Хотел попробовать в пятых, но она не понимает пакет созданный в шестой или седьмой версии дельфи (Формат записи форм и т.д. у шестой и седьмой дельфи практически одинаковы!!!)
← →
ers (2003-02-05 13:00) [6]Я кстати закоментировал иф благодаря чему избавился от ошибки, но в седьмых дельфях он убивается кем угодно, а вот в шестых РАБОТАЕТ! Но мой любимый фар убивает его только так;))))))
Так чтоже делать то????
← →
ers (2003-02-05 13:29) [7]И Process Explorer его убивает только так! Они все (ФАР и Process Explorer) убивают под отладочным режимом (По крайней мере фар), так вот как сделать чтоб ко мене нельзя было подключится отладчиком? Тоесть чтоб меня не могли кильнуть в отладочном режиме?
← →
ers (2003-02-05 13:32) [8]Кстати службы наверное тоже с такой привилигией работают как и человек выше дал, их (Службы) тоже можено кильнуть фаром.... Тоесть я понимаю как не5которые советуют службу лучше не делать если хочешь себя обезопасить от удаленья.... :(
← →
Игорь Шевченко (2003-02-05 13:34) [9]ers (05.02.03 13:32)
А зачем так делать, может, есть другие способы ?
← →
ers (2003-02-05 13:38) [10]Да мне вот тоже интересны другие способо зыщиты если таковые есть!;)
← →
Бобко Сергей (2003-02-05 13:46) [11]А вы не пробовали в uses дописать AclApi, Accctrl
Кричите не по делу ... Вопрос был как сделать процесс который нельзя было бы убить с пощью Диспетчера задач. Получите код:
uses ..., AclApi, Accctrl;
procedure TMainForm.FormCreate(Sender: TObject);
var ACL : _ACL;
begin
if (InitializeAcl(ACL,SizeOf(_ACL),ACL_REVISION)) and (IsValidAcl(ACL))
then SetSecurityInfo(GetCurrentProcess,SE_KERNEL_OBJECT,DACL_SECURITY_INFORMATION,nil,nil,@ACL,nil);
end;
← →
Бобко Сергей (2003-02-05 13:47) [12]А если конкретней то вы и получаете в Диспетчере задач "ОТКАЗАНО В ДОСТУПЕ"
← →
ZZ (2003-02-05 14:52) [13]const ACL_REVISION = 2; //по памяти :))
PS. Это работает в ЛЮБОЙ версии Дельфи (:балшой smile: ), но в Win до XP!!! (В XP этот код дает полный доступ к процессу для всех)
← →
aleksey_sv (2003-02-05 15:44) [14]Странно, проделал все действия, но у меня под win2000 завершает со свистом :).
Писал на делфи 7 (Если это важно)
или у меня Диспечер задач корявый ;)
← →
ers (2003-02-05 16:02) [15]Вот-вот у меня на седьмой тоже свистело при закрытиии;) А вот в шестой откомпилил всё ОК!!!!
← →
ZZ (2003-02-05 16:42) [16]под Delphi 7 (Enterprise) усе работает
← →
Игорь Шевченко (2003-02-05 16:46) [17]ZZ © (05.02.03 16:42)
А Process Explorer тоже не снимает ?
← →
aleksey_sv (2003-02-05 16:57) [18]
> ZZ
У меня тоже Delphi 7 (Enterprise) и не работает, может чтобы небыло таких вопросов вы могли б привести ПОЛНЫЙ РАБОЧИЙ КОД этой проги, а не (по памяти), если у меня она заработает значит ОК если нет значит у меня партачный делфи.
Извините если что не так.
← →
ZZ (2003-02-05 17:07) [19]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,AclApi, Accctrl;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
const
ACL_REVISION = 2;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var ACL : _ACL;
begin
if (InitializeAcl(ACL,SizeOf(_ACL),ACL_REVISION)) and (IsValidAcl(ACL))
then SetSecurityInfo(GetCurrentProcess,SE_KERNEL_OBJECT,DACL_SECURITY_INFORMATION,nil,nil,@ACL,nil);
end;
end.
PS. (НЕ) Снимается он там где список процессов, а не приложений (окон)!
← →
aleksey_sv (2003-02-05 17:16) [20]
> ZZ
Совершенно другое дело, теперь я знаю что с делфи у меня всё в порядке :)
← →
ZZ (2003-02-05 17:16) [21]Игорь Шевченко ©
Process Explorer
On Windows NT/2K, Process Explorer requires that your account have the "load driver" and "debug" privileges.
интересно зачем?
ЗЫ. Пробовать не буду, т.к. результат известен - убъет... причем убъет все - и сервис и прогу и (вероятно) winlogon.
← →
Игорь Шевченко (2003-02-05 17:25) [22]
> Снимается он там где список процессов
Прекрасно снимается :-)
Только что попробовал. D5, NT4, SP6
← →
gsu (2003-02-05 17:43) [23]>> Прекрасно снимается :-)
фоту пришлите (-:|~
← →
ZZ (2003-02-05 17:55) [24]sorry test
← →
ZZ (2003-02-05 17:57) [25]В общем 3ий раз переписывать ответ нет настроения (а первые 2 не отослались :(
Заменяем GetCurrentProcess на OpenProcess(PROCESS_ALL_ACCESS,false,GetCurrentProcessID);
← →
Игорь Шевченко (2003-02-05 18:07) [26]ZZ © (05.02.03 17:16)
> On Windows NT/2K, Process Explorer requires that your account
> have the "load driver" and "debug" privileges.
Он через драйвер работает. Этот драйвер в ресурсах сидит и объекты показывает.
← →
Cosmic (2003-02-05 19:48) [27]winlogon, services... В смысле, файлы нужно так называть. Вот только от debug это ну никак не спасает.
← →
ZZ (2003-02-06 01:29) [28]Оно вообще не от чего не спасет (кроме дисп.задач)
← →
MARcoDEN (2003-02-06 10:17) [29]http://www.delphi.xonix.ru/article/?id=untermproc2
← →
Игорь Шевченко (2003-02-06 10:41) [30]Unable to determine IP address from host name for www.delphi.xonix.ru
Страницы: 1 вся ветка
Текущий архив: 2003.04.03;
Скачать: CL | DM;
Память: 0.51 MB
Время: 0.008 c