Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.18;
Скачать: CL | DM;

Вниз

Изминение Security Attributes файла   Найти похожие ветки 

 
Sniffer ©   (2003-09-06 12:39) [0]

Проблема такая см(*)
procedure SetSecurity(FileName : String);
var
Sid : PSID;
ACL : TACL;
B, C : Cardinal;
sa: TSecurityAttributes;
sd: TSecurityDescriptor;
cbAcl : Cardinal;
begin
sa.nLength := sizeof(sa);
sa.bInheritHandle := false;
sa.lpSecurityDescriptor := @sd;
B := GetSidLengthRequired(4);
C := 128;
GetMem(Sid, B);
LookupAccountName(nil, "Adm", Sid, B, nil, C, B);
InitializeSecurityDescriptor(sa.lpSecurityDescriptor,SECURITY_DESCRIPTOR_REVISION);
cbAcl := sizeof(ACL) + SizeOf(ACCESS_MASK) + 8
+ GetLengthSid(Sid) - sizeof(DWORD) ;

InitializeAcl(ACL,cbACL,2);

AddAccessAllowedAce(ACL,2,$0000FFFE,SID);

ShowMessage(SysErrorMessage(GetLastError));


(*) Почему здесь получаю сообщение :
"Код защиты данных имеет неверную структуру?"
SetSecurityDescriptorDacl(sa.lpSecurityDescriptor,TRUE,@ACL,FALSE);
SetFileSecurity(PChar(FileName), DACL_SECURITY_INFORMATION,sa.lpSecurityDescriptor);
FreeMem(Sid, B);

end;


 
Song ©   (2003-09-06 12:50) [1]

XP ?


 
Sniffer ©   (2003-09-06 12:51) [2]

Да XP


 
Song ©   (2003-09-06 12:54) [3]

В XP перевод процесса в системный таким образом не работает.
Только w2k


 
Sniffer ©   (2003-09-06 12:57) [4]

А как же тогда в XP?


 
Song ©   (2003-09-06 12:59) [5]

Не могу сказать, не знаю.


 
Sniffer ©   (2003-09-06 13:00) [6]

У меня одна непонятка, я ж не перевожу процесс в системный а изменяю атрибуты файла. Может, Song, ты что-то не так понял?


 
Song ©   (2003-09-06 13:02) [7]

Ты изменяешь аттрибуты защиты файла. Я по исходнику вижу, что ты хотел сделать.


 
Sniffer ©   (2003-09-06 13:03) [8]

Вот я и говорю, что изменяю атрибуты файла. А процесс причём?


 
Song ©   (2003-09-06 13:09) [9]

Эти аттрибуты в т.ч. используются при запуске его процесса.


 
Sniffer ©   (2003-09-06 13:12) [10]

Процесса, который запустится при запуске файла?


 
Song ©   (2003-09-06 13:12) [11]

Да.


 
Sniffer ©   (2003-09-06 13:17) [12]

Но винда же может может поменять атрибуты твким образом, чтобы никакая другая файл например не удалила. И ничего справляется, она ж тоже как бы переводит процесс в системный.


 
Song ©   (2003-09-06 13:34) [13]

Ну я не спорю, я не Билл Гейтс, и если я не могу ответить, это не значит что винда не может этого уметь.


 
Sniffer ©   (2003-09-06 13:47) [14]

Да ещё, после выделения памяти под SID, возникает ошибка: "область данных переданная системному вызову слишком мала", почему?


 
Sniffer ©   (2003-09-06 14:30) [15]

Помогите плиз



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

Текущий архив: 2003.09.18;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.016 c
1-58626
Meg100
2003-09-05 14:35
2003.09.18
Word & Delphi


1-58773
star.ru
2003-09-05 13:49
2003.09.18
kodirovka i dekodirovka


4-58963
Шишкин Илья
2003-07-17 14:27
2003.09.18
Как изменить громкость звука?


1-58746
SergeY_X
2003-09-07 01:48
2003.09.18
CAB - SFX


7-58958
CKOTu
2003-07-07 10:16
2003.09.18
Как прочитать значение REG_MULTI_SZ?