Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2007.03.11;
Скачать: [xml.tar.bz2];

Вниз

Запрет запуска приложений. Как реализовать?   Найти похожие ветки 

 
AlexT1000   (2006-10-10 12:56) [0]

Необходимо запретить запуск списка приложений пользователем. как это можно реализовать?


 
Dmitrij_K   (2006-10-10 13:08) [1]

Через реестр
так запрещается запуск ICQ
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"DisallowRun"=dword:00000001

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\D isallowRun]
"0"="ICQNet.exe"
"1"="ICQRebootDll.exe"
"2"="Icqrun.exe"
"3"="icqsrp.exe"
"4"="ICQUninstall.exe"
"5"="ICQUpdate.exe"
"6"="ICQLite.exe"
"7"="ICQLiteDBConverter.exe"
"8"="ICQLiteUninstall.exe"
"9"="ICQLRun.exe"
"10"="ICQLSRP.EXE "
"11"="icqpro2003b.exe"
"12"="icq4_russian_setup.exe"


 
AlexT1000   (2006-10-10 13:18) [2]

есть ли какие-либо методы чтобы не через реестр. юзер  не должен иметь возможность разрешить запуск путем копания в реестре?
типа запрет на лету сделать


 
Dmitrij_K   (2006-10-10 13:46) [3]

Ставь хук на CreateProccess
http://www.madshi.net


 
AlexT1000   (2006-10-10 14:03) [4]

Dmitrij_K - > почему-то у меня этот метод не работает. приложение как запускаось так и запускается


 
Dmitrij_K   (2006-10-10 14:06) [5]


> почему-то у меня этот метод не работает

Какой метод


 
AlexT1000   (2006-10-10 14:09) [6]

Через реестр


 
Dmitrij_K   (2006-10-10 14:12) [7]

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Di sallowRun


 
Игорь Шевченко ©   (2006-10-10 14:26) [8]


> есть ли какие-либо методы чтобы не через реестр. юзер  не
> должен иметь возможность разрешить запуск путем копания
> в реестре?


Юзеру нельзя давать возможность копаться в реестре.


 
AlexT1000   (2006-10-10 14:29) [9]

Dmitrij_K ->
я так и делаю
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Di  sallowRun это у вас описка или пробел в слове Di sallowRun
действительно необходим?
я создаю раздел без пробела  DisallowRun


 
AlexT1000   (2006-10-10 14:33) [10]

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoDriveTypeAutoRun"=dword:00000091
"DissalowRun"=dword:00000001

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\D issalowRun]
"0"="\"C:\\Delphi6\\Projects\\neyo.exe\""


 
Dmitrij_K   (2006-10-10 14:33) [11]

Конечно должно быть DisallowRun
какой-то глюк Copy->Paste
Надо еще чтобы Windows прочитала эти настройки, может есть какая команда, не знаю, я делал reset


 
AlexT1000   (2006-10-10 14:34) [12]

Игорь Шевченко -> есть метод? как это сделать?


 
AlexT1000   (2006-10-10 14:36) [13]

так . это я протормозил
DissalowRun
исправил на
DisallowRun -
все равно не помогло


 
BiN ©   (2006-10-10 14:56) [14]


> AlexT1000   (10.10.06 14:36) [13]
>
> все равно не помогло

для применения настроек вызови
var
   D: DWORD;
begin
   SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0,0,SMTO_ABORTIFHUNG, 1000, D);
end;


Но, имо, контроль создания процессов реализован нормально (по хэшу) только в W2003.


 
AlexT1000   (2006-10-10 14:59) [15]

так. DisallowRun  заработало. Спасибо

еще вопрос. RestrictedRun что делает?


 
Сергей М. ©   (2006-10-10 16:53) [16]


> AlexT1000   (10.10.06 14:59) [15]


Ничто не мешает юзеру запустить то же самое приложение иными инстр.средствами, нежели средствами explorer"а.


 
novill ©   (2006-10-10 17:03) [17]

тогда остается один способ - при запуске получать список прочессов и по таймеру прибивать все новые


 
AlexT1000   (2006-10-10 18:17) [18]

Сергей М. ->  Far например тоже не может запустить такое приложение.
я так понимаю ничем больше вы не  сможете его запустить. пока оно не будет удалено из рассмотреной выше секции. другой вопрос что оно тупо переименовывается и спокойно запускается.

Перекрутим вопрос. как сделать так чтобы запускались только разрешенные приложения?
Кто знает подскажите.
делаю
Hook :=  SetWindowsHookEx(WH_CBT, @HintGetMsgHook, HInstance, 0);

function HintGetMsgHook(nCode: Integer; wParam: Longint; lParam: Longint): Longint; stdcall;
Var  CBTCreateWnd : PCBTCreateWnd;
    lpFilename: array[0..MAX_PATH] of Char;
    Msg : PMSG;
begin
 if nCode = HCBT_CREATEWND then
 begin
   CBTCreateWnd  := PCBTCreateWnd(lParam);
   
   getmodulefilename(CBTCreateWnd.lpcs.hInstance,@lpFilename,MAX_PATH);
   здесь должна  быть проверка на корректность
   Result := 1;

 end
 else
 Result := CallNextHookEx(CreateHook, nCode, wParam, lParam);
end;
но система чето валится все время


 
Ketmar ©   (2006-10-10 18:43) [19]

>[18] AlexT1000 10-Oct-2006, 18:17
>Перекрутим вопрос. как сделать так чтобы запускались
>только разрешенные приложения?
trustnoexe от BeyondLogic.


 
AlexT1000   (2006-10-10 18:51) [20]

Ketmar - > не пойдет. мне нужен код, который я смогу внедрить в свою систему


 
Ketmar ©   (2006-10-10 19:16) [21]

а там -- на сайте -- рассказано, как такой код создать. ага.


 
AlexT1000   (2006-10-10 19:25) [22]

эээээ. типа не могу найти.
дайте прямую ссылку , пожалуйста


 
Ketmar ©   (2006-10-10 19:37) [23]

>[22] AlexT1000 10-Oct-2006, 19:25
ну так скачать trustnoexe и почитать егойный pdf. где английским по читалке сказано -- перехват апи. в частности -- NtCreateSection (или NtOpenSection? старый уже, не помню %-). именно на это я и намекал.


 
Орион ©   (2006-10-10 20:37) [24]

> [23] Ketmar ©   (10.10.06 19:37)

NtCreateProcess должно хватить)


 
Орион ©   (2006-10-10 20:39) [25]

а, да.
Еще бы хорошо в программе организовать локальную БД (это я образно, хватит обычного файлика), где хранить md5 экзешников (это что бы не переименовать regedit.exe в notepad.exe и править реестр).


 
Орион ©   (2006-10-10 20:41) [26]

а еще NtQueryDirectoryFile что бы саму программу видно не было.
А еще...

короче говоря rootkit.com ;)


 
Ketmar ©   (2006-10-10 20:55) [27]

>[24] Орион(c) 10-Oct-2006, 20:37
>NtCreateProcess должно хватить)
избыточно. OpenSection() вызывается всегда.


 
serg_iv   (2006-10-11 08:58) [28]

Вообще то для этого есть программы готовые. XPTwiker например...


 
Орион ©   (2006-10-11 15:07) [29]

> [28] serg_iv   (11.10.06 08:58)

обходится легко и быстро.


 
user51   (2006-10-23 16:31) [30]

в реестре подменить шел для расширений exe com bat cmd scr reg и других
на свой собственный шел
он в свою очередь перед запуском проверяет если приложение (полный путь) в списке или нет. Есть запускает, нету не запускает.

У меня люди работают с правами пользователя поэтому в реесте ни чего изменить не могут и файлы переименовать тоже. Пару лет уже все работет


 
Ketmar ©   (2006-10-23 16:33) [31]

>[30] user51 23-Oct-2006, 16:31
>в реестре подменить
а вот FAR"у, например, -- до лампочки, что там в реестре написано.


 
user51   (2006-10-23 16:46) [32]

а фар я то и не разрешил (это я уже прошел)
запускаются только разрешенные


 
Орион ©   (2006-10-23 17:20) [33]

> [32] user51   (23.10.06 16:46)

научить запускать программы через стандартный OpenDialog любой программы? :)


 
user51   (2006-10-23 17:31) [34]

научите
примем к сведению
проверим и если что исправим шел и все остальное
будем благодарны.


 
Орион ©   (2006-10-23 17:46) [35]

> [34] user51   (23.10.06 17:31)

:)
- открываешь OpenDialog
- вводишь в поле Имя файла "*.*", нажимаешь Enter
- ищешь нужный екзешник, кликаешь по нему правоой кнопкой мыши
- из меню выбираешь "Открыть".

Вуаля :)

Вот так и обходятся всякие заменители шелла и т.п.
А если еще и пользователь под правами админа (что часто делают в игротеках, надеясь на Locker и прочую ерунду), то Редактором рееста ОС наизнанку вывернуть можно))


 
Ketmar ©   (2006-10-23 18:07) [36]

>[32] user51 23-Oct-2006, 16:46
>запускаются только разрешенные
MS Word/Excel/etc, VBA. можно ТАКОГО наворотить...


 
user51   (2006-10-23 18:12) [37]

что то я не понял что такое opendialog и как его вызвать
(подскажи что и где нажать чтобы его вызвать) если на екзешнике правая клавиши -  свойства и затем вместо имени файла "*.*" то не вводится.

У нас клубы интернет штук 10 в общей сумме компов 80
и все файлы у наших пользоваетелей только для чтения в том числе и рабочий стол с ярлыками так что изменение имени файла не покатит так как не сможет записаться. Естественно они не в группе администраторов.
Запуск regedit не разрешен.
И самая большая проблема по обслуживанию это вздутые емкости в БП и материнках а никак програмные. Некоторые операционки стоят пару и никто ничего с ними сделать не может, даже вирусы не цепляются.
Такчто защита от запуска с помошью подмены шела нам вроде помогает.


 
Ketmar ©   (2006-10-23 18:26) [38]

>[37] user51 23-Oct-2006, 18:12
>Такчто защита от запуска с помошью подмены шела нам вроде
>помогает.
пока не попадётся какой-то "хардкорный" юзер, которому будет скучно. %-)


 
Ketmar ©   (2006-10-23 18:28) [39]

помню, когда-то у "укртелекома" в инет-кафешке вообще win98 стоял. а я ночь коротал, ожидая поезда. нет, я не злой, всего лишь вписал в разные места вывод надписи "админ -- дятел". а мог бы и format...
%-)


 
Leonid Troyanovsky ©   (2006-10-23 19:10) [40]


> Ketmar ©   (23.10.06 18:26) [38]

> пока не попадётся какой-то "хардкорный" юзер, которому будет
> скучно. %-)


А каким же инструментарием пользуются оные юзеры во время
скучных ожиданий поездов в 9х?
Или пользуются домашние заготовки, т.е., через спутник залил
и т.д.?

Просто любопытно, а то смотришь иной раз кино, аж дух захватывает.
Может быть, обыденная реальность уже сравнялась, или опередила
киношные фантазии.

--
Regards, LVT.


 
Ketmar ©   (2006-10-23 19:21) [41]

>[40] Leonid Troyanovsky(c) 23-Oct-2006, 19:10
>А каким же инструментарием пользуются оные юзеры во время
>скучных ожиданий поездов в 9х?
смотри мою характеристику админа. обычным IE. %-)


 
Орион ©   (2006-10-23 19:28) [42]

> [37] user51   (23.10.06 18:12)


> что то я не понял что такое opendialog и как его вызвать

Стандартный диалог Windows для открытия файлов. Вот запусти Блокнот Файл->Открыть. Это он самый.

Короче говоря. Подмена шела - защита от дурака + повременная тарификация юзеров (для интернет-кафе и т.п.).


 
Leonid Troyanovsky ©   (2006-10-23 19:31) [43]


> Ketmar ©   (23.10.06 19:21) [41]

> смотри мою характеристику админа. обычным IE. %-)


Вот, так я и подозревал. Т.е., как всегда :)

Я уж думал, что оные юзеры таскают на себе набор
наиболее проникновенных драйверов, прошивок и т.п.

С другой стороны, так и должно быть.
Бо, самые изощренные, скажем, разводы (пардон)
ничего сверхественного не представляют.

--
Regards, LVT.


 
Ketmar ©   (2006-10-23 19:35) [44]

>[43] Leonid Troyanovsky(c) 23-Oct-2006, 19:31
>Я уж думал, что оные юзеры таскают на себе набор
>наиболее проникновенных драйверов, прошивок и т.п.
нейрошунт забыл упомянуть. %-)


 
Leonid Troyanovsky ©   (2006-10-23 19:42) [45]


> Ketmar ©   (23.10.06 19:35) [44]

> нейрошунт забыл упомянуть. %-)


Это который через сетчатку или через гипотоламус?
Ты б лучше фильм напомнил.

--
Regards, LVT.


 
Ketmar ©   (2006-10-23 19:45) [46]

>[45] Leonid Troyanovsky(c) 23-Oct-2006, 19:42
>Ты б лучше фильм напомнил.
да я не конкретный фильм. я о киберпанке вообще.


 
Орион ©   (2006-10-23 20:07) [47]

> [43] user51   (23.10.06 18:12)
> что то я не понял что такое opendialog и как его вызвать

Запусти Блокнот. Файл->Открыть.


 
Орион ©   (2006-10-23 20:09) [48]

ой-йе. Меня глюкануло. Точней клиент.
Последняя запись от Ketmar ©   (23.10.06 19:21) [41]
И дальше не загружает обновления. Хм...


 
Ketmar ©   (2006-10-23 20:11) [49]

>[48] Орион(c) 23-Oct-2006, 20:09
>Последняя запись от Ketmar ©  (23.10.06 19:21) [41]
>И дальше не загружает обновления. Хм...
DMClient? грохни .txt и перезагрузи ветку. %-)


 
Орион ©   (2006-10-23 20:25) [50]

> [49] Ketmar ©   (23.10.06 20:11)

Он самый). Пасиб, помогло.


 
user51   (2006-10-24 10:10) [51]

опен диалог не катит - все отлавливается и блокируется


 
user51   (2006-10-24 10:12) [52]

Исходник програмы которая блокирует и комп и снимет блокировку
на форме просто нарисоать две кнопки

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
 StdCtrls,Registry;

type
 TForm1 = class(TForm)
   Button1: TButton;
   Button2: TButton;
   procedure Button1Click(Sender: TObject);
   procedure cl1;
   procedure op1;
   procedure Button2Click(Sender: TObject);

 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.cl1;
const rkey=HKEY_CURRENT_USER;

var
 reg: TRegistry;
 shell1:string;
  begin
         //здесь указываем путь к своему шелу
         shell1:="c:\windows\system32\shell1.exe";

         reg := TRegistry.Create;
         reg.RootKey :=HKEY_CLASSES_ROOT;
         reg.OpenKey("exefile\shell\Open\Command",True);
         reg.Writestring("",shell1+" "%1" %*");
         reg.CloseKey;
         reg.OpenKey("batfile\shell\Open\Command",True);
         reg.Writestring("",shell1+" "%1" %*");
         reg.CloseKey;
         reg.OpenKey("cmdfile\shell\Open\Command",True);
         reg.Writestring("",shell1+" "%1" %*");
         reg.CloseKey;
         reg.OpenKey("regfile\shell\Open\Command",True);
         reg.Writestring("",shell1+" "%1" %*");
         reg.CloseKey;
         reg.OpenKey("comfile\shell\Open\Command",True);
         reg.Writestring("",shell1+" "%1" %*");
         reg.CloseKey;
         reg.OpenKey("piffile\shell\Open\Command",True);
         reg.Writestring("",shell1+" "%1" %*");
         reg.CloseKey;
         reg.OpenKey("scrfile\shell\open\command",True);
         reg.Writestring("",shell1+" "%1" %*");
         reg.CloseKey;
         reg.free;
end;

procedure TForm1.op1;
var
  reg: TRegistry;
  i:integer;
         begin
         reg := TRegistry.Create;
         reg.RootKey :=HKEY_CLASSES_ROOT;
         reg.OpenKey("exefile\shell\open\command",True);
         reg.Writestring("",""%1" %*");
         reg.CloseKey;
         reg.OpenKey("batfile\shell\open\command",True);
         reg.Writestring("",""%1" %*");
         reg.CloseKey;
         reg.OpenKey("cmdfile\shell\open\command",True);
         reg.Writestring("",""%1" %*");
         reg.CloseKey;
         reg.OpenKey("comfile\shell\open\command",True);
         reg.Writestring("",""%1" %*");
         reg.CloseKey;
         reg.OpenKey("piffile\shell\open\command",True);
         reg.Writestring("",""%1" %*");
         reg.CloseKey;
         reg.OpenKey("scrfile\shell\open\command",True);
         reg.Writestring("",""%1" %*");
         reg.CloseKey;
         reg.OpenKey("regfile\shell\open\command",True);
         reg.Writestring("","regedit.exe "%1"");
         reg.CloseKey;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
op1;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
cl1;
end;

end.


 
user51   (2006-10-24 10:15) [53]

сам шел на который происходит подмена
перед окрытием проверяет есть файл в списке или нету пишет лог
изи пускает или не запускает файл. есть возможность проверки на полное или частичное совпадение (первый символ в списке 0 или 1)
Если вдруг комп за блокировали и не можете разблокировать удалите файл со списком (оставил дырку для себя чтоб не вешатся если сам комп заблокировал)

program shell1;

uses
 Windows,
 SysUtils,
 FileCtrl;

{$R *.RES}
label loop1,loop2,loop3;

var f1,f_ok:textfile;
TM:TDateTime;
name_comp,file_name:string;
ff_param,ff_param_ok:AnsiString;
i,ii:integer;
a : Array[0..MAX_PATH] of char;
ap:cardinal;
savedir   :string;
okb, // разрешение на запуск файла
spisok // true список есть false списка нет
:boolean;
begin

if ParamCount>0 then
begin

       for i := 1 to ParamCount do  ff_param:=ff_param+paramStr(i)+" ";
       Delete(ff_param,length(ff_param),1);
       okb:=false; //заперет запуска файла

file_name:=ExtractFileDir(paramStr(0))+"\shell.txt";    //предполагается что в одной папке шел и список приложений shell.txt

if FileExists(file_name) then
       begin

       spisok:=true;
       assignfile(f_ok,file_name);  //указывает на файл со списком
       reset(f_ok);
       repeat
       loop2:

       try    //изменил 26.04.2005
       readln(f_ok,ii,ff_param_ok);
       except //изменил 26.04.2005
       end;   //изменил 26.04.2005

       if  eof(f_ok) then   goto loop3; //добавил 19.12.2005
      //чтоб не было бесконечных циклов и зависание компьютера

       if (ff_param_ok ="")  then goto loop2;  //изменил 26.04.2005

       loop3: //изменил 19.12.2005

       delete(ff_param_ok,1,2);
       delete(ff_param_ok,length(ff_param_ok),1);

       if ii=1 then
               begin
                       if LowerCase(ff_param)=LowerCase(ff_param_ok) then
                       begin
                               okb:=true;
                               winexec(pchar(ff_param),1);
                               goto loop1;
                       end;
                end;

       if ii=0 then
               begin
                       if pos (LowerCase(ff_param_ok),LowerCase(ff_param))>0 then
                       begin
                               okb:=true;
                               winexec(pchar(ff_param),1);
                               goto loop1;
                       end;
               end;

       until eof(f_ok);
       loop1:

       try    //изменил 26.04.2005
       closefile(f_ok);
       except //изменил 26.04.2005
       end;   //изменил 26.04.2005

       end
       else
       begin
       spisok:=false;
       winexec(pchar(ff_param),1);
       end;

ap:=sizeof(a);
GetComputerName(a, ap);
name_comp:=StrPas(a);
GetSystemDirectory(a, sizeof(a));
TM:=NOW;
savedir:=StrPas(a)+"\shel1\rsmp\"+FormatDateTime("yyyy", tm)+"\"+
FormatDateTime("mm", tm)+"_"+FormatDateTime("yyyy", tm)+"\";

       try    //изменил 26.04.2005
ForceDirectories(savedir);
       except //изменил 26.04.2005
       end;   //изменил 26.04.2005

    if okb then  file_name:=savedir+FormatDateTime("dd", tm)+".shell."+name_comp+".txt"
           else  file_name:=savedir+FormatDateTime("dd", tm)+".shell."+name_comp+".no.txt";
    if not spisok then  file_name:=savedir+FormatDateTime("dd", tm)+".shell."+name_comp+".no spisok.txt";

    AssignFile(F1,file_name);

if FileExists(file_name) then
begin

       try    //изменил 26.04.2005
       append(f1);
       except //изменил 26.04.2005
       end;   //изменил 26.04.2005
end
else
begin

       try    //изменил 26.04.2005
       rewrite(f1);
       except //изменил 26.04.2005
       end;   //изменил 26.04.2005
end;

       try    //изменил 26.04.2005
       writeln(f1,datetostr(date):8," ",timetostr(time):8," "",ff_param,""");
       closefile(f1);
       except //изменил 26.04.2005
       end;   //изменил 26.04.2005

end;
end.


 
user51   (2006-10-24 10:17) [54]

файл со списком должен лежать рядом с шелом
часть 1
shell.txt

1 "c:\Gmouse\gnetmous.exe"
1 "c:\MailReader\MREADER.EXE"
0 "c:\PROGRA~1\ICQ\ICQSRP.exe STPARAM="
0 "c:\PROGRA~1\INTERN~1\iexplore.exe"
1 "c:\PROGRA~1\wincmd\TOTALCMD.EXE"
0 "c:\PROGRA~1\WinZip\winzip32.exe"
1 "c:\PROGRA~1\Yahoo!\MESSEN~1\YPager.exe"
0 "c:\Program Files\A4Tech\Mouse\Amoumain.exe"
1 "c:\Program Files\ACD Systems\ACDSee\ACDSee.exe"
0 "c:\Program Files\ACDSee32\ACDSee32.exe"
1 "c:\Program Files\Ad-Aware SE Professional\Ad-Aware.exe"
1 "c:\Program Files\Ad-Aware SE Professional\Ad-Watch.exe"
0 "c:\Program Files\Adobe\Acrobat 5.0\Reader\AcroRd32.exe"
1 "c:\Program Files\Adobe\Acrobat 6.0 CE\Reader\AcroRd32.exe"
1 "c:\Program Files\Adobe\Acrobat 6.0\Reader\AcroRd32.exe"
0 "c:\Program Files\Adobe\Photoshop 5.0\PHOTOSHP.EXE"
1 "c:\Program Files\Adobe\Photoshop 7.0\Photoshop.exe"
1 "c:\Program Files\Ahead\CoverDesigner\CoverDes.exe"
1 "c:\Program Files\Ahead\ImageDrive\ImageDrive.exe"
1 "c:\Program Files\Ahead\Nero BackItUp\BackItUp.exe"
1 "c:\Program Files\Ahead\Nero SoundTrax\SoundTrax.exe"
1 "c:\Program Files\Ahead\Nero StartSmart\NeroStartSmart.exe"
1 "c:\Program Files\Ahead\Nero Toolkit\CDSpeed.exe"
1 "c:\Program Files\Ahead\Nero Toolkit\DriveSpeed.exe"
1 "c:\Program Files\Ahead\Nero Toolkit\InfoTool.exe"
1 "c:\Program Files\Ahead\Nero Wave Editor\WaveEdit.exe"
1 "c:\Program Files\Ahead\Nero\nero.exe /w"
1 "c:\Program Files\Ahead\Nero\nero.exe"
1 "c:\Program Files\Arsenal Company\Сократ Персональный 4.1\spv.exe"
1 "c:\Program Files\BSplayerPro\bsplayer.exe -capture"
1 "c:\Program Files\BSplayerPro\bsplayer.exe -subedit"
1 "c:\Program Files\BSplayerPro\bsplayer.exe"
1 "c:\Program Files\Common Files\KAV Shared Files\avpupd.exe"
1 "c:\Program Files\Common Files\KAV Shared Files\avpVList.exe"
1 "c:\Program Files\Common Files\Microsoft Shared\MSPaper\MSPSCAN.EXE"
1 "c:\Program Files\Common Files\Microsoft Shared\MSPaper\MSPVIEW.EXE"
1 "c:\Program Files\Common Files\Microsoft Shared\Office10\DW.EXE -c"
1 "c:\Program Files\Common Files\Microsoft Shared\PhotoEd\PHOTOED.EXE"
1 "c:\Program Files\Common Files\Microsoft Shared\Snapshot Viewer\SNAPVIEW.EXE"
1 "c:\Program Files\Corel\Corel Graphics 11\Programs\CorelDrw.exe"
1 "c:\Program Files\Corel\Corel Graphics 11\Programs\CorelPP.exe"
0 "c:\Program Files\CyberLink\PowerDVD\PowerDVD.exe"
1 "c:\Program Files\ICQ\Icq.exe -trayboot"
1 "c:\Program Files\ICQ\Icq.exe"
0 "c:\Program Files\ICQ\ICQSRP.exe"
1 "c:\Program Files\ICQLite\ICQLite.exe"
1 "c:\Program Files\Internet Explorer\IEXPLORE.EXE"
1 "c:\Program Files\Kaspersky Lab\Kaspersky Anti-Virus Personal Pro\Avp32.exe"
1 "c:\Program Files\Kaspersky Lab\Kaspersky Anti-Virus Personal Pro\avpcc.exe /wait"
1 "c:\Program Files\Kaspersky Lab\Kaspersky Anti-Virus Personal Pro\avpcc.exe"
1 "c:\Program Files\Kaspersky Lab\Kaspersky Anti-Virus Personal Pro\AvpM.exe"
1 "c:\Program Files\Kaspersky Lab\Kaspersky Anti-Virus Personal Pro\AVRescue.exe"
1 "c:\Program Files\Kaspersky Lab\Kaspersky Anti-Virus Personal Pro\KAVI.exe"
1 "c:\Program Files\Kaspersky Lab\Kaspersky Anti-Virus Personal Pro\OffGuard.exe"
1 "c:\Program Files\Kaspersky Lab\Kaspersky Anti-Virus Personal Pro\ogrc.exe"
1 "c:\Program Files\Media Player Classic\mplayerc.exe"
1 "c:\Program Files\Messenger\msmsgs.exe"
1 "c:\Program Files\Microsoft Office\Office\EXCEL.EXE"
1 "c:\Program Files\Microsoft Office\Office\FRONTPG.EXE"
1 "c:\Program Files\Microsoft Office\Office\OSA9.EXE -b -l"
1 "c:\Program Files\Microsoft Office\Office\WINWORD.EXE"
1 "c:\Program Files\Mail.Ru\Agent\Magent.exe"


 
user51   (2006-10-24 10:20) [55]

часть 2

0 "c:\Program Files\Microsoft Office\Office10\1049\msohelp.exe
1 "c:\Program Files\Microsoft Office\Office10\EXCEL.EXE"
1 "c:\Program Files\Microsoft Office\Office10\FRONTPG.EXE"
1 "c:\Program Files\Microsoft Office\Office10\MSACCESS.EXE"
1 "c:\Program Files\Microsoft Office\Office10\MSTORE.EXE"
1 "c:\Program Files\Microsoft Office\Office10\OSA.EXE -b -l"
1 "c:\Program Files\Microsoft Office\Office10\OSA.EXE -o"
1 "c:\Program Files\Microsoft Office\Office10\OUTLOOK.EXE"
1 "c:\Program Files\Microsoft Office\Office10\POWERPNT.EXE"
1 "c:\Program Files\Microsoft Office\Office10\PROFLWIZ.EXE /u"
1 "c:\Program Files\Microsoft Office\Office10\SETLANG.EXE"
1 "c:\Program Files\Microsoft Office\Office10\WINWORD.EXE"
1 "c:\Program Files\Movie Maker\moviemk.exe"
1 "c:\Program Files\Mozilla Firefox\firefox.exe"
1 "c:\Program Files\mozilla.org\Mozilla\mozilla.exe -mail"
1 "c:\Program Files\mozilla.org\Mozilla\mozilla.exe -ProfileManager"
1 "c:\Program Files\mozilla.org\Mozilla\mozilla.exe"
1 "c:\Program Files\mozilla.org\Mozilla\regxpcom.exe"
1 "c:\Program Files\MSN Gaming Zone\Windows\bckgzm.exe"
1 "c:\Program Files\MSN Gaming Zone\Windows\chkrzm.exe"
1 "c:\Program Files\MSN Gaming Zone\Windows\hrtzzm.exe"
1 "c:\Program Files\MSN Gaming Zone\Windows\Rvsezm.exe"
1 "c:\Program Files\MSN Gaming Zone\Windows\shvlzm.exe"
1 "c:\Program Files\MSN Messenger\msnmsgr.exe /background"
1 "c:\Program Files\MSN Messenger\msnmsgr.exe"
1 "c:\Program Files\Opera\opera.exe"
1 "c:\Program Files\Opera7\Opera.exe"
1 "c:\Program Files\Outlook Express\msimn.exe"
1 "c:\Program Files\Outlook Express\wab.exe"
1 "c:\Program Files\Plus!\Microsoft Internet\IEXPLORE.EXE"
1 "c:\Program Files\PROMT98\BATCH.EXE"
1 "c:\Program Files\PROMT98\PROMT.EXE"
1 "c:\Program Files\PROMT98\WEBVIEW.EXE"
0 "c:\Program Files\r&k\"
0 "c:\Program Files\Rambler-Ego\Bin\Odigo.exe"
0 "c:\Program Files\Real\RealPlayer\RealPlay.exe"
1 "c:\Program Files\Sibcon\Program\netscape.exe"
1 "c:\Program Files\TOTAL COMMANDER\TOTALCMD.EXE"
1 "c:\Program Files\totalcmd\TOTALCMD.EXE"
1 "c:\Program Files\WebMoney\WebMoney.exe"
1 "c:\Program Files\Winamp\winamp.exe"
1 "c:\Program Files\wincmd\TOTALCMD.EXE"
1 "c:\Program Files\wincmd\WINCMD32.EXE"
1 "c:\Program Files\Windows Media Player\mplayer2.exe"
0 "c:\Program Files\Windows Media Player\wmplayer.exe"
0 "c:\Program Files\Windows NT\Accessories\ImageVue\wangimg.exe"
1 "c:\Program Files\Windows NT\Accessories\WORDPAD.EXE"
1 "c:\Program Files\Windows NT\hypertrm.exe"
1 "c:\Program Files\Windows NT\Pinball\PINBALL.EXE"
1 "c:\Program Files\WinRAR\WinRAR.exe"
1 "c:\Program Files\WinZip\WINZIP32.EXE"
1 "c:\Program Files\X-Translator GOLD\XTRA\PrmtX.exe"
0 "c:\Program Files\Yahoo!\Messenger\ypager.exe"
1 "c:\wincmd\WINCMD32.EXE"
1 "c:\WINDOWS\explorer.exe"
1 "c:\WINDOWS\system32\calc.exe"
1 "c:\WINDOWS\system32\charmap.exe"
1 "c:\WINDOWS\system32\ctfmon.exe"
1 "c:\WINDOWS\system32\freecell.exe"
1 "c:\WINDOWS\system32\mshearts.exe"
1 "c:\WINDOWS\system32\mspaint.exe"
1 "c:\WINDOWS\system32\notepad.exe"
1 "c:\WINDOWS\system32\sndrec32.exe"
1 "c:\WINDOWS\system32\sndvol32.exe"
1 "c:\WINDOWS\system32\sol.exe"
1 "c:\WINDOWS\system32\spider.exe"
1 "c:\WINDOWS\system32\tourstart.exe"
1 "c:\WINDOWS\system32\winmine.exe"
1 "c:\WINNT\EXPLORER.EXE"
1 "c:\WINNT\loadqm.exe"
1 "c:\WINNT\soundman.exe"
1 "c:\WINNT\system32\calc.exe"
0 "c:\WINNT\system32\cdplayer.exe"
1 "c:\WINNT\system32\charmap.exe"
1 "c:\WINNT\system32\clock.exe"
1 "c:\WINNT\System32\hkcmd.exe"
1 "c:\WINNT\System32\internat.exe"
1 "c:\WINNT\System32\loadwc.exe"
1 "c:\WINNT\system32\mspaint.exe"
1 "c:\WINNT\System32\mstinit.exe /logon"
1 "c:\WINNT\system32\MUSRMGR.EXE"
0 "c:\WINNT\System32\notepad.exe"
1 "c:\WINNT\System32\qttask.exe"
0 "c:\WINNT\system32\sndrec32.exe"
1 "c:\WINNT\System32\SNDVOL32.EXE"
1 "c:\WINNT\System32\SysTray.Exe"
0 "c:\WINNT\system32\viewers\quikview.exe"
1 "c:\WINNT\System32\write.exe"
0 "c:\WINNT\system32\PING.EXE "
1 "c:\WINDOWS\system32\rundll32.exe shell32.dll,Control_RunDLL hotplug.dll"
1 "c:\Program Files\Yahoo!\Messenger\YahooMessenger.exe"

Что не надо выкинте что надо добавте

Я пока не нашел способ обхода под пользователем который не группе админов и когда комп закрыт этой прогой.  
Может вы найдете дырку так подскажите.

И как сдесь атачменты прикреплять
прикрепилбы уже скомилироанное + исходники


 
Ketmar ©   (2006-10-24 10:21) [56]

у-у-у, как всё печально. разносится система на кусочки за пару минут. total commander, MS Office... дальше можно и не смотреть.


 
user51   (2006-10-24 10:29) [57]

ты проверь а потом говори
не думаю что наши юзеры начтолько тупее ваших
что за пару лет не операционки не поуроняли.
у нас кондесаторы сохнут чаще чем операционки валятся.

Хотя можешь подсказать способы обхода я проверю

опен диалог хваленый отлавливается и блокируется
что еще скажете проверить ?


 
Ketmar ©   (2006-10-24 10:43) [58]

>[57] user51 24-Oct-2006, 10:29
>ты проверь а потом говори
подумай, сам поймёшь, насколько смешна подобная "защита" с указаным списком программ. хинт: TC, VBA.

>Хотя можешь подсказать способы обхода я проверю
оплата какая? это уже называется "техническая консультация". предпочитаю выполнять такого рода работы не за абстрактное "tnx".


 
user51   (2006-10-24 11:11) [59]

Да Ketmar наверно ты сильно крут, не спорю, поэтому не могу понять как ты мне предлагаешь обойти защиту. Наверно не абстрактное "tnx" просишь так как предложить не можешь ничего что бы я мог проверить. Пока я не увижу конкретный способ до тех пор все твои слова пустая ботовня.

Твоя "техническая консультация" мне не нужна (способ ограничения считается необойденным пока не доказано обратное)  просто человек спаршивал я ответил.


 
Ketmar ©   (2006-10-24 11:19) [60]

>[59] user51 24-Oct-2006, 11:11
>до тех пор все твои слова пустая ботовня.
да хоть трижды болтовня. уломал. мне-то что с твоей веры? не у меня же дырки в решении.

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


 
user51   (2006-10-24 11:33) [61]

Да верно спорить сильно не стоит.
Вообщето защиту эту сделал когда задолбало что клиенты забивали канал при скачке прогами (типа менеджеры закачек) которые они приносили и запускали. И запись дисков CD запускали из коммндной строки (NERO) или с помошью принесенных прог.
Даже если ее обойдут то максимум что смогут сделать так это запустить какую нибудь прогу которая не сможет повлиять на оперционку тк она вся реадонли. Да и прога чтонибудь с интренета скачать захочет а не операционку снести.

Ketmar наверно согласишься что лучше иметь такую защиту чем никакой


 
Alx_ ©   (2006-10-24 12:29) [62]

Не смог прочитать код.
Дошел до goto и пришлось уйти :)))


 
Орион ©   (2006-10-24 15:16) [63]

user51, хм... обойти "защиту".

Запускаем ACDSee.
Переименовуем папку WinZip в WinZip1.
Создаем папку WinZip.
Копируем туда нужный нам exe.
Называем его winzip32.exe.


 
Орион ©   (2006-10-24 15:17) [64]

ах да. ACDSee нам в принципе не нужен. Опять же все операции через opendialog деалем)) Вообще уникальная вещь %))


 
user51   (2006-10-24 16:41) [65]

прикольно
я ведь говорил что никакие файлы переименовать нельзя или создать
(это интренет клуб и там все для чтения) настроена так безопасность.

opendialog - не катит ничего через него запустить нельзя


 
novill ©   (2006-10-24 16:42) [66]

> Вообщето защиту эту сделал когда задолбало что клиенты забивали
> канал при скачке прогами (типа менеджеры закачек) которые
> они приносили и запускали.


Зачем городить защиту,вместо того чтобы элементарно ограничить канал на каждую машину?
В проски-серверах есть такие настройки.


 
user51   (2006-10-24 17:09) [67]

во первых нужен комп для прокси. потом настроить все проги для работу через прокси. Потом если комп зависнет все отдыхают пока его не востановят - это не приемлимо (счас соединение через DSL модем все легко и просто). У нас 10 клубов по где то компов по 8 в среднем в зале и один у ператора. так что проксей не наставишься. Опять же запись на CD одно время была у нас за деньги и неро не запускалось пока оператор не разрешит так  что таскали всякие мелкие прожки для записи. Теперь нифига что не разрешено запусить невозможно. И вирусы тоже в пролете (.scr .exe и другие)


 
Ketmar ©   (2006-10-24 17:32) [68]

>[67] user51 24-Oct-2006, 17:09
>на CD одно время была у нас за деньги и неро не
>запускалось пока оператор не разрешит
программисты... есть простое аппаратное решение: DVD-ROM называется.


 
Игорь Шевченко ©   (2006-10-24 17:32) [69]

А policy всякие для дураков придумывают


 
novill ©   (2006-10-24 17:41) [70]

ерунда какая-то. Почему при включенной "защите" программы не запускаются независимо от ничия их в списке?


 
user51   (2006-10-24 18:00) [71]

если это те policy о котрых я думаю то там все решается переименованием файлов тк контролируется там не по полному пути а просто по имени файла.

ВООБЩЕТО ЧЕЛОВЕК СПРАШИВАЛ

>AlexT1000   (10.10.06 18:17) [18]
>Перекрутим вопрос. как сделать так чтобы запускались только >разрешенные приложения?
>Кто знает подскажите.

Я ЕМУ ОТВЕТИЛ
ВСЕ ОТЛИЧНО РАБОТАЕТ ПАРУ ЛЕТ  

Кто хочет доказать что защита не работает  пусть скомпилирует исходники и проверит. там две кнопки одна закрывает комп другая открывает.
кому надоест проверять пусть нажмет кнопку которая открывает или уберет из папки где лежит новый шел файл со списком разрешенных программ shell.txt (так отключается защита)


 
Наиль ©   (2006-10-24 20:13) [72]


>  [52] user51   (24.10.06 10:12)

Где-то на заднем дворе моего винчестера похоронена точная копия этой программы. Сам писал. Сам же обошел защиту в тещение часа.
Обходится просто.
1. Правой кнопкой мыши в OpenDialog на любом файле.
2. Открыть файл с помощью...
3. Выбираем любую запрещёную программу. И она, как не страно, запускается.
Но это в XP.
Если под W9x, то можно сделать так:
1. Создаём в блокноте файл реестра (на вкус взломщика)
2. Сохраняем с каким-нибудь фантастическим расширением
3. Правой кнопкой в OpenDialog открываем файл
4. На предложение выбрать программу для данного типа документов, выбираем RegEdit.


 
Alx_ ©   (2006-10-25 06:26) [73]

Удалено модератором
Примечание: Жаргон меняем


 
Наиль ©   (2006-10-25 07:20) [74]

Удалено модератором
Примечание: Жаргон меняем


 
Alx_ ©   (2006-10-25 07:30) [75]

>[74] Наиль ©   (25.10.06 07:20)
Нет. Не ты. Это я делился с тобой своими наблюдениями


 
user51   (2006-10-25 09:28) [76]

> Наиль
Мы с напарником долго ржали с того что у тебя есть точная копия программы. Разве ты телепат и можешь мысли прямо с чужой головы  считывать. Вообще то для автора программы ты плохо с ней знаком под XP при твоем методе тебя ждет ОБЛОМИНГО (98 естественно даже и не обсуждаются за отсутсвием таковых). я проверил все сам
Лог программы заперещенных запусков
25.10.2006  8:05:40 "D:\WINDOWS\system32\RUNDLL32.EXE shell32.dll,OpenAs_RunDLL c:\update.111txt"

здесь как раз прога посылает нафиг твой запрос на открытие незвесного расширения
ТАК ЧТО У ТЕБЯ НЕ ПОЛУЧИЛОСЬ ПРИПИСАТЬ ЧУЖИЕ ЗАСЛУГИ СЕБЕ.
Так еще вопрос почему у шела именно такой размер (длинноветенький такой), а не покороче раз ты умеешь мысли с головы считывать.

novill
В логах файла (глянь пути ) могут получатся три вида файлов

25.shell1.COMPUTER2.no spisok.txt это если нет списка с разрешенными программами в папке с шелом (фактически защита деактивирована)

25.shell1.COMPUTER2.no.txt есть файл со списком но нет в списке файла который хочешь запустить. Если что то не запускается то добавляешь строчку из этого файла  в файл со списком программ удалив предварительно дату и поставив 1 или 0 в начале строчки (взависимости нужно полное совпадение  1 или только частичное 0 )
0 "c:\Program Files\r&k\" будут запускатся все файлы из папки
1 "c:\Program Files\Microsoft Office\Office10\EXCEL.EXE" только полное совпадение

25.shell1.COMPUTER2.txt файл в списке найден и запущен


 
novill ©   (2006-10-25 10:15) [77]

Я чуть с именем шел"а ошибся. Система просто не находила файл.

"Защита" обходится элементарно. Представь себя продвинутым пользователем, сильно желающим запустить какое-то приложение, как бы ты ее обходил


 
user51   (2006-10-25 10:20) [78]

novill
Я может и не продвинутый пользователь обойти сам не смог поэтому оставил дырку с удалением или переименование файла со списками. Если не трудно скажи как обойти.


 
novill ©   (2006-10-25 10:40) [79]

Дырка находится в анализе разрешенного каталога.


 
novill ©   (2006-10-25 10:48) [80]

Что бы ты ему скормил, чтобы он разрешил любую прогу?


 
user51   (2006-10-25 10:58) [81]

У нас изменить список ,  сам шел и имена файлов которые в списке  нельзя так как реадонли, чесно сказать я так и не понял как обойти.
Уточнить можешь как Наиль? Он точно указал порядок действий хотя его способ не действует.


 
novill ©   (2006-10-25 11:13) [82]

Порядка действий нет, есть одно действие - в любой командной строке написать имя исполнимого файла а разрешенный путь передать параметром.

Например:
fuckadmin.exe "c:\Program Files\Rambler-Ego\Bin\Odigo.exe"


 
user51   (2006-10-25 11:34) [83]

Вообщето никакая коммандная строка  не выполнится
пуск выполнить cmd.exe успешно отлавливается и блокируется

25.10.2006 10:21:15 "D:\WINDOWS\system32\cmd.exe"

Толко фару на все плевать, но его нет в списке разрешенных

Сладывается ощущение что проверку программы все делают теоретически в  уме. Надо просто прогу и шел скомпилировать  положить список к шелу. Если хоть в одном файле логов будет запись о запускаемом файле то прога свое дело сделала отловила действие. А дальше все зависит от списка разрешили запуск или нет. Защита обойдена будет если вы запускаете что то
он запускается, а ни в ондном файле логов ничего не пишется - такого я еше сам не наблюдал и никто не преложил как это сделать.


 
novill ©   (2006-10-25 11:35) [84]

Модератору: Какой смыслбыло переносить ветки в Апи? Тут ими и не пахнет.


 
novill ©   (2006-10-25 11:41) [85]

Есть TotalCommamder, у  него есть командная строка.


> Если хоть в одном файле логов будет запись о запускаемом
> файле то прога свое дело сделала отловила действие.

Я искренне верил, что цель проги - запретить запуск других приложений, если тебе достаточно лога - не вопрос.


 
novill ©   (2006-10-25 11:45) [86]

Кстати, просто вопрос - у вас ветка  HKEY_CLASSES_ROOT защищена от редактирования пользователем? (я знаю, что regedit запрещен)


 
user51   (2006-10-25 11:50) [87]

Если лог есть значит значит действие отлавливается и только от того кто наполнял список зависит разрешить его или нет.
Если сделать список только из одной строки допустим
1 "c:\123\123.123"
Закрыть комп и перегрузить комп вы переживете много незабываемых моментов пока вам не надоест и вы переименуете файл со списком.

Кто хочет поделится своими впечатлениями от защиты компа с такой конфигурацией файла списков можете написать. Также можете написать как вам удалось запустить что нибудь.


 
novill ©   (2006-10-25 11:54) [88]

Дырка - только в обработке каталога, нет разрешенных каталогов - нет проблемы.

Кстати, как вы защитились от регистрации новых расширений?


 
user51   (2006-10-25 12:02) [89]

Уже писал выше что для регистрации нового расширения нужно выполнить
комманду которая успешно отлавливается
25.10.2006  8:05:40 "D:\WINDOWS\system32\RUNDLL32.EXE shell32.dll,OpenAs_RunDLL c:\update.111txt"
ее не в списке разрешенных и все она игнорируетсяи ничего не происходит

Никак не могу понять что значит дырка в обработке каталога (если в шеле то это ошибка реализации а не метода) Если имеется папка ввиду папка
0 "c:\Program Files\r&k\" в моем списке то туда вообще доступа нет пользователям. Я туда свои проги складирую. А так естественно лучще
прописать все по полному пути с указанием имени екзешника и параметром 1 в начале строки


 
novill ©   (2006-10-25 12:21) [90]

Всё что я хочу сказать - при реализации
      if ii=0 then
              begin
                      if pos (LowerCase(ff_param_ok),LowerCase(ff_param))>0 then


нельзя использовать строчки "0" в начале.

Пишите "1" и будет вам счастье.


 
novill ©   (2006-10-25 12:51) [91]

> Пишите "1" и будет вам счастье.

Подумал... Нет не будет счастья - тогда вы не сможете передать ни одного параметра...


 
user51   (2006-10-25 12:58) [92]

Я так и не понял почему нельзя ипользовать 0 в начале

0 "c:\Program Files\ACDSee32\ACDSee32.exe"
можно конечно в папке прогой сделать папку
"c:\Program Files\ACDSee32\ACDSee32.exe123\"
и в нее поместить любые проги и они будут запускаться,
но это тот кто всё на компе настраивает должен головой подумать и сделать
все для чтения, чтоб нельзя ничего было менять ни папки ни файлы


 
novill ©   (2006-10-25 13:10) [93]

Нельзя использовать потому, что такая конструкция ищет ЛЮБОЕ ВХОЖДЕНИЕ разрешенной подстроки и разрешает всю команду.

Запрещенный_путь\запрещенный_файл.exe "c:\Program Files\ACDSee32\ACDSee32.exe"

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


 
user51   (2006-10-25 13:20) [94]

Теперь понял, кривость налицо.
надо шел изменить чтоб проверка была на на то что искомая последовательность находится обязательно в начале строчки.

novill БОЛЬШОЕ СПАСИБО.


 
novill ©   (2006-10-25 13:23) [95]

Ну, слава богу :)
пожалуйста.


 
novill ©   (2006-10-25 13:30) [96]

хочешь еше одну "дырку" покажу? )))

Есть такой волшебный значек "&", в командной строке очень интерсно используется ;-)

ЗЫ хотя если кто-то из изеров найдет эту "дырку" - я бы на вашему месте поздравил его и выдал намного инета нахаляву, только потом закрыл.


 
user51   (2006-10-25 13:31) [97]

Возможно надо исправитьшел таким образом
Это
if pos (LowerCase(ff_param_ok),LowerCase(ff_param))>0 then
заменить на
if pos (LowerCase(ff_param_ok),LowerCase(ff_param))=1 then

До такого способа
Запрещенный_путь\запрещенный_файл.exe "c:\Program Files\ACDSee32\ACDSee32.exe"
за два года у меня никто не додумался судя по логам. Так что к нам приходят дествительно не супер хакеры


 
novill ©   (2006-10-25 13:38) [98]

Как, говоришь, называется ваша сеть клубов?


 
user51   (2006-10-25 13:50) [99]

никак не называется. от телекома. гос учереждение в маленьком городе.


 
novill ©   (2006-10-25 13:53) [100]

Хоть область скажи :)

ты "&" учел?


 
user51   (2006-10-25 14:12) [101]

Оператор перенаправления «&» дублирует выходные или входные данные с одного заданного дескриптора на другой заданный дескриптор. Например, для отправки выводных данных команды dir в файл File.txt и отправки ошибки вывода в файл File.txt введите:

dir>c:\file.txt 2>&1

если вводить пуск выполнить cmd.exe /c dir>c:\file.txt 2>&1

получаем
25.10.2006 13:03:14 "D:\WINDOWS\system32\cmd.exe /c dir>c:\file.txt 2>&1"

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


 
novill ©   (2006-10-25 14:22) [102]

"&" позволяет запускать две и более программы водной строке

"c:\Program Files\ACDSee32\ACDSee32.exe" & "Запрещенный_путь\запрещенный_файл.exe"

Проверка "if pos (LowerCase(ff_param_ok),LowerCase(ff_param))=1 then"
будет пройдена и Запущены обе программы.


 
user51   (2006-10-25 14:33) [103]

Да прикольно
такой бы лог привлек бы мое внимание. пока таких умных у меня не было.
Пропатчить тоже легко запретить запуск программ и меющих в составе &
и все папки и файлы на компе назвать без &.
Или подумать головой и сделать более продвинутый анализ
типа если & внутри кавычек то можно
"c:\Program Files\r&k\"

если между то нет
"c:\Program Files\ACDSee32\ACDSee32.exe" & "Запрещенный_путь\запрещенный_файл.exe"


 
novill ©   (2006-10-25 15:03) [104]

Методов на самом деле еще больше, но, действительно, известны они единицам, и это не может не радовать.

Вот тебе еще один вариант обхода, правда не везде может срабатывать.

for /F %i in ("Запрещенный_путь\запрещенный_файл.exe") do echo 1;

Удачи.

Не парься, будь счастлив.


 
novill ©   (2006-10-25 15:20) [105]

Кстати, последний вариант как раз не оставляет следов. ВООБЩЕ. Как ты и просил :)))


 
user51   (2006-10-25 15:28) [106]

>Не парься, будь счастлив.
я не парюсь
правда не понял как применить (где это дело вводить)
for /F %i in ("Запрещенный_путь\запрещенный_файл.exe") do echo 1;

если пуск выполнить
cmd.exe /c for /F %i in ("Запрещенный_путь\запрещенный_файл.exe") do echo 1;
то отловит


 
cerber   (2006-10-25 23:25) [107]

набери в пуске gpedit.msc и в разделе "конф пользов\админ шаблоны\не запускать указ. приложения" добавить все то что не нравиться.


 
user51   (2006-10-26 09:15) [108]

раньше приблизительно я так и делал, но не знаешь наверняка кто что притащит поэтому задача запертить все что не разрешено


 
wp2 ©   (2006-10-31 23:48) [109]

Необходимо запретить запуск списка приложений пользователем. как это можно реализовать?

Как раз я этой проблемой сейчас занимаюсь...

Сказали, чтобы на завтра было!!! Я в шоке!

NtCreateProcessEx удалось впоймать, а вот что дальше....


 
wp2 ©   (2006-10-31 23:51) [110]

Ставь хук на CreateProccess
В NT-операционках эта функция не вызывается... :-(

Только CreateProcessExA
CreateProcessExW

либо же универсальная NtCreateProcessEx


 
Ketmar ©   (2006-10-31 23:52) [111]

>[109] wp2(c) 31-Oct-2006, 23:48
>NtCreateProcessEx удалось впоймать, а вот что дальше....
вотпусти то, что "впоймал".


 
Ketmar ©   (2006-10-31 23:54) [112]

>[110] wp2(c) 31-Oct-2006, 23:51
>Ставь хук на CreateProccess
>В NT-операционках эта функция не вызывается... :-(
>Только CreateProcessExA
>CreateProcessExW
вот тут я весь плакал. просто слезами размером с надувные s.

хинт: ещё есть такая штука, как trustnoexe. уже давно написана. бесплатна. с драйвером. удобна. ищем в гугле.


 
wp2 ©   (2006-10-31 23:55) [113]

Я имею ввиду, кто же вызвал эту функцию NewNtCreateProcessEx


 
Ketmar ©   (2006-10-31 23:59) [114]

а зачем? чем trustnoexe не устроил?


 
wp2 ©   (2006-11-01 00:19) [115]

>вот тут я весь плакал. просто слезами размером с надувные s.

А что тут смешного? Скажи. Я тоже хочу посмеяться...

ещё есть такая штука, как trustnoexe.
Да в Интернете много чего есть.... Надо ж самому учицца пЕсат!


 
wp2 ©   (2006-11-01 00:26) [116]

>ещё есть такая штука, как trustnoexe.

Мне деньга должны заплатить за программу.
Теперь ясно, почему я должен ее написать?


 
Ketmar ©   (2006-11-01 01:08) [117]

>[116] wp2(c) 1-Nov-2006, 00:26
>Мне деньга должны заплатить за программу.
а-а-а... сколько платишь за консультации?


 
wp2 ©   (2006-11-01 01:25) [118]

А разве тут не бесплатно? :shock:

могу дать 100 виртуальных буказоидов :-)


 
Ketmar ©   (2006-11-01 01:49) [119]

всё, что было бесплатно -- сказали. trustnoexe. остальное -- за деньги. за вирутальные могу открыть телепатический канал. сможешь считать -- повезло.


 
wp2 ©   (2006-11-01 01:53) [120]

Какие вы все корыстные...


 
Ketmar ©   (2006-11-01 01:57) [121]

>[120] wp2(c) 1-Nov-2006, 01:53
>Какие вы все корыстные...
а ты -- бескорыстен, и выложишь софтину как open source, ага?


 
wp2 ©   (2006-11-01 02:20) [122]

Свободно!

Да и за прогу я скорее всего получу несколько долларов (максимум)...


 
Ketmar ©   (2006-11-01 02:32) [123]

оферта?


 
wp2 ©   (2006-11-01 02:47) [124]

Чего?


 
Ketmar ©   (2006-11-01 02:52) [125]

>[124] wp2(c) 1-Nov-2006, 02:47
>Чего?
публичный договор на выкладывание программы как open source.


 
wp2 ©   (2006-11-01 03:06) [126]

Ты так говоришь как будто в интернете нет никаких исходников...


 
Ketmar ©   (2006-11-01 03:22) [127]

есть. но мы не о том. а о [121] и [122].


 
wp2 ©   (2006-11-01 03:48) [128]

Интересно, можно ли эту программу за 3 часа написать?
Точнее за 3 часа 12 минут...

уже 11 минут... :)


 
Ketmar ©   (2006-11-01 04:16) [129]

можно. но придётся очень напрячься. и лучше иметь готовые наработки.


 
Ketmar ©   (2006-11-01 04:17) [130]

хм. на самом деле я бы тебе даже подарил нечто похожее. но не могу -- их успели купить до тебя. %-)


 
wp2 ©   (2006-11-01 04:53) [131]

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

Эх... не спитцца мне :twisted:


 
Ketmar ©   (2006-11-01 05:17) [132]

>[131] wp2(c) 1-Nov-2006, 04:53
>Вот только опять возник вопрос, как по имени процесса
>узнать его путь
никак. а вот по process handle/process id -- можно.
OpenProcess() -- превращаем id в handle (если надо).
GetModuleFileNameEx() -- получаем заветное.


 
wp2 ©   (2006-11-01 05:45) [133]

А как превратить id в handle?


 
wp2 ©   (2006-11-01 06:01) [134]

Ну что ж скачал я ту программу...

Понял, что денег мне не заработать... слишком мало времени мне дали...

Спасибо всем за внимание.

Вот только как той программой пользоваться? Что-то я не понял...


 
wp2 ©   (2006-11-01 06:12) [135]

Перезагрузил комп.

Мля, еле программы запустил...

Я так понял можно разрешать только для определенных папок?
А для программ нельзя?


 
Орион ©   (2006-11-01 08:32) [136]

> [116] wp2 ©   (01.11.06 00:26)

Брось эту затею. За тебя писать не будут, ты вряд ли напишешь: только время потратишь.


 
user51   (2006-11-02 13:34) [137]

Можно и для папок и для файлов. Там просто сравнение того что пытаемся запустить с тем что разрешено запускать. Выложено полностью готовое решение. Надо только список разрешенных программ подкоректировать под свои нужды.

код шела надо подправить

это
if pos (LowerCase(ff_param_ok),LowerCase(ff_param))>0 then
заменить на
if pos (LowerCase(ff_param_ok),LowerCase(ff_param))=1 then



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

Форум: "WinAPI";
Текущий архив: 2007.03.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.86 MB
Время: 0.04 c
1-1168968633
Garacio
2007-01-16 20:30
2007.03.11
найти пустые ячейки в третьем столбце ListView по всем строкам


9-1145123054
Kaviss
2006-04-15 21:44
2007.03.11
Delphi ODE


15-1171513663
Александр Иванов
2007-02-15 07:27
2007.03.11
Ваше отношение к паттернам


2-1171737455
НОВИЧЕК2007
2007-02-17 21:37
2007.03.11
DBGrid


15-1171214336
Веталь
2007-02-11 20:18
2007.03.11
А драйвера полностью грузятся в память?





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