Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Запрет запуска приложений. Как реализовать? [Win2k, WinXP]


Страницы:   1 2 3 4 5 6 7

AlexT1000 ©   (2006-10-10 12:56:00) 

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


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

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

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


Ketmar   (2006-10-23 18:07:00) [102]

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


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

> [34] user51   (23.10.06 17:31)

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

Вуаля :)

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


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

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


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

> [32] user51   (23.10.06 16:46)

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


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

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


Ketmar   (2006-10-23 16:33:00) [107]

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


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

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

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


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

> [28] serg_iv   (11.10.06 08:58)

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


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

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


Ketmar   (2006-10-10 20:55:00) [111]

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


Орион   (2006-10-10 20:41:00) [112]

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

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


Орион   (2006-10-10 20:39:00) [113]

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


Орион   (2006-10-10 20:37:00) [114]

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

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


Ketmar   (2006-10-10 19:37:00) [115]

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


AlexT1000   (2006-10-10 19:25:00) [116]

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


Ketmar   (2006-10-10 19:16:00) [117]

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


AlexT1000   (2006-10-10 18:51:00) [118]

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


Ketmar   (2006-10-10 18:43:00) [119]

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


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

Сергей М. ->  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;
но система чето валится все время


Страницы:   1 2 3 4 5 6 7

Наверх

Титульная страница Поиск, карта сайта Написать письмо