Главная страница
    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.



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

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

Наверх





Память: 0.54 MB
Время: 0.038 c
15-1171275632
Layner
2007-02-12 13:20
2007.03.11
Кто знает, какие на mail.ru ограничения по отправке писем в день?


15-1171576578
Goric
2007-02-16 00:56
2007.03.11
Shell в Windows


15-1171473167
GeLLeR
2007-02-14 20:12
2007.03.11
dll и компонент к ней...


5-1148542504
DimaBr
2006-05-25 11:35
2007.03.11
Сериализация дочернего


4-1161793884
XProger
2006-10-25 20:31
2007.03.11
Force FeedBack





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