Текущий архив: 2002.12.12;
Скачать: CL | DM;
Вниз
SetSecurityInfo в windows nt Найти похожие ветки
← →
izhalex © (2002-10-14 13:56) [0]есть у меня такая проблема может кто и поможет
пытаюсь сделать прогу неснимаемой из диспетчера задач
пишу :
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" (дословно) и сворачивает.
подскажите плз, могет я где ламерю ...
← →
Xemax © (2002-10-14 14:17) [1]просто нету процедуры RtlSetSecurityDescriptorRMControl в библиотеки NTDLL.DLL - ищи в инети какой нибудь другой пример. А из какой версии NT ты запускаешь? и что такая за необходимось в НЕУБИВАЙМОЙ ПРОГИ - трояна или виря делаешь?
← →
izhalex © (2002-10-14 15:00) [2]да нет же просто хочу чтобы несознательные юзвери не убивали моего клиента вот и все (сам то я админ)
← →
ZZ © (2002-10-14 16:16) [3]или винду переустанови...т.к. все эти функции обязаны работать на 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 17:25) [4]дык и на заборе написано ...
а видимо setsecurityinfo или еще какая гадость вызывает процедуру RtlSetSecurityDescriptorRMControl, а вот ее то в nt то видимо и нет :((( А насчет "винду переустанови" ты лихо загнул, у меня 22 тачки под nt и НЕ ПОД ОДНОЙ не пашет ... можешь кстати ради прикола сам попробовать если не лень - это недолго(и сообщи о результате)
← →
ZZ © (2002-10-15 01:45) [5]Ну проверил... ну работает (по крайней мере запускается :))
WinNT 4.0 Server SP5 (других небыло :))
А 22 машины устанавливаются обычно методом наодномкривоустановилвездескопировал с помощью всяких ghost"ов. Или ты на все 22 машины ОС руками устанавливал? (а может дистрибутив кривой ?)
PS. Вместо GetCurrentProcess лучше использовать OpenProcess(GetCurrentProcessId,...)
← →
izhalex © (2002-10-15 08:52) [6]ну не растет кокос и все тута Ж-:<
перепробовал уже и под worksta и под сервером (все под sp5) - ноль. а под 2k пашет (или могет у меня в натуре ntdll.dll под nt кривой посмотри плз сколько он у тебя весит)
← →
SVM (2002-10-16 13:19) [7]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-16 14:36) [8]> SVM
дак я все так и писал и даже OpenProcess пробовал вместа GetCurrentProcess, а резалт нулевой
← →
Sergey V. Shadrin (2002-10-16 15:24) [9]а не проще пользователям политикой запретить прибивать процессы?
← →
ZZ © (2002-10-16 16:16) [10]izhalex
В общем, скомпилируй прогу (вызов этой функции) у себя и вышли ее мне (лучше с исходником). Лучше прогу сделать консольной или (если D6) с ран-тайм пакетами. Проверю у себя.
e-mail:ifit(a)mail.ru
ЗЫ. Дополнительного лучше туда ничего не добавлять.. все равно буду тестить на виртуальном компе без сети ;)
← →
izhalex © (2002-10-16 17:22) [11]>ZZ
прогу отослал. проверь глюк - у меня без aclapi.dll не не пашет даже под 2k.
← →
ZZ © (2002-10-17 03:10) [12]izhalex
Отослал?? На ifit@mail.ru? Чего-то я ее не получил :(
← →
izhalex © (2002-10-17 11:38) [13]> ZZ
а ты посмотри что у тебя в анкете нагорожено про емыл. я конечно сильно сомневался но отправил. не телепаты мы, извини ...
зы отправил письмо по-новому
← →
ZZ © (2002-10-17 13:25) [14]izhalex
А ты прочитай что написано ZZ © (16.10.02 16:16) после слова E-mail. Это что касается мыла...
Теперь о проге - она ДЕЙСТВИТЕЛЬНО не запускается на NT4 (на 2K не рискнул :)) НО те-же исходники скомпиленные на D6 делают полностью рабочий exe-шник (там раздел импорта функций оооочень сильно отличается от твоей проги и вместо ACLAPI.DLL используется ADVAPI32.DLL (для SetSecurityInfo) и судя по MSDN это правильно. Ты чем компилировал??
← →
izhalex © (2002-10-17 13:47) [15]>ZZ
насчет мыла - не заметил извини (смотрел тока в анкете :)
о проге - компилил в d5
← →
izhalex © (2002-10-30 13:17) [16]недавно тут нарыл d6, откомпилил :) все пошло и под нт, но !!! под ней (нт) прога убивается из диспетчера задач ! (а под w2k без привилегий ни-ни). вот таки дела...
← →
Fiend © (2002-10-30 14:47) [17]а не проще ли сделать вашу "прогу" службой. уж ее то юзер фиг остановит
← →
ZZ © (2002-10-30 16:11) [18]Fiend
НО - уж ее то юзер фиг запустит
← →
izhalex © (2002-10-30 17:37) [19]>ZZ
Если ты знаешь, службы запускаются автоматически при старте компа
>Fiend
я пробовал такой подход
НО: 1) я в принципе пока не придумал иное применение для сервиса
2) для этого нужно сильно модифицировать прогу
3) у меня эта прога узнает узвера на тачке, а GetUserName в случае сервиса выдает SYSTEM
вот такой вот ГЕМОРРОЙ...
← →
ZZ © (2002-10-31 00:54) [20]Если ты знаешь, службы запускаются автоматически при старте компа
Я - не знаю... И что, прям так все и запускаются?
← →
izhalex © (2002-10-31 08:10) [21]>ZZ
ну конечно, не все... но какой смысл тогда узверу запускать прогу, которая за ним же будет потом и следить ! :)
Страницы: 1 вся ветка
Текущий архив: 2002.12.12;
Скачать: CL | DM;
Память: 0.51 MB
Время: 0.022 c