Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
2-1148119883
Glex
2006-05-20 14:11
2006.06.04
Как получить имена всех подпапок, находящихся в данной папке?


15-1147155617
grisme
2006-05-09 10:20
2006.06.04
Серверы для отправки СМС есть?


2-1147961794
carmen
2006-05-18 18:16
2006.06.04
Ошибка при обращении к таблице


2-1147686560
Cherman
2006-05-15 13:49
2006.06.04
OpenDialog


6-1139192754
Delphi_is_cool
2006-02-06 05:25
2006.06.04
Определить ip dialup сервера





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