![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запрет запуска приложений. Как реализовать? [Win2k, WinXP]
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;
но система чето валится все время