Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.31;
Скачать: CL | DM;

Вниз

Кто запустил программу?   Найти похожие ветки 

 
Чапаев ©   (2006-12-11 15:54) [40]

> [38] Игорь Шевченко ©   (11.12.06 15:50)
Кстати... Можно ведь получить (без выкрутасов) командную строку любого процесса? Или это не для средних умов?


 
Elen ©   (2006-12-11 15:55) [41]


> RightD

Кстати Автор а какие проги будут входить в список разрешенных - спрашиваю к тому что например Акад ведь может запускаться и работать как COM объект из твоей проги.? Может и другие в твоем списке могут так, тогда никаких ключей не надо, сделай лоадер и запускай...


 
Elen ©   (2006-12-11 15:56) [42]


> Или это не для средних умов?

Средние умы найдут более высших. Те напишут монитор и все тут - затея провалилась. (Если политика не настроена)


 
Чапаев ©   (2006-12-11 15:57) [43]

Вопрос не в наличии высших умов, вопрос в трудоёмкости. И мне бы хотелось узнать, насколько трудоёмко получение командной строки произвольного процесса.


 
Elen ©   (2006-12-11 16:02) [44]


>  И мне бы хотелось узнать, насколько трудоёмко получение
> командной строки произвольного процесса.

Легко с помошью FileMonitor :)


 
Игорь Шевченко ©   (2006-12-11 16:05) [45]

Чапаев ©   (11.12.06 15:54) [40]

Без выкрутасов нельзя.


 
RightD   (2006-12-11 16:10) [46]

Приведите пример передачи параметра от приложения к приложению.


 
Чапаев ©   (2006-12-11 16:12) [47]

> [45] Игорь Шевченко ©   (11.12.06 16:05)
Это радует. :о)


 
Elen ©   (2006-12-11 16:12) [48]


> Приведите пример передачи параметра от приложения к приложению.

Мап файлы, Мессаги от WM_USER, осторожно скажу DDE...


 
Elen ©   (2006-12-11 16:13) [49]


> Это радует

Все выкрутасы уже написаны и доступны бесплатно на многих сайтах - это плохо.


 
Игорь Шевченко ©   (2006-12-11 16:15) [50]

Чапаев ©   (11.12.06 16:12) [47]

За ради интереса запусти с консоли

program ParamApp;

uses
 Forms,
 main in "main.pas" {Form1};

{$R *.res}

var
 S: string;
begin
 Application.Initialize;
 if (ParamCount = 1) then begin
   S := ParamStr(1);
   if (Length(S) <> 4) or
      ((S[1] <> "A") or (S[2] <> #127) or (S[3] <> #8) or
       (S[4] <> "B")) then
     Exit;
 end else
   Exit;
 Application.CreateForm(TForm1, Form1);
 Application.Run;
end.

TForm1 - любая форма

И запускалка:

program Launcher;

{$APPTYPE CONSOLE}

uses
 Windows,
 SysUtils;

var
 S: string;
begin
 S := ""AABB"";
 S[3] := #127;
 S[4] := #8;
 WinExec (PChar("ParamApp "+S), SW_SHOW);
end.


 
Lamer@fools.ua ©   (2006-12-11 16:22) [51]

>>Чапаев ©   (11.12.06 16:12) [47]

>Это радует. :о)
Ну пока все будут радоваться, я открою Process List в FAR"e :-)


 
Lamer@fools.ua ©   (2006-12-11 16:25) [52]

P.S. к [51]
http://i11.tinypic.com/40m2t61.png


 
boriskb ©   (2006-12-11 16:26) [53]

Я так и не уяснил, зачем такой изврат нужен.
Ясно что "чтоб не смог запускать кто ни поподя".
Но это одна из  задач и доменных и локальных политик.

Чем они не угодили то?


 
Чапаев ©   (2006-12-11 16:28) [54]

> [50] Игорь Шевченко ©   (11.12.06 16:15)
Да... С #8 проблемы. :о) Без hexedit"а не обойтись.


 
Eraser ©   (2006-12-11 16:54) [55]

> [0] RightD   (11.12.06 12:26)
> Привет!
> Необходимо запускать приложение только из другого приложения,
> исключая "ручной" запуск. Как это можно организовать?

ну отследить, кто запустил программу можно с пом. PROCESSENTRY32.th32ParentProcessID.
так вот если этот ProcessID не совпадает с текущем ID, то глушить процесс.


 
Vga ©   (2006-12-11 20:24) [56]

> [40] Чапаев ©   (11.12.06 15:54)

Process Explorer etc показывает.

Если сильно надо - можно написать ехе-криптор и продумать систему передачи ему ключа от запускающей программы. Или вообще оставить в раскриптовщике только запрос на раскриптовку в главную программу.


 
Eraser ©   (2006-12-11 20:27) [57]

> Чапаев ©  

Оффтоп:
кстати насчет того, чтобы запускать процесс от имени системы. почему бы не использовать планировщик?


 
Гарри Поттер ©   (2006-12-11 20:47) [58]

> [32] RightD   (11.12.06 15:39)
> Что вы скажете на это?:
> Программа, которая отвечает за запуск имеет процедуру создания
> файла-ключа, зависящего от ... (1)
> Программа, которую запускают имеет процедуру, анализирующую
> ключ, и принимающую решение о дальнейшей работе.
>
> (1) посоветуйте основу ключа. Шифратор-дешифратор я напишу.

А если просто запускающая прога в памяти флаг повесит, мьютекс? Запускаемая проверит наличие и запуститься\незапустится?


 
Чапаев ©   (2006-12-11 20:53) [59]

> [58] Гарри Поттер ©   (11.12.06 20:47)
Что помешает "левой" проге мьютекс создать?


> [57] Eraser ©   (11.12.06 20:27)
:о) Во наболело!


 
Гарри Поттер ©   (2006-12-11 21:07) [60]

> [59] Чапаев ©   (11.12.06 20:53)
> Что помешает "левой" проге мьютекс создать?

Что помешает "левой" проге файл-ключ создать?


 
Чапаев ©   (2006-12-11 21:09) [61]

> [60] Гарри Поттер ©   (11.12.06 21:07)
А я и не говорил, что файл-ключ -- это хорошо. ;-)


 
RightD   (2006-12-12 10:13) [62]


> Гарри Поттер ©   (11.12.06 21:07) [60]
> > [59] Чапаев ©   (11.12.06 20:53)
> > Что помешает "левой" проге мьютекс создать?
>
> Что помешает "левой" проге файл-ключ создать?


"Левую" прогу еще написать надо...



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

Текущий архив: 2006.12.31;
Скачать: CL | DM;

Наверх




Память: 0.58 MB
Время: 0.055 c
15-1165856358
Kolan
2006-12-11 19:59
2006.12.31
Вот, теперь руковожу 3 студентами :)


2-1165681703
atas-sheriff
2006-12-09 19:28
2006.12.31
ClientSocket


2-1165806597
Tex
2006-12-11 06:09
2006.12.31
Запретить сброс Horizontal Scroll в DBGrid e


15-1165520112
GanibalLector
2006-12-07 22:35
2006.12.31
Подмена сер.номера винта


2-1165930015
oleglu
2006-12-12 16:26
2006.12.31
DBGrid