📄 jwasddl.pas
字号:
{$EXTERNALSYM ConvertStringSecurityDescriptorToSecurityDescriptorA}
function ConvertStringSecurityDescriptorToSecurityDescriptorW(StringSecurityDescriptor: LPCWSTR;
StringSDRevision: DWORD; var SecurityDescriptor: PSECURITY_DESCRIPTOR;
SecurityDescriptorSize: PULONG): BOOL; stdcall;
{$EXTERNALSYM ConvertStringSecurityDescriptorToSecurityDescriptorW}
{$IFDEF UNICODE}
function ConvertStringSecurityDescriptorToSecurityDescriptor(StringSecurityDescriptor: LPCWSTR;
StringSDRevision: DWORD; var SecurityDescriptor: PSECURITY_DESCRIPTOR;
SecurityDescriptorSize: PULONG): BOOL; stdcall;
{$EXTERNALSYM ConvertStringSecurityDescriptorToSecurityDescriptor}
{$ELSE}
function ConvertStringSecurityDescriptorToSecurityDescriptor(StringSecurityDescriptor: LPCSTR;
StringSDRevision: DWORD; var SecurityDescriptor: PSECURITY_DESCRIPTOR;
SecurityDescriptorSize: PULONG): BOOL; stdcall;
{$EXTERNALSYM ConvertStringSecurityDescriptorToSecurityDescriptor}
{$ENDIF}
function ConvertSecurityDescriptorToStringSecurityDescriptorA(
SecurityDescriptor: PSECURITY_DESCRIPTOR; RequestedStringSDRevision: DWORD;
SecurityInformation: SECURITY_INFORMATION; var StringSecurityDescriptor: LPSTR;
StringSecurityDescriptorLen: PULONG): BOOL; stdcall;
{$EXTERNALSYM ConvertSecurityDescriptorToStringSecurityDescriptorA}
function ConvertSecurityDescriptorToStringSecurityDescriptorW(
SecurityDescriptor: PSECURITY_DESCRIPTOR; RequestedStringSDRevision: DWORD;
SecurityInformation: SECURITY_INFORMATION; var StringSecurityDescriptor: LPWSTR;
StringSecurityDescriptorLen: PULONG): BOOL; stdcall;
{$EXTERNALSYM ConvertSecurityDescriptorToStringSecurityDescriptorW}
{$IFDEF UNICODE}
function ConvertSecurityDescriptorToStringSecurityDescriptor(
SecurityDescriptor: PSECURITY_DESCRIPTOR; RequestedStringSDRevision: DWORD;
SecurityInformation: SECURITY_INFORMATION; var StringSecurityDescriptor: LPWSTR;
StringSecurityDescriptorLen: PULONG): BOOL; stdcall;
{$EXTERNALSYM ConvertSecurityDescriptorToStringSecurityDescriptor}
{$ELSE}
function ConvertSecurityDescriptorToStringSecurityDescriptor(
SecurityDescriptor: PSECURITY_DESCRIPTOR; RequestedStringSDRevision: DWORD;
SecurityInformation: SECURITY_INFORMATION; var StringSecurityDescriptor: LPSTR;
StringSecurityDescriptorLen: PULONG): BOOL; stdcall;
{$EXTERNALSYM ConvertSecurityDescriptorToStringSecurityDescriptor}
{$ENDIF}
implementation
const
advapi32 = 'advapi32.dll';
{$IFDEF DYNAMIC_LINK}
var
_ConvertSidToStringSidA: Pointer;
function ConvertSidToStringSidA;
begin
GetProcedureAddress(_ConvertSidToStringSidA, advapi32, 'ConvertSidToStringSidA');
asm
mov esp, ebp
pop ebp
jmp [_ConvertSidToStringSidA]
end;
end;
{$ELSE}
function ConvertSidToStringSidA; external advapi32 name 'ConvertSidToStringSidA';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_ConvertSidToStringSidW: Pointer;
function ConvertSidToStringSidW;
begin
GetProcedureAddress(_ConvertSidToStringSidW, advapi32, 'ConvertSidToStringSidW');
asm
mov esp, ebp
pop ebp
jmp [_ConvertSidToStringSidW]
end;
end;
{$ELSE}
function ConvertSidToStringSidW; external advapi32 name 'ConvertSidToStringSidW';
{$ENDIF DYNAMIC_LINK}
{$IFDEF UNICODE}
{$IFDEF DYNAMIC_LINK}
var
_ConvertSidToStringSid: Pointer;
function ConvertSidToStringSid;
begin
GetProcedureAddress(_ConvertSidToStringSid, advapi32, 'ConvertSidToStringSidW');
asm
mov esp, ebp
pop ebp
jmp [_ConvertSidToStringSid]
end;
end;
{$ELSE}
function ConvertSidToStringSid; external advapi32 name 'ConvertSidToStringSidW';
{$ENDIF DYNAMIC_LINK}
{$ELSE}
{$IFDEF DYNAMIC_LINK}
var
_ConvertSidToStringSid: Pointer;
function ConvertSidToStringSid;
begin
GetProcedureAddress(_ConvertSidToStringSid, advapi32, 'ConvertSidToStringSidA');
asm
mov esp, ebp
pop ebp
jmp [_ConvertSidToStringSid]
end;
end;
{$ELSE}
function ConvertSidToStringSid; external advapi32 name 'ConvertSidToStringSidA';
{$ENDIF DYNAMIC_LINK}
{$ENDIF}
{$IFDEF DYNAMIC_LINK}
var
_ConvertStringSidToSidA: Pointer;
function ConvertStringSidToSidA;
begin
GetProcedureAddress(_ConvertStringSidToSidA, advapi32, 'ConvertStringSidToSidA');
asm
mov esp, ebp
pop ebp
jmp [_ConvertStringSidToSidA]
end;
end;
{$ELSE}
function ConvertStringSidToSidA; external advapi32 name 'ConvertStringSidToSidA';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_ConvertStringSidToSidW: Pointer;
function ConvertStringSidToSidW;
begin
GetProcedureAddress(_ConvertStringSidToSidW, advapi32, 'ConvertStringSidToSidW');
asm
mov esp, ebp
pop ebp
jmp [_ConvertStringSidToSidW]
end;
end;
{$ELSE}
function ConvertStringSidToSidW; external advapi32 name 'ConvertStringSidToSidW';
{$ENDIF DYNAMIC_LINK}
{$IFDEF UNICODE}
{$IFDEF DYNAMIC_LINK}
var
_ConvertStringSidToSid: Pointer;
function ConvertStringSidToSid;
begin
GetProcedureAddress(_ConvertStringSidToSid, advapi32, 'ConvertStringSidToSidW');
asm
mov esp, ebp
pop ebp
jmp [_ConvertStringSidToSid]
end;
end;
{$ELSE}
function ConvertStringSidToSid; external advapi32 name 'ConvertStringSidToSidW';
{$ENDIF DYNAMIC_LINK}
{$ELSE}
{$IFDEF DYNAMIC_LINK}
var
_ConvertStringSidToSid: Pointer;
function ConvertStringSidToSid;
begin
GetProcedureAddress(_ConvertStringSidToSid, advapi32, 'ConvertStringSidToSidA');
asm
mov esp, ebp
pop ebp
jmp [_ConvertStringSidToSid]
end;
end;
{$ELSE}
function ConvertStringSidToSid; external advapi32 name 'ConvertStringSidToSidA';
{$ENDIF DYNAMIC_LINK}
{$ENDIF}
{$IFDEF DYNAMIC_LINK}
var
_ConvStrSecDescrToSecDescrA: Pointer;
function ConvertStringSecurityDescriptorToSecurityDescriptorA;
begin
GetProcedureAddress(_ConvStrSecDescrToSecDescrA, advapi32, 'ConvertStringSecurityDescriptorToSecurityDescriptorA');
asm
mov esp, ebp
pop ebp
jmp [_ConvStrSecDescrToSecDescrA]
end;
end;
{$ELSE}
function ConvertStringSecurityDescriptorToSecurityDescriptorA; external advapi32 name 'ConvertStringSecurityDescriptorToSecurityDescriptorA';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_ConvStrSecDescrToSecDescrW: Pointer;
function ConvertStringSecurityDescriptorToSecurityDescriptorW;
begin
GetProcedureAddress(_ConvStrSecDescrToSecDescrW, advapi32, 'ConvertStringSecurityDescriptorToSecurityDescriptorW');
asm
mov esp, ebp
pop ebp
jmp [_ConvStrSecDescrToSecDescrW]
end;
end;
{$ELSE}
function ConvertStringSecurityDescriptorToSecurityDescriptorW; external advapi32 name 'ConvertStringSecurityDescriptorToSecurityDescriptorW';
{$ENDIF DYNAMIC_LINK}
{$IFDEF UNICODE}
{$IFDEF DYNAMIC_LINK}
var
_ConvStrSecDescrToSecDescr: Pointer;
function ConvertStringSecurityDescriptorToSecurityDescriptor;
begin
GetProcedureAddress(_ConvStrSecDescrToSecDescr, advapi32, 'ConvertStringSecurityDescriptorToSecurityDescriptorW');
asm
mov esp, ebp
pop ebp
jmp [_ConvStrSecDescrToSecDescr]
end;
end;
{$ELSE}
function ConvertStringSecurityDescriptorToSecurityDescriptor; external advapi32 name 'ConvertStringSecurityDescriptorToSecurityDescriptorW';
{$ENDIF DYNAMIC_LINK}
{$ELSE}
{$IFDEF DYNAMIC_LINK}
var
_ConvStrSecDescrToSecDescr: Pointer;
function ConvertStringSecurityDescriptorToSecurityDescriptor;
begin
GetProcedureAddress(_ConvStrSecDescrToSecDescr, advapi32, 'ConvertStringSecurityDescriptorToSecurityDescriptorA');
asm
mov esp, ebp
pop ebp
jmp [_ConvStrSecDescrToSecDescr]
end;
end;
{$ELSE}
function ConvertStringSecurityDescriptorToSecurityDescriptor; external advapi32 name 'ConvertStringSecurityDescriptorToSecurityDescriptorA';
{$ENDIF DYNAMIC_LINK}
{$ENDIF}
{$IFDEF DYNAMIC_LINK}
var
_ConvSecDescrToStrSecDescrA: Pointer;
function ConvertSecurityDescriptorToStringSecurityDescriptorA;
begin
GetProcedureAddress(_ConvSecDescrToStrSecDescrA, advapi32, 'ConvertSecurityDescriptorToStringSecurityDescriptorA');
asm
mov esp, ebp
pop ebp
jmp [_ConvSecDescrToStrSecDescrA]
end;
end;
{$ELSE}
function ConvertSecurityDescriptorToStringSecurityDescriptorA; external advapi32 name 'ConvertSecurityDescriptorToStringSecurityDescriptorA';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_ConvSecDescrToStrSecDescrW: Pointer;
function ConvertSecurityDescriptorToStringSecurityDescriptorW;
begin
GetProcedureAddress(_ConvSecDescrToStrSecDescrW, advapi32, 'ConvertSecurityDescriptorToStringSecurityDescriptorW');
asm
mov esp, ebp
pop ebp
jmp [_ConvSecDescrToStrSecDescrW]
end;
end;
{$ELSE}
function ConvertSecurityDescriptorToStringSecurityDescriptorW; external advapi32 name 'ConvertSecurityDescriptorToStringSecurityDescriptorW';
{$ENDIF DYNAMIC_LINK}
{$IFDEF UNICODE}
{$IFDEF DYNAMIC_LINK}
var
_ConvSecDescrToStrSecDescr: Pointer;
function ConvertSecurityDescriptorToStringSecurityDescriptor;
begin
GetProcedureAddress(_ConvSecDescrToStrSecDescr, advapi32, 'ConvertSecurityDescriptorToStringSecurityDescriptorW');
asm
mov esp, ebp
pop ebp
jmp [_ConvSecDescrToStrSecDescr]
end;
end;
{$ELSE}
function ConvertSecurityDescriptorToStringSecurityDescriptor; external advapi32 name 'ConvertSecurityDescriptorToStringSecurityDescriptorW';
{$ENDIF DYNAMIC_LINK}
{$ELSE}
{$IFDEF DYNAMIC_LINK}
var
_ConvSecDescrToStrSecDescr: Pointer;
function ConvertSecurityDescriptorToStringSecurityDescriptor;
begin
GetProcedureAddress(_ConvSecDescrToStrSecDescr, advapi32, 'ConvertSecurityDescriptorToStringSecurityDescriptorA');
asm
mov esp, ebp
pop ebp
jmp [_ConvSecDescrToStrSecDescr]
end;
end;
{$ELSE}
function ConvertSecurityDescriptorToStringSecurityDescriptor; external advapi32 name 'ConvertSecurityDescriptorToStringSecurityDescriptorA';
{$ENDIF DYNAMIC_LINK}
{$ENDIF}
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -