![]() |
DebugPrivilege wieder loswerden
Hi,
Ist es möglich die DebugPrivilege, die ich mit
Delphi-Quellcode:
bekomme, loszuwerden?
function GetDebugPrivilege: boolean; stdcall;
var hToken,rel: cardinal; tkp: TOKEN_PRIVILEGES; luid: int64; begin result := false; if OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, hToken) then begin if LookupPrivilegeValue(nil, 'SeDebugPrivilege', luid) then begin tkp.PrivilegeCount := 1; tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED; tkp.Privileges[0].Luid := luid; result := AdjustTokenPrivileges(hToken, FALSE, tkp, sizeof(tkp), nil, rel); end; CloseHandle(hToken); end; end; Mfg ReDoX |
Re: DebugPrivilege wieder loswerden
Hallo!
Du brauchst nur
Delphi-Quellcode:
durch das
tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
Delphi-Quellcode:
zu ersetzen.
tkp.Privileges[0].Attributes := 0;
|
Re: DebugPrivilege wieder loswerden
Delphi-Quellcode:
Für beliebige Privilegien.
function EnablePrivilege(const Privilege: string; fEnable: Boolean; out
PreviousState: Boolean): DWORD; var Token : THandle; NewState : TTokenPrivileges; Luid : TLargeInteger; PrevState : TTokenPrivileges; Return : DWORD; begin PreviousState := True; if (GetVersion() > $80000000) then // Win9x Result := ERROR_SUCCESS else begin // WinNT if not OpenProcessToken(GetCurrentProcess(), MAXIMUM_ALLOWED, Token) then Result := GetLastError() else try if not LookupPrivilegeValue(nil, PChar(Privilege), Luid) then Result := GetLastError() else begin NewState.PrivilegeCount := 1; NewState.Privileges[0].Luid := Luid; if fEnable then NewState.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED else NewState.Privileges[0].Attributes := 0; if not AdjustTokenPrivileges(Token, False, NewState, SizeOf(TTokenPrivileges), PrevState, Return) then Result := GetLastError() else begin Result := ERROR_SUCCESS; PreviousState := (PrevState.Privileges[0].Attributes and SE_PRIVILEGE_ENABLED <> 0); end; end; finally CloseHandle(Token); end; end; end; |
Re: DebugPrivilege wieder loswerden
Hi,
danke manchmal sieht man den Wald vor lauter Bäumen nicht :wall:. Mfg ReDoX |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz