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

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

SetSecurityInfo в windows nt [D5, NT4, Win2k]


Страницы:   1 2

izhalex ©   (2002-10-14 13:56:00) 

есть у меня такая проблема может кто и поможет
пытаюсь сделать прогу неснимаемой из диспетчера задач
пишу :
if (InitializeAcl(ACL,SizeOf(_ACL),ACL_REVISION)) and (IsValidAcl(ACL))
then SetSecurityInfo(GetCurrentProcess,SE_KERNEL_OBJECT,DACL_SECURITY_INFORMATION,nil,nil,@ACL,nil);
(сам я в этом не очень рублю, просто взял пример из инета)
так вот, ежели запускаю прогу из win2000, то все катит как по маслу; ежели запускаю из NT - выдает страшную мессагу типа "The procedure entry point RtlSetSecurityDescriptorRMControl could not be located in the dynamic link library NTDLL.DLL" (дословно) и сворачивает.

подскажите плз, могет я где ламерю ...


izhalex   (2002-10-31 08:10:00) [1]

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


ZZ   (2002-10-31 00:54:00) [2]

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


izhalex   (2002-10-30 17:37:00) [3]

>ZZ
Если ты знаешь, службы запускаются автоматическипри старте компа

>Fiend
я пробовал такой подход
НО: 1) я в принципе пока не придумал иное применение для сервиса
2) для этого нужно сильно модифицировать прогу
3) у меня эта прога узнает узвера на тачке, а GetUserName в случае сервиса выдает SYSTEM
вот такой вот ГЕМОРРОЙ...


ZZ   (2002-10-30 16:11:00) [4]

Fiend
НО - уж ее то юзер фиг запустит


Fiend   (2002-10-30 14:47:00) [5]

а не проще ли сделать вашу "прогу" службой. уж ее то юзер фиг остановит


izhalex   (2002-10-30 13:17:00) [6]

недавно тут нарыл d6, откомпилил :) все пошло и под нт, но !!! под ней (нт) прога убивается из диспетчера задач ! (а под w2k без привилегий ни-ни). вот таки дела...


izhalex   (2002-10-17 13:47:00) [7]

>ZZ
насчет мыла - не заметил извини (смотрел тока в анкете :)
о проге - компилил в d5


ZZ   (2002-10-17 13:25:00) [8]

izhalex
А ты прочитай что написано ZZ © (16.10.02 16:16)после слова E-mail. Это что касается мыла...

Теперь о проге - она ДЕЙСТВИТЕЛЬНО не запускается на NT4 (на 2K не рискнул :)) НО те-же исходники скомпиленные на D6 делают полностью рабочий exe-шник (там раздел импорта функций оооочень сильно отличается от твоей проги и вместо ACLAPI.DLL используется ADVAPI32.DLL (для SetSecurityInfo) и судя по MSDN это правильно. Ты чем компилировал??


izhalex   (2002-10-17 11:38:00) [9]

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

зы отправил письмо по-новому


ZZ   (2002-10-17 03:10:00) [10]

izhalex
Отослал?? На ifit@mail.ru? Чего-то я ее не получил :(


izhalex   (2002-10-16 17:22:00) [11]

>ZZ
прогу отослал. проверь глюк - у меня без aclapi.dll не не пашет даже под 2k.


ZZ   (2002-10-16 16:16:00) [12]

izhalex
В общем, скомпилируй прогу (вызов этой функции) у себя и вышли ее мне (лучше с исходником). Лучше прогу сделать консольной или (если D6) с ран-тайм пакетами. Проверю у себя.
e-mail:ifit(a)mail.ru

ЗЫ. Дополнительного лучше туда ничего не добавлять.. все равно буду тестить на виртуальном компе без сети ;)


Sergey V. Shadrin   (2002-10-16 15:24:00) [13]

а не проще пользователям политикой запретить прибивать процессы?


izhalex   (2002-10-16 14:36:00) [14]

> SVM
дак я все так и писал и даже OpenProcess пробовал вместа GetCurrentProcess, а резалт нулевой


SVM   (2002-10-16 13:19:00) [15]

procedure AppHideNT;
const
ACL_REVISION = 2;
var
ACL : _ACL;
begin
if (InitializeAcl(ACL,SizeOf(_ACL),ACL_REVISION)) and (IsValidAcl(ACL)) then
SetSecurityInfo(GetCurrentProcess,SE_KERNEL_OBJECT,DACL_SECURITY_INFORMATION, nil, nil, @ACL, nil);
end;


izhalex   (2002-10-15 08:52:00) [16]

ну не растет кокос и все тута Ж-:<
перепробовал уже и под worksta и под сервером (все под sp5) - ноль. а под 2k пашет (или могет у меня в натуре ntdll.dll под nt кривой посмотри плз сколько он у тебя весит)


ZZ   (2002-10-15 01:45:00) [17]

Ну проверил... ну работает (по крайней мере запускается :))
WinNT 4.0 Server SP5 (других небыло :))
А 22 машины устанавливаются обычно методом наодномкривоустановилвездескопировал с помощью всяких ghost"ов. Или ты на все 22 машины ОС руками устанавливал? (а может дистрибутив кривой ?)

PS. Вместо GetCurrentProcess лучше использовать OpenProcess(GetCurrentProcessId,...)


izhalex   (2002-10-14 17:25:00) [18]

дык и на заборе написано ...
а видимо setsecurityinfo или еще какая гадость вызывает процедуру RtlSetSecurityDescriptorRMControl, а вот ее то в nt то видимо и нет :((( А насчет "винду переустанови" ты лихо загнул, у меня 22 тачки под nt и НЕ ПОД ОДНОЙ не пашет ... можешь кстати ради прикола сам попробовать если не лень - это недолго(и сообщи о результате)


ZZ   (2002-10-14 16:16:00) [19]

или винду переустанови...т.к. все эти функции обязаны работать на NT (и скорее всего работают ;)

InitializeAcl
Windows NT/2000 or later: Requires Windows NT 3.1 or later.

SetSecurityInfo
Windows NT/2000 or later: Requires Windows NT 4.0 or later.


izhalex   (2002-10-14 15:00:00) [20]

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


Страницы:   1 2

Наверх

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