Форум: "Начинающим";
Текущий архив: 2006.06.04;
Скачать: [xml.tar.bz2];
ВнизКак закрыть приложение на удаленном компьютере? Найти похожие ветки
← →
novice (2006-05-17 10:17) [0]Известен заголовок и имя .ехе, с учетом того, что там вин98?
← →
Elen © (2006-05-17 10:21) [1]Если этот exe не служба, помоему то никак
В крайнем случае тебе придется писать свою программу которая бы работала наподобие Remote Administrator
← →
novice (2006-05-17 12:21) [2]Сердцем чую :), что WMI мне поможет, только вот SDK для w2k и выше не найду.
← →
balepa © (2006-05-17 13:12) [3]
> novice (17.05.06 12:21) [2]
> Сердцем чую :), что WMI мне поможет, только вот SDK для
> w2k и выше не найду.
А у Microsoft сайты не работают ?
← →
MetalFan © (2006-05-17 13:17) [4]а зачем вам заголовок exe файла?!
← →
novice (2006-05-17 13:17) [5]Они, конечно, работают, вот только SDK там для NT4.
← →
novice (2006-05-17 13:20) [6]
> а зачем вам заголовок exe файла?!
Мне лично - ни к чему. Я лишь говорю о том, что он мне известен - это на случай поиска по заголовкам окон.
← →
MetalFan © (2006-05-17 13:27) [7]
> Мне лично - ни к чему. Я лишь говорю о том, что он мне известен
> - это на случай поиска по заголовкам окон
понятно. мы про разные вещи говорим)
заголовок окна/приложения и заголовок exe...
написать что-то типа небольшого сервера, слушающего определенный порт. с функциями получение списка запущенных приложений и завершения процесса по названию...
← →
MetalFan © (2006-05-17 13:28) [8]
> Мне лично - ни к чему. Я лишь говорю о том, что он мне известен
> - это на случай поиска по заголовкам окон
понятно. мы про разные вещи говорим)
заголовок окна/приложения и заголовок exe...
написать что-то типа небольшого сервера, слушающего определенный порт. с функциями получение списка запущенных приложений и завершения процесса по названию...
← →
novice (2006-05-17 13:47) [9]
> написать что-то типа небольшого сервера, слушающего определенный
> порт. с функциями получение списка запущенных приложений
> и завершения процесса по названию...
Но в этом случае и клиента размещать на той машинке придется, что меня не совсем радует. Напомню - вин98, т.е., не дать пользователю отрубить клиента я не смогу, а необходимо, чтобы независимо от желаний/возможностей пользователя я мог у него завершить приложение, причем с другой машины.
← →
Alien1769 © (2006-05-17 14:33) [10]
> Напомню - вин98, т.е., не дать пользователю отрубить клиента
> я не смогу, а необходимо, чтобы независимо от желаний/возможностей
> пользователя я мог у него завершить приложение, причем с
> другой машины.
А приложение на клиенте тобой написано ?
← →
novice (2006-05-17 15:11) [11]Вобщем-то, именно как клиентская часть - нет. Я нарисовал программку, которая с некоторым интервалом запрашивает список запущенных процессов и, если находит в них процесс, принадлежащий одному из заранее прописанных ексешников, убивает его. На NT"ях все здорово, т.к. юзеры мой процесс выгрузить не могут, а вот в 98-х особливо продвинутые просто убивают его - и все.
← →
Elen © (2006-05-17 15:23) [12]
function CreateNoKillProcess;
const
ACL_REVISION = 2;
begin
result:=false;
if not InitializeAcl(ACL,SizeOf(_ACL),ACL_REVISION)
then; //ShowMessage("InitializeAcl"+#13#10+SysErrorMessage(GetLastError));
if not IsValidAcl(ACL) then exit;
if not InitializeSecurityDescriptor(@SD,SECURITY_DESCRIPTOR_REVISION)
then ;//ShowMessage("InitializeSecurityDescriptor"+#13#10+SysErrorMessage(GetLastError));
if not SetSecurityDescriptorDacl(@SD,true,@ACl,true)
then ;//ShowMessage("SetSecurityDescriptorDacl"+#13#10+SysErrorMessage(GetLastError));
if not IsValidSecurityDescriptor(@SD) then exit;
ZeroMemory(@sa,SizeOf(sa));
sa.nLength:=SizeOf(sa);
sa.bInheritHandle:=false;
// Nnueea ia iao aane?eioi? aaciianiinoe
sa.lpSecurityDescriptor:=@SD;
// Io e iaeiiao, nicaaai iiaue i?ioann n iiauie ao?eaooaie aaciianiinoe
ZeroMemory(@si,SizeOf(si));
si.cb:=SizeOf(si);
if not CreateProcess(nil,EXEProg,@sa,@sa,false,0,nil,nil,si,pinfo)
then ;//ShowMessage("CreateProcess"+#13#10+SysErrorMessage(GetLastError));
result:=true
end;
Далее CreateNoKillProcess("notepad.exe"); - и если юзер не админ он его не закроет никак
← →
novice (2006-05-17 15:34) [13]
> Далее CreateNoKillProcess("notepad.exe"); - и если юзер
> не админ он его не закроет никак
Повторюсь, но у меня проблема с Вин98, где разделяемых прав нет. Это первое. Второе, даже в этом случае мою программу надо запускать на удаленном компьютере, я это делаю шедулером при входе в винду (в автозапуске почему-то не получается, но дело не в этом), а значит "особливо продвинутый" может просто отключить задание шедулера или выбросить из автозагрузки - свобода в Вин98 ничем не ограничена.
← →
Elen © (2006-05-17 15:41) [14]Значит тебе надо научиться скрывать свою прогу хотя бы в Диспетчере Задач например сплайсингом функций API.
В инете есть много статей на эту тему
← →
novice (2006-05-17 15:50) [15]Думал над этим - но задание шедулера никуда не спрятать. Вобщем, если применить WMI не получится, то придется скрывать программу в диспетчере, хотя это все-таки не совсем то и при наличии соображалки у юзера он эту защиту обойдет. Основная проблема на тек. момент - не нахожу SDK для винтукея и выше.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.06.04;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.052 c