# -*- coding: binary -*- module Rex module Post module Meterpreter module Extensions module Stdapi module Railgun module Def class Def_advapi32 CREDENTIAL = [ [:Flags, :DWORD], [:Type, :DWORD], [:TargetName, :LPTSTR], [:Comment, :LPTSTR], [:LastWritten, :FILETIME], [:CredentialBlobSize, :DWORD], [:CredentialBlob, :LPBYTE], [:Persist, :DWORD], [:AttributeCount, :LPTSTR], [:Attributes, :PCREDENTIAL_ATTRIBUTE], [:TargetAlias, :LPTSTR], [:UserName, :LPTSTR] ] def self.create_dll(dll_path = 'advapi32') dll = DLL.new(dll_path, ApiConstants.manager) dll.add_function('CredEnumerateA', 'BOOL', [ ['PCHAR', 'Filter', 'in'], ['DWORD', 'Flags', 'in'], ['PDWORD', 'Count', 'out'], ['PBLOB', 'Credentials', 'out']]) #Functions for Windows CryptoAPI dll.add_function( 'CryptAcquireContextW', 'BOOL',[ ['PDWORD', 'phProv', 'out'], ['PWCHAR', 'pszContainer', 'in'], ['PWCHAR', 'pszProvider', 'in'], ['DWORD', 'dwProvType', 'in'], ['DWORD', 'dwflags', 'in']]) dll.add_function( 'CryptAcquireContextA', 'BOOL',[ ['PDWORD', 'phProv', 'out'], ['PWCHAR', 'pszContainer', 'in'], ['PWCHAR', 'pszProvider', 'in'], ['DWORD', 'dwProvType', 'in'], ['DWORD', 'dwflags', 'in']]) dll.add_function( 'CryptContextAddRef', 'BOOL', [ ['LPVOID', 'hProv', 'in'], ['DWORD', 'pdwReserved', 'in'], ['DWORD', 'dwFlags', 'in']]) dll.add_function( 'CryptEnumProvidersW', 'BOOL', [ ['DWORD', 'dwIndex', 'in'], ['DWORD', 'pdwReserved', 'in'], ['DWORD', 'dwFlags', 'in'], ['PDWORD', 'pdwProvType', 'out'], ['PWCHAR', 'pszProvName', 'out'], ['PDWORD', 'pcbProvName', 'inout']]) dll.add_function( 'CryptEnumProvidersA', 'BOOL', [ ['DWORD', 'dwIndex', 'in'], ['DWORD', 'pdwReserved', 'in'], ['DWORD', 'dwFlags', 'in'], ['PDWORD', 'pdwProvType', 'out'], ['PCHAR', 'pszProvName', 'out'], ['PDWORD', 'pcbProvName', 'inout']]) dll.add_function( 'CryptEnumProviderTypesW', 'BOOL', [ ['DWORD', 'dwIndex', 'in'], ['DWORD', 'pdwReserved', 'in'], ['DWORD', 'dwFlags', 'in'], ['PDWORD', 'pdwProvType', 'out'], ['PWCHAR', 'pszTypeName', 'out'], ['PDWORD', 'pcbTypeName', 'inout']]) dll.add_function( 'CryptEnumProviderTypesA', 'BOOL', [ ['DWORD', 'dwIndex', 'in'], ['DWORD', 'pdwReserved', 'in'], ['DWORD', 'dwFlags', 'in'], ['PDWORD', 'pdwProvType', 'out'], ['PCHAR', 'pszTypeName', 'out'], ['PDWORD', 'pcbTypeName', 'inout']]) dll.add_function( 'CryptGetDefaultProviderW ', 'BOOL', [ ['DWORD', 'dwProvType', 'in'], ['DWORD', 'pwdReserved', 'in'], ['DWORD', 'dwFlags', 'in'], ['PWCHAR', 'pszProvName', 'out'], ['PDWORD', 'pcbProvName', 'inout']]) dll.add_function( 'CryptGetDefaultProviderA ', 'BOOL', [ ['DWORD', 'dwProvType', 'in'], ['DWORD', 'pwdReserved', 'in'], ['DWORD', 'dwFlags', 'in'], ['PCHAR', 'pszProvName', 'out'], ['PDWORD', 'pcbProvName', 'inout']]) dll.add_function( 'CryptGetProvParam', 'BOOL', [ ['LPVOID', 'hProv', 'in'], ['DWORD', 'dwParam', 'in'], ['PBLOB', 'pbData', 'out'], ['PDWORD', 'pwdDataLen', 'inout'], ['DWORD', 'dwFlags', 'in']]) dll.add_function( 'CryptSetProviderW', 'BOOL', [ ['PWCHAR', 'pszProvName', 'in'], ['DWORD', 'dwProvType', 'in']]) dll.add_function( 'CryptSetProviderA', 'BOOL', [ ['PCHAR', 'pszProvName', 'in'], ['DWORD', 'dwProvType', 'in']]) dll.add_function( 'CryptSetProviderExW', 'BOOL', [ ['PWCHAR', 'pszProvName', 'in'], ['DWORD', 'dwProvType', 'in'], ['DWORD', 'pdwReserved', 'in'], ['DWORD', 'dwFlags', 'in']]) dll.add_function( 'CryptSetProviderExA', 'BOOL', [ ['PCHAR', 'pszProvName', 'in'], ['DWORD', 'dwProvType', 'in'], ['DWORD', 'pdwReserved', 'in'], ['DWORD', 'dwFlags', 'in']]) dll.add_function( 'CryptSetProvParam', 'BOOL', [ ['LPVOID', 'hProv', 'in'], ['DWORD', 'dwParam', 'in'], ['PBLOB', 'pbData', 'in'], ['DWORD', 'dwFlags','in']]) dll.add_function( 'CryptDuplicateKey', 'BOOL', [ ['LPVOID', 'hKey', 'in'], ['DWORD', 'pdwReserved', 'in'], ['DWORD', 'dwFlags', 'in'], ['PDWORD', 'phKey', 'out']]) dll.add_function( 'CryptExportKey', 'BOOL', [ ['LPVOID', 'hKey', 'in'], ['LPVOID', 'hExpKey', 'in'], ['DWORD', 'dwBlobType', 'in'], ['DWORD', 'dwFlags', 'in'], ['PBLOB', 'pbData', 'out'], ['PDWORD', 'pwdDataLen', 'inout']]) dll.add_function( 'CryptGenKey', 'BOOL', [ ['LPVOID', 'hProv', 'in'], ['DWORD', 'Algid', 'in'], ['DWORD', 'dwFlags', 'in'], ['PDWORD', 'phKey', 'out']]) dll.add_function( 'CryptGenRandom', 'BOOL', [ ['LPVOID', 'hProv', 'in'], ['DWORD', 'dwLen', 'in'], ['PBLOB', 'pbBuffer', 'inout']]) dll.add_function( 'CryptGetKeyParam', 'BOOL', [ ['LPVOID', 'hKey', 'in'], ['DWORD', 'dwParam', 'in'], ['PBLOB', 'pbData', 'out'], ['PDWORD', 'pdwDataLen', 'inout'], ['DWORD', 'dwFlags', 'in']]) dll.add_function( 'CryptGetUserKey', 'BOOL', [ ['LPVOID', 'hProv', 'in'], ['DWORD', 'dwKeySpec', 'in'], ['PDWORD', 'phUserKey', 'out']]) dll.add_function( 'CryptImportKey', 'BOOL', [ ['LPVOID', 'hProv', 'in'], ['PBLOB', 'pbData', 'in'], ['DWORD', 'dwDataLen', 'in'], ['LPVOID', 'hPubKey', 'in'], ['DWORD', 'dwFlags', 'in'], ['PDWORD', 'phKey', 'out']]) dll.add_function( 'CryptSetKeyParam', 'BOOL', [ ['LPVOID', 'hKey', 'in'], ['DWORD', 'dwParam', 'in'], ['PBLOB', 'pbData', 'in'], ['DWORD', 'dwFlags', 'in']]) dll.add_function( 'CryptEncrypt', 'BOOL', [ ['LPVOID', 'hKey', 'in'], ['LPVOID', 'hHash', 'in'], ['BOOL', 'Final', 'in'], ['DWORD', 'dwFlags', 'in'], ['PBLOB', 'pbData', 'inout'], ['PDWORD', 'pdwDataLen', 'inout'], ['DWORD', 'dwBufLen', 'in']]) dll.add_function( 'CryptDuplicateHash', 'BOOL', [ ['LPVOID', 'hHash', 'in'], ['DWORD', 'pdwReserved', 'in'], ['DWORD', 'dwFlags', 'in'], ['PDWORD', 'phHash', 'out']]) dll.add_function( 'CryptGetHashParam', 'BOOL', [ ['LPVOID', 'hHash', 'in'], ['DWORD', 'dwParam', 'in'], ['PBLOB', 'pbData', 'out'], ['PDWORD', 'pdwDataLen', 'inout'], ['DWORD', 'dwFlags', 'in']]) dll.add_function( 'CryptHashSessionKey', 'BOOL', [ ['LPVOID', 'hHash', 'in'], ['LPVOID', 'hKey', 'in'], ['DWORD', 'dwFlags', 'in']]) dll.add_function( 'CryptSetHashParam', 'BOOL', [ ['LPVOID', 'hHash', 'in'], ['DWORD', 'dwParam', 'in'], ['PBLOB', 'pbData', 'in'], ['DWORD', 'dwFlags', 'in']]) dll.add_function( 'CryptSignHashW', 'BOOL', [ ['LPVOID', 'hHash', 'in'], ['DWORD', 'dwKeySpec', 'in'], ['PWCHAR', 'sDescription', 'in'], ['DWORD', 'dwFlags', 'in'], ['PBLOB', 'pbSignature', 'out'], ['PDWORD', 'pdwSigLen', 'inout']]) dll.add_function( 'CryptSignHashA', 'BOOL', [ ['LPVOID', 'hHash', 'in'], ['DWORD', 'dwKeySpec', 'in'], ['PCHAR', 'sDescription', 'in'], ['DWORD', 'dwFlags', 'in'], ['PBLOB', 'pbSignature', 'out'], ['PDWORD', 'pdwSigLen', 'inout']]) dll.add_function( 'CryptVerifySignatureW', 'BOOL', [ ['LPVOID', 'hHash', 'in'], ['PBLOB', 'pbSignature', 'in'], ['DWORD', 'dwSigLen', 'in'], ['LPVOID', 'hPubKey', 'in'], ['PWCHAR', 'sDescription', 'in'], ['DWORD', 'dwFlags', 'in']]) dll.add_function( 'CryptVerifySignatureA', 'BOOL', [ ['LPVOID', 'hHash', 'in'], ['PBLOB', 'pbSignature', 'in'], ['DWORD', 'dwSigLen', 'in'], ['LPVOID', 'hPubKey', 'in'], ['PCHAR', 'sDescription', 'in'], ['DWORD', 'dwFlags', 'in']]) dll.add_function( 'CryptCreateHash', 'BOOL',[ ['LPVOID', 'hProv', 'in'], ['DWORD', 'Algid', 'in'], ['LPVOID', 'hKey', 'in'], ['DWORD', 'dwFlags', 'in'], ['PDWORD', 'phHash', 'out']]) dll.add_function( 'CryptHashData', 'BOOL',[ ['LPVOID', 'hHash', 'in'], ['PWCHAR', 'pbData', 'in'], ['DWORD', 'dwDataLen', 'in'], ['DWORD', 'dwFlags', 'in']]) dll.add_function( 'CryptDeriveKey', 'BOOL',[ ['LPVOID', 'hProv', 'in'], ['DWORD', 'Algid', 'in'], ['LPVOID', 'hBaseData', 'in'], ['DWORD', 'dwFlags', 'in'], ['PDWORD', 'phKey', 'inout']]) dll.add_function( 'CryptDecrypt', 'BOOL',[ ['LPVOID', 'hKey', 'in'], ['LPVOID', 'hHash', 'in'], ['BOOL', 'Final', 'in'], ['DWORD', 'dwFlags', 'in'], ['PBLOB', 'pbData', 'inout'], ['PDWORD', 'pdwDataLen', 'inout']]) dll.add_function( 'CryptDestroyHash', 'BOOL',[ ['LPVOID', 'hHash', 'in']]) dll.add_function( 'CryptDestroyKey', 'BOOL',[ ['LPVOID', 'hKey', 'in']]) dll.add_function( 'CryptReleaseContext', 'BOOL',[ ['LPVOID', 'hProv', 'in'], ['DWORD', 'dwFlags', 'in']]) # Function to open the Service Control Database dll.add_function('OpenSCManagerA','DWORD',[ [ "PCHAR", "lpMachineName", "inout" ], [ "PCHAR", "lpDatabaseName", "inout" ], [ "DWORD", "dwDesiredAccess", "in" ] ]) # Function for creating a Service dll.add_function('CreateServiceA','DWORD',[ [ "DWORD", "hSCManager", "in" ], [ "PCHAR", "lpServiceName", "in" ], [ "PCHAR", "lpDisplayName", "in" ], [ "DWORD", "dwDesiredAccess", "in" ], [ "DWORD", "dwServiceType", "in" ], [ "DWORD", "dwStartType", "in" ], [ "DWORD", "dwErrorControl", "in" ], [ "PCHAR", "lpBinaryPathName", "in" ], [ "PCHAR", "lpLoadOrderGroup", "in" ], [ "PDWORD", "lpdwTagId", "out" ], [ "PCHAR", "lpDependencies", "in" ], [ "PCHAR", "lpServiceStartName", "in" ], [ "PCHAR", "lpPassword", "in" ] ]) dll.add_function('OpenServiceA','DWORD',[ [ "DWORD", "hSCManager", "in" ], [ "PCHAR", "lpServiceName", "in" ], [ "DWORD", "dwDesiredAccess", "in" ] ]) #access rights: SERVICE_CHANGE_CONFIG (0x0002) SERVICE_START (0x0010) #SERVICE_STOP (0x0020) dll.add_function('StartServiceA','BOOL',[ [ "DWORD", "hService", "in" ], [ "DWORD", "dwNumServiceArgs", "in" ], [ "PCHAR", "lpServiceArgVectors", "in" ] ]) dll.add_function('ControlService','BOOL',[ [ "DWORD", "hService", "in" ], [ "DWORD", "dwControl", "in" ], [ "PBLOB", "lpServiceStatus", "out" ] ]) #SERVICE_CONTROL_STOP = 0x00000001 # _SERVICE_STATUS is an array of 7 DWORDS - dwServiceType; #dwCurrentState; dwControlsAccepted; dwWin32ExitCode; #dwServiceSpecificExitCode; dwCheckPoint; dwWaitHint; dll.add_function('ChangeServiceConfigA','BOOL',[ [ "DWORD", "hService", "in" ], [ "DWORD", "dwServiceType", "in" ], [ "DWORD", "dwStartType", "in" ], [ "DWORD", "dwErrorControl", "in" ], [ "PCHAR", "lpBinaryPathName", "in" ], [ "PCHAR", "lpLoadOrderGroup", "in" ], [ "PDWORD", "lpdwTagId", "out" ], [ "PCHAR", "lpDependencies", "in" ], [ "PCHAR", "lpServiceStartName", "in" ], [ "PCHAR", "lpPassword", "in" ], [ "PCHAR", "lpDisplayName", "in" ] ]) dll.add_function('CloseServiceHandle','BOOL',[ [ "DWORD", "hSCObject", "in" ] ]) dll.add_function('DeleteService','BOOL',[ [ "DWORD", "hService", "in" ] ]) dll.add_function('AbortSystemShutdownA', 'BOOL',[ ["PCHAR","lpMachineName","in"], ]) dll.add_function('AbortSystemShutdownW', 'BOOL',[ ["PWCHAR","lpMachineName","in"], ]) dll.add_function('InitiateSystemShutdownA', 'BOOL',[ ["PCHAR","lpMachineName","in"], ["PCHAR","lpMessage","in"], ["DWORD","dwTimeout","in"], ["BOOL","bForceAppsClosed","in"], ["BOOL","bRebootAfterShutdown","in"], ]) dll.add_function('InitiateSystemShutdownExA', 'BOOL',[ ["PCHAR","lpMachineName","in"], ["PCHAR","lpMessage","in"], ["DWORD","dwTimeout","in"], ["BOOL","bForceAppsClosed","in"], ["BOOL","bRebootAfterShutdown","in"], ["DWORD","dwReason","in"], ]) dll.add_function('InitiateSystemShutdownExW', 'BOOL',[ ["PWCHAR","lpMachineName","in"], ["PWCHAR","lpMessage","in"], ["DWORD","dwTimeout","in"], ["BOOL","bForceAppsClosed","in"], ["BOOL","bRebootAfterShutdown","in"], ["DWORD","dwReason","in"], ]) dll.add_function('InitiateSystemShutdownW', 'BOOL',[ ["PWCHAR","lpMachineName","in"], ["PWCHAR","lpMessage","in"], ["DWORD","dwTimeout","in"], ["BOOL","bForceAppsClosed","in"], ["BOOL","bRebootAfterShutdown","in"], ]) dll.add_function('RegCloseKey', 'DWORD',[ ["DWORD","hKey","in"], ]) dll.add_function('RegConnectRegistryA', 'DWORD',[ ["PCHAR","lpMachineName","in"], ["DWORD","hKey","in"], ["PDWORD","phkResult","out"], ]) dll.add_function('RegConnectRegistryExA', 'DWORD',[ ["PCHAR","lpMachineName","in"], ["DWORD","hKey","in"], ["DWORD","Flags","in"], ["PDWORD","phkResult","out"], ]) dll.add_function('RegConnectRegistryExW', 'DWORD',[ ["PWCHAR","lpMachineName","in"], ["DWORD","hKey","in"], ["DWORD","Flags","in"], ["PDWORD","phkResult","out"], ]) dll.add_function('RegConnectRegistryW', 'DWORD',[ ["PWCHAR","lpMachineName","in"], ["DWORD","hKey","in"], ["PDWORD","phkResult","out"], ]) dll.add_function('RegCreateKeyA', 'DWORD',[ ["DWORD","hKey","in"], ["PCHAR","lpSubKey","in"], ["PDWORD","phkResult","out"], ]) dll.add_function('RegCreateKeyExA', 'DWORD',[ ["DWORD","hKey","in"], ["PCHAR","lpSubKey","in"], ["DWORD","Reserved","inout"], ["PCHAR","lpClass","in"], ["DWORD","dwOptions","in"], ["DWORD","samDesired","in"], ["PBLOB","lpSecurityAttributes","in"], ["PDWORD","phkResult","out"], ["PDWORD","lpdwDisposition","out"], ]) dll.add_function('RegCreateKeyExW', 'DWORD',[ ["DWORD","hKey","in"], ["PWCHAR","lpSubKey","in"], ["DWORD","Reserved","inout"], ["PWCHAR","lpClass","in"], ["DWORD","dwOptions","in"], ["DWORD","samDesired","in"], ["PBLOB","lpSecurityAttributes","in"], ["PDWORD","phkResult","out"], ["PDWORD","lpdwDisposition","out"], ]) dll.add_function('RegCreateKeyW', 'DWORD',[ ["DWORD","hKey","in"], ["PWCHAR","lpSubKey","in"], ["PDWORD","phkResult","out"], ]) dll.add_function('RegDeleteKeyA', 'DWORD',[ ["DWORD","hKey","in"], ["PCHAR","lpSubKey","in"], ]) dll.add_function('RegDeleteKeyExA', 'DWORD',[ ["DWORD","hKey","in"], ["PCHAR","lpSubKey","in"], ["DWORD","samDesired","in"], ["DWORD","Reserved","inout"], ]) dll.add_function('RegDeleteKeyExW', 'DWORD',[ ["DWORD","hKey","in"], ["PWCHAR","lpSubKey","in"], ["DWORD","samDesired","in"], ["DWORD","Reserved","inout"], ]) dll.add_function('RegDeleteKeyW', 'DWORD',[ ["DWORD","hKey","in"], ["PWCHAR","lpSubKey","in"], ]) dll.add_function('RegDeleteValueA', 'DWORD',[ ["DWORD","hKey","in"], ["PCHAR","lpValueName","in"], ]) dll.add_function('RegDeleteValueW', 'DWORD',[ ["DWORD","hKey","in"], ["PWCHAR","lpValueName","in"], ]) dll.add_function('RegDisablePredefinedCache', 'DWORD',[ ]) dll.add_function('RegDisableReflectionKey', 'DWORD',[ ["DWORD","hBase","in"], ]) dll.add_function('RegEnableReflectionKey', 'DWORD',[ ["DWORD","hBase","in"], ]) dll.add_function('RegEnumKeyA', 'DWORD',[ ["DWORD","hKey","in"], ["DWORD","dwIndex","in"], ["PCHAR","lpName","out"], ["DWORD","cchName","in"], ]) dll.add_function('RegEnumKeyExA', 'DWORD',[ ["DWORD","hKey","in"], ["DWORD","dwIndex","in"], ["PCHAR","lpName","out"], ["PDWORD","lpcchName","inout"], ["PDWORD","lpReserved","inout"], ["PCHAR","lpClass","inout"], ["PDWORD","lpcchClass","inout"], ["PBLOB","lpftLastWriteTime","out"], ]) dll.add_function('RegEnumKeyExW', 'DWORD',[ ["DWORD","hKey","in"], ["DWORD","dwIndex","in"], ["PWCHAR","lpName","out"], ["PDWORD","lpcchName","inout"], ["PDWORD","lpReserved","inout"], ["PWCHAR","lpClass","inout"], ["PDWORD","lpcchClass","inout"], ["PBLOB","lpftLastWriteTime","out"], ]) dll.add_function('RegEnumKeyW', 'DWORD',[ ["DWORD","hKey","in"], ["DWORD","dwIndex","in"], ["PWCHAR","lpName","out"], ["DWORD","cchName","in"], ]) dll.add_function('RegEnumValueA', 'DWORD',[ ["DWORD","hKey","in"], ["DWORD","dwIndex","in"], ["PCHAR","lpValueName","out"], ["PDWORD","lpcchValueName","inout"], ["PDWORD","lpReserved","inout"], ["PDWORD","lpType","out"], ["PBLOB","lpData","out"], ["PDWORD","lpcbData","inout"], ]) dll.add_function('RegEnumValueW', 'DWORD',[ ["DWORD","hKey","in"], ["DWORD","dwIndex","in"], ["PWCHAR","lpValueName","out"], ["PDWORD","lpcchValueName","inout"], ["PDWORD","lpReserved","inout"], ["PDWORD","lpType","out"], ["PBLOB","lpData","out"], ["PDWORD","lpcbData","inout"], ]) dll.add_function('RegFlushKey', 'DWORD',[ ["DWORD","hKey","in"], ]) dll.add_function('RegGetKeySecurity', 'DWORD',[ ["DWORD","hKey","in"], ["PBLOB","SecurityInformation","in"], ["PBLOB","pSecurityDescriptor","out"], ["PDWORD","lpcbSecurityDescriptor","inout"], ]) dll.add_function('RegGetValueA', 'DWORD',[ ["DWORD","hkey","in"], ["PCHAR","lpSubKey","in"], ["PCHAR","lpValue","in"], ["DWORD","dwFlags","in"], ["PDWORD","pdwType","out"], ["PBLOB","pvData","out"], ["PDWORD","pcbData","inout"], ]) dll.add_function('RegGetValueW', 'DWORD',[ ["DWORD","hkey","in"], ["PWCHAR","lpSubKey","in"], ["PWCHAR","lpValue","in"], ["DWORD","dwFlags","in"], ["PDWORD","pdwType","out"], ["PBLOB","pvData","out"], ["PDWORD","pcbData","inout"], ]) dll.add_function('RegLoadKeyA', 'DWORD',[ ["DWORD","hKey","in"], ["PCHAR","lpSubKey","in"], ["PCHAR","lpFile","in"], ]) dll.add_function('RegLoadKeyW', 'DWORD',[ ["DWORD","hKey","in"], ["PWCHAR","lpSubKey","in"], ["PWCHAR","lpFile","in"], ]) dll.add_function('RegNotifyChangeKeyValue', 'DWORD',[ ["DWORD","hKey","in"], ["BOOL","bWatchSubtree","in"], ["DWORD","dwNotifyFilter","in"], ["DWORD","hEvent","in"], ["BOOL","fAsynchronous","in"], ]) dll.add_function('RegOpenCurrentUser', 'DWORD',[ ["DWORD","samDesired","in"], ["PDWORD","phkResult","out"], ]) dll.add_function('RegOpenKeyA', 'DWORD',[ ["DWORD","hKey","in"], ["PCHAR","lpSubKey","in"], ["PDWORD","phkResult","out"], ]) dll.add_function('RegOpenKeyExA', 'DWORD',[ ["DWORD","hKey","in"], ["PCHAR","lpSubKey","in"], ["DWORD","ulOptions","inout"], ["DWORD","samDesired","in"], ["PDWORD","phkResult","out"], ]) dll.add_function('RegOpenKeyExW', 'DWORD',[ ["DWORD","hKey","in"], ["PWCHAR","lpSubKey","in"], ["DWORD","ulOptions","inout"], ["DWORD","samDesired","in"], ["PDWORD","phkResult","out"], ]) dll.add_function('RegOpenKeyW', 'DWORD',[ ["DWORD","hKey","in"], ["PWCHAR","lpSubKey","in"], ["PDWORD","phkResult","out"], ]) dll.add_function('RegOpenUserClassesRoot', 'DWORD',[ ["DWORD","hToken","in"], ["DWORD","dwOptions","inout"], ["DWORD","samDesired","in"], ["PDWORD","phkResult","out"], ]) dll.add_function('RegOverridePredefKey', 'DWORD',[ ["DWORD","hKey","in"], ["DWORD","hNewHKey","in"], ]) dll.add_function('RegQueryInfoKeyA', 'DWORD',[ ["DWORD","hKey","in"], ["PCHAR","lpClass","out"], ["PDWORD","lpcchClass","inout"], ["PDWORD","lpReserved","inout"], ["PDWORD","lpcSubKeys","out"], ["PDWORD","lpcbMaxSubKeyLen","out"], ["PDWORD","lpcbMaxClassLen","out"], ["PDWORD","lpcValues","out"], ["PDWORD","lpcbMaxValueNameLen","out"], ["PDWORD","lpcbMaxValueLen","out"], ["PDWORD","lpcbSecurityDescriptor","out"], ["PBLOB","lpftLastWriteTime","out"], ]) dll.add_function('RegQueryInfoKeyW', 'DWORD',[ ["DWORD","hKey","in"], ["PWCHAR","lpClass","out"], ["PDWORD","lpcchClass","inout"], ["PDWORD","lpReserved","inout"], ["PDWORD","lpcSubKeys","out"], ["PDWORD","lpcbMaxSubKeyLen","out"], ["PDWORD","lpcbMaxClassLen","out"], ["PDWORD","lpcValues","out"], ["PDWORD","lpcbMaxValueNameLen","out"], ["PDWORD","lpcbMaxValueLen","out"], ["PDWORD","lpcbSecurityDescriptor","out"], ["PBLOB","lpftLastWriteTime","out"], ]) dll.add_function('RegQueryMultipleValuesA', 'DWORD',[ ["DWORD","hKey","in"], ["PBLOB","val_list","out"], ["DWORD","num_vals","in"], ["PCHAR","lpValueBuf","out"], ["PDWORD","ldwTotsize","inout"], ]) dll.add_function('RegQueryMultipleValuesW', 'DWORD',[ ["DWORD","hKey","in"], ["PBLOB","val_list","out"], ["DWORD","num_vals","in"], ["PWCHAR","lpValueBuf","out"], ["PDWORD","ldwTotsize","inout"], ]) dll.add_function('RegQueryReflectionKey', 'DWORD',[ ["DWORD","hBase","in"], ["PBLOB","bIsReflectionDisabled","out"], ]) dll.add_function('RegQueryValueA', 'DWORD',[ ["DWORD","hKey","in"], ["PCHAR","lpSubKey","in"], ["PCHAR","lpData","out"], ["PDWORD","lpcbData","inout"], ]) dll.add_function('RegQueryValueExA', 'DWORD',[ ["DWORD","hKey","in"], ["PCHAR","lpValueName","in"], ["PDWORD","lpReserved","inout"], ["PDWORD","lpType","out"], ["PBLOB","lpData","out"], ["PDWORD","lpcbData","inout"], ]) dll.add_function('RegQueryValueExW', 'DWORD',[ ["DWORD","hKey","in"], ["PWCHAR","lpValueName","in"], ["PDWORD","lpReserved","inout"], ["PDWORD","lpType","out"], ["PBLOB","lpData","out"], ["PDWORD","lpcbData","inout"], ]) dll.add_function('RegQueryValueW', 'DWORD',[ ["DWORD","hKey","in"], ["PWCHAR","lpSubKey","in"], ["PWCHAR","lpData","out"], ["PDWORD","lpcbData","inout"], ]) dll.add_function('RegReplaceKeyA', 'DWORD',[ ["DWORD","hKey","in"], ["PCHAR","lpSubKey","in"], ["PCHAR","lpNewFile","in"], ["PCHAR","lpOldFile","in"], ]) dll.add_function('RegReplaceKeyW', 'DWORD',[ ["DWORD","hKey","in"], ["PWCHAR","lpSubKey","in"], ["PWCHAR","lpNewFile","in"], ["PWCHAR","lpOldFile","in"], ]) dll.add_function('RegRestoreKeyA', 'DWORD',[ ["DWORD","hKey","in"], ["PCHAR","lpFile","in"], ["DWORD","dwFlags","in"], ]) dll.add_function('RegRestoreKeyW', 'DWORD',[ ["DWORD","hKey","in"], ["PWCHAR","lpFile","in"], ["DWORD","dwFlags","in"], ]) dll.add_function('RegSaveKeyA', 'DWORD',[ ["DWORD","hKey","in"], ["PCHAR","lpFile","in"], ["PBLOB","lpSecurityAttributes","in"], ]) dll.add_function('RegSaveKeyExA', 'DWORD',[ ["DWORD","hKey","in"], ["PCHAR","lpFile","in"], ["PBLOB","lpSecurityAttributes","in"], ["DWORD","Flags","in"], ]) dll.add_function('RegSaveKeyExW', 'DWORD',[ ["DWORD","hKey","in"], ["PWCHAR","lpFile","in"], ["PBLOB","lpSecurityAttributes","in"], ["DWORD","Flags","in"], ]) dll.add_function('RegSaveKeyW', 'DWORD',[ ["DWORD","hKey","in"], ["PWCHAR","lpFile","in"], ["PBLOB","lpSecurityAttributes","in"], ]) dll.add_function('RegSetKeySecurity', 'DWORD',[ ["DWORD","hKey","in"], ["PBLOB","SecurityInformation","in"], ["PBLOB","pSecurityDescriptor","in"], ]) dll.add_function('RegSetValueA', 'DWORD',[ ["DWORD","hKey","in"], ["PCHAR","lpSubKey","in"], ["DWORD","dwType","in"], ["PCHAR","lpData","in"], ["DWORD","cbData","in"], ]) dll.add_function('RegSetValueExA', 'DWORD',[ ["DWORD","hKey","in"], ["PCHAR","lpValueName","in"], ["DWORD","Reserved","inout"], ["DWORD","dwType","in"], ["PBLOB","lpData","in"], ["DWORD","cbData","in"], ]) dll.add_function('RegSetValueExW', 'DWORD',[ ["DWORD","hKey","in"], ["PWCHAR","lpValueName","in"], ["DWORD","Reserved","inout"], ["DWORD","dwType","in"], ["PBLOB","lpData","in"], ["DWORD","cbData","in"], ]) dll.add_function('RegSetValueW', 'DWORD',[ ["DWORD","hKey","in"], ["PWCHAR","lpSubKey","in"], ["DWORD","dwType","in"], ["PWCHAR","lpData","in"], ["DWORD","cbData","in"], ]) dll.add_function('RegUnLoadKeyA', 'DWORD',[ ["DWORD","hKey","in"], ["PCHAR","lpSubKey","in"], ]) dll.add_function('RegUnLoadKeyW', 'DWORD',[ ["DWORD","hKey","in"], ["PWCHAR","lpSubKey","in"], ]) dll.add_function('Wow64Win32ApiEntry', 'DWORD',[ ["DWORD","dwFuncNumber","in"], ["DWORD","dwFlag","in"], ["DWORD","dwRes","in"], ]) dll.add_function('AccessCheck', 'BOOL',[ ["PBLOB","pSecurityDescriptor","in"], ["DWORD","ClientToken","in"], ["DWORD","DesiredAccess","in"], ["PBLOB","GenericMapping","in"], ["PBLOB","PrivilegeSet","out"], ["PDWORD","PrivilegeSetLength","inout"], ["PDWORD","GrantedAccess","out"], ["PBLOB","AccessStatus","out"], ]) dll.add_function('AccessCheckAndAuditAlarmA', 'BOOL',[ ["PCHAR","SubsystemName","in"], ["PBLOB","HandleId","in"], ["PCHAR","ObjectTypeName","in"], ["PCHAR","ObjectName","in"], ["PBLOB","SecurityDescriptor","in"], ["DWORD","DesiredAccess","in"], ["PBLOB","GenericMapping","in"], ["BOOL","ObjectCreation","in"], ["PDWORD","GrantedAccess","out"], ["PBLOB","AccessStatus","out"], ["PBLOB","pfGenerateOnClose","out"], ]) dll.add_function('AccessCheckAndAuditAlarmW', 'BOOL',[ ["PWCHAR","SubsystemName","in"], ["PBLOB","HandleId","in"], ["PWCHAR","ObjectTypeName","in"], ["PWCHAR","ObjectName","in"], ["PBLOB","SecurityDescriptor","in"], ["DWORD","DesiredAccess","in"], ["PBLOB","GenericMapping","in"], ["BOOL","ObjectCreation","in"], ["PDWORD","GrantedAccess","out"], ["PBLOB","AccessStatus","out"], ["PBLOB","pfGenerateOnClose","out"], ]) dll.add_function('AccessCheckByType', 'BOOL',[ ["PBLOB","pSecurityDescriptor","in"], ["LPVOID","PrincipalSelfSid","in"], ["DWORD","ClientToken","in"], ["DWORD","DesiredAccess","in"], ["PBLOB","ObjectTypeList","inout"], ["DWORD","ObjectTypeListLength","in"], ["PBLOB","GenericMapping","in"], ["PBLOB","PrivilegeSet","out"], ["PDWORD","PrivilegeSetLength","inout"], ["PDWORD","GrantedAccess","out"], ["PBLOB","AccessStatus","out"], ]) dll.add_function('AccessCheckByTypeAndAuditAlarmA', 'BOOL',[ ["PCHAR","SubsystemName","in"], ["PBLOB","HandleId","in"], ["PCHAR","ObjectTypeName","in"], ["PCHAR","ObjectName","in"], ["PBLOB","SecurityDescriptor","in"], ["LPVOID","PrincipalSelfSid","in"], ["DWORD","DesiredAccess","in"], ["DWORD","AuditType","in"], ["DWORD","Flags","in"], ["PBLOB","ObjectTypeList","inout"], ["DWORD","ObjectTypeListLength","in"], ["PBLOB","GenericMapping","in"], ["BOOL","ObjectCreation","in"], ["PDWORD","GrantedAccess","out"], ["PBLOB","AccessStatus","out"], ["PBLOB","pfGenerateOnClose","out"], ]) dll.add_function('AccessCheckByTypeAndAuditAlarmW', 'BOOL',[ ["PWCHAR","SubsystemName","in"], ["PBLOB","HandleId","in"], ["PWCHAR","ObjectTypeName","in"], ["PWCHAR","ObjectName","in"], ["PBLOB","SecurityDescriptor","in"], ["LPVOID","PrincipalSelfSid","in"], ["DWORD","DesiredAccess","in"], ["DWORD","AuditType","in"], ["DWORD","Flags","in"], ["PBLOB","ObjectTypeList","inout"], ["DWORD","ObjectTypeListLength","in"], ["PBLOB","GenericMapping","in"], ["BOOL","ObjectCreation","in"], ["PDWORD","GrantedAccess","out"], ["PBLOB","AccessStatus","out"], ["PBLOB","pfGenerateOnClose","out"], ]) dll.add_function('AccessCheckByTypeResultList', 'BOOL',[ ["PBLOB","pSecurityDescriptor","in"], ["LPVOID","PrincipalSelfSid","in"], ["DWORD","ClientToken","in"], ["DWORD","DesiredAccess","in"], ["PBLOB","ObjectTypeList","inout"], ["DWORD","ObjectTypeListLength","in"], ["PBLOB","GenericMapping","in"], ["PBLOB","PrivilegeSet","out"], ["PDWORD","PrivilegeSetLength","inout"], ["PDWORD","GrantedAccessList","out"], ["PDWORD","AccessStatusList","out"], ]) dll.add_function('AccessCheckByTypeResultListAndAuditAlarmA', 'BOOL',[ ["PCHAR","SubsystemName","in"], ["PBLOB","HandleId","in"], ["PCHAR","ObjectTypeName","in"], ["PCHAR","ObjectName","in"], ["PBLOB","SecurityDescriptor","in"], ["LPVOID","PrincipalSelfSid","in"], ["DWORD","DesiredAccess","in"], ["DWORD","AuditType","in"], ["DWORD","Flags","in"], ["PBLOB","ObjectTypeList","inout"], ["DWORD","ObjectTypeListLength","in"], ["PBLOB","GenericMapping","in"], ["BOOL","ObjectCreation","in"], ["PDWORD","GrantedAccess","out"], ["PDWORD","AccessStatusList","out"], ["PBLOB","pfGenerateOnClose","out"], ]) dll.add_function('AccessCheckByTypeResultListAndAuditAlarmByHandleA', 'BOOL',[ ["PCHAR","SubsystemName","in"], ["PBLOB","HandleId","in"], ["DWORD","ClientToken","in"], ["PCHAR","ObjectTypeName","in"], ["PCHAR","ObjectName","in"], ["PBLOB","SecurityDescriptor","in"], ["LPVOID","PrincipalSelfSid","in"], ["DWORD","DesiredAccess","in"], ["DWORD","AuditType","in"], ["DWORD","Flags","in"], ["PBLOB","ObjectTypeList","inout"], ["DWORD","ObjectTypeListLength","in"], ["PBLOB","GenericMapping","in"], ["BOOL","ObjectCreation","in"], ["PDWORD","GrantedAccess","out"], ["PDWORD","AccessStatusList","out"], ["PBLOB","pfGenerateOnClose","out"], ]) dll.add_function('AccessCheckByTypeResultListAndAuditAlarmByHandleW', 'BOOL',[ ["PWCHAR","SubsystemName","in"], ["PBLOB","HandleId","in"], ["DWORD","ClientToken","in"], ["PWCHAR","ObjectTypeName","in"], ["PWCHAR","ObjectName","in"], ["PBLOB","SecurityDescriptor","in"], ["LPVOID","PrincipalSelfSid","in"], ["DWORD","DesiredAccess","in"], ["DWORD","AuditType","in"], ["DWORD","Flags","in"], ["PBLOB","ObjectTypeList","inout"], ["DWORD","ObjectTypeListLength","in"], ["PBLOB","GenericMapping","in"], ["BOOL","ObjectCreation","in"], ["PDWORD","GrantedAccess","out"], ["PDWORD","AccessStatusList","out"], ["PBLOB","pfGenerateOnClose","out"], ]) dll.add_function('AccessCheckByTypeResultListAndAuditAlarmW', 'BOOL',[ ["PWCHAR","SubsystemName","in"], ["PBLOB","HandleId","in"], ["PWCHAR","ObjectTypeName","in"], ["PWCHAR","ObjectName","in"], ["PBLOB","SecurityDescriptor","in"], ["LPVOID","PrincipalSelfSid","in"], ["DWORD","DesiredAccess","in"], ["DWORD","AuditType","in"], ["DWORD","Flags","in"], ["PBLOB","ObjectTypeList","inout"], ["DWORD","ObjectTypeListLength","in"], ["PBLOB","GenericMapping","in"], ["BOOL","ObjectCreation","in"], ["PDWORD","GrantedAccess","out"], ["PDWORD","AccessStatusList","out"], ["PBLOB","pfGenerateOnClose","out"], ]) dll.add_function('AddAccessAllowedAce', 'BOOL',[ ["PBLOB","pAcl","inout"], ["DWORD","dwAceRevision","in"], ["DWORD","AccessMask","in"], ["LPVOID","pSid","in"], ]) dll.add_function('AddAccessAllowedAceEx', 'BOOL',[ ["PBLOB","pAcl","inout"], ["DWORD","dwAceRevision","in"], ["DWORD","AceFlags","in"], ["DWORD","AccessMask","in"], ["LPVOID","pSid","in"], ]) dll.add_function('AddAccessAllowedObjectAce', 'BOOL',[ ["PBLOB","pAcl","inout"], ["DWORD","dwAceRevision","in"], ["DWORD","AceFlags","in"], ["DWORD","AccessMask","in"], ["PBLOB","ObjectTypeGuid","in"], ["PBLOB","InheritedObjectTypeGuid","in"], ["LPVOID","pSid","in"], ]) dll.add_function('AddAccessDeniedAce', 'BOOL',[ ["PBLOB","pAcl","inout"], ["DWORD","dwAceRevision","in"], ["DWORD","AccessMask","in"], ["LPVOID","pSid","in"], ]) dll.add_function('AddAccessDeniedAceEx', 'BOOL',[ ["PBLOB","pAcl","inout"], ["DWORD","dwAceRevision","in"], ["DWORD","AceFlags","in"], ["DWORD","AccessMask","in"], ["LPVOID","pSid","in"], ]) dll.add_function('AddAccessDeniedObjectAce', 'BOOL',[ ["PBLOB","pAcl","inout"], ["DWORD","dwAceRevision","in"], ["DWORD","AceFlags","in"], ["DWORD","AccessMask","in"], ["PBLOB","ObjectTypeGuid","in"], ["PBLOB","InheritedObjectTypeGuid","in"], ["LPVOID","pSid","in"], ]) dll.add_function('AddAce', 'BOOL',[ ["PBLOB","pAcl","inout"], ["DWORD","dwAceRevision","in"], ["DWORD","dwStartingAceIndex","in"], ["PBLOB","pAceList","in"], ["DWORD","nAceListLength","in"], ]) dll.add_function('AddAuditAccessAce', 'BOOL',[ ["PBLOB","pAcl","inout"], ["DWORD","dwAceRevision","in"], ["DWORD","dwAccessMask","in"], ["LPVOID","pSid","in"], ["BOOL","bAuditSuccess","in"], ["BOOL","bAuditFailure","in"], ]) dll.add_function('AddAuditAccessAceEx', 'BOOL',[ ["PBLOB","pAcl","inout"], ["DWORD","dwAceRevision","in"], ["DWORD","AceFlags","in"], ["DWORD","dwAccessMask","in"], ["LPVOID","pSid","in"], ["BOOL","bAuditSuccess","in"], ["BOOL","bAuditFailure","in"], ]) dll.add_function('AddAuditAccessObjectAce', 'BOOL',[ ["PBLOB","pAcl","inout"], ["DWORD","dwAceRevision","in"], ["DWORD","AceFlags","in"], ["DWORD","AccessMask","in"], ["PBLOB","ObjectTypeGuid","in"], ["PBLOB","InheritedObjectTypeGuid","in"], ["LPVOID","pSid","in"], ["BOOL","bAuditSuccess","in"], ["BOOL","bAuditFailure","in"], ]) dll.add_function('AdjustTokenGroups', 'BOOL',[ ["DWORD","TokenHandle","in"], ["BOOL","ResetToDefault","in"], ["PBLOB","NewState","in"], ["DWORD","BufferLength","in"], ["PBLOB","PreviousState","out"], ["PDWORD","ReturnLength","out"], ]) dll.add_function('AdjustTokenPrivileges', 'BOOL',[ ["DWORD","TokenHandle","in"], ["BOOL","DisableAllPrivileges","in"], ["PBLOB","NewState","in"], ["DWORD","BufferLength","in"], ["PBLOB","PreviousState","out"], ["PDWORD","ReturnLength","out"], ]) dll.add_function('AllocateAndInitializeSid', 'BOOL',[ ["PBLOB","pIdentifierAuthority","in"], ["BYTE","nSubAuthorityCount","in"], ["DWORD","nSubAuthority0","in"], ["DWORD","nSubAuthority1","in"], ["DWORD","nSubAuthority2","in"], ["DWORD","nSubAuthority3","in"], ["DWORD","nSubAuthority4","in"], ["DWORD","nSubAuthority5","in"], ["DWORD","nSubAuthority6","in"], ["DWORD","nSubAuthority7","in"], ["PDWORD","pSid","out"], ]) dll.add_function('AllocateLocallyUniqueId', 'BOOL',[ ["PBLOB","Luid","out"], ]) dll.add_function('AreAllAccessesGranted', 'BOOL',[ ["DWORD","GrantedAccess","in"], ["DWORD","DesiredAccess","in"], ]) dll.add_function('AreAnyAccessesGranted', 'BOOL',[ ["DWORD","GrantedAccess","in"], ["DWORD","DesiredAccess","in"], ]) dll.add_function('BackupEventLogA', 'BOOL',[ ["DWORD","hEventLog","in"], ["PCHAR","lpBackupFileName","in"], ]) dll.add_function('BackupEventLogW', 'BOOL',[ ["DWORD","hEventLog","in"], ["PWCHAR","lpBackupFileName","in"], ]) dll.add_function('CheckTokenMembership', 'BOOL',[ ["DWORD","TokenHandle","in"], ["PBLOB","SidToCheck","in"], ["PBLOB","IsMember","out"], ]) dll.add_function('ClearEventLogA', 'BOOL',[ ["DWORD","hEventLog","in"], ["PCHAR","lpBackupFileName","in"], ]) dll.add_function('ClearEventLogW', 'BOOL',[ ["DWORD","hEventLog","in"], ["PWCHAR","lpBackupFileName","in"], ]) dll.add_function('CloseEncryptedFileRaw', 'VOID',[ ["PBLOB","pvContext","in"], ]) dll.add_function('CloseEventLog', 'BOOL',[ ["DWORD","hEventLog","in"], ]) dll.add_function('ConvertToAutoInheritPrivateObjectSecurity', 'BOOL',[ ["PBLOB","ParentDescriptor","in"], ["PBLOB","CurrentSecurityDescriptor","in"], ["PBLOB","NewSecurityDescriptor","out"], ["PBLOB","ObjectType","in"], ["BOOL","IsDirectoryObject","in"], ["PBLOB","GenericMapping","in"], ]) dll.add_function('ConvertStringSidToSidA', 'BOOL',[ ["PCHAR","StringSid","in"], ["PDWORD","pSid","out"], ]) dll.add_function('ConvertStringSidToSidW', 'BOOL',[ ["PWCHAR","StringSid","in"], ["PDWORD","pSid","out"], ]) dll.add_function('CopySid', 'BOOL',[ ["DWORD","nDestinationSidLength","in"], ["PBLOB","pDestinationSid","out"], ["LPVOID","pSourceSid","in"], ]) dll.add_function('CreatePrivateObjectSecurity', 'BOOL',[ ["PBLOB","ParentDescriptor","in"], ["PBLOB","CreatorDescriptor","in"], ["PBLOB","NewDescriptor","out"], ["BOOL","IsDirectoryObject","in"], ["DWORD","Token","in"], ["PBLOB","GenericMapping","in"], ]) dll.add_function('CreatePrivateObjectSecurityEx', 'BOOL',[ ["PBLOB","ParentDescriptor","in"], ["PBLOB","CreatorDescriptor","in"], ["PBLOB","NewDescriptor","out"], ["PBLOB","ObjectType","in"], ["BOOL","IsContainerObject","in"], ["DWORD","AutoInheritFlags","in"], ["DWORD","Token","in"], ["PBLOB","GenericMapping","in"], ]) dll.add_function('CreatePrivateObjectSecurityWithMultipleInheritance', 'BOOL',[ ["PBLOB","ParentDescriptor","in"], ["PBLOB","CreatorDescriptor","in"], ["PBLOB","NewDescriptor","out"], ["PBLOB","ObjectTypes","in"], ["DWORD","GuidCount","in"], ["BOOL","IsContainerObject","in"], ["DWORD","AutoInheritFlags","in"], ["DWORD","Token","in"], ["PBLOB","GenericMapping","in"], ]) dll.add_function('CreateProcessAsUserA', 'BOOL',[ ["DWORD","hToken","in"], ["PCHAR","lpApplicationName","in"], ["PCHAR","lpCommandLine","inout"], ["PBLOB","lpProcessAttributes","in"], ["PBLOB","lpThreadAttributes","in"], ["BOOL","bInheritHandles","in"], ["DWORD","dwCreationFlags","in"], ["PBLOB","lpEnvironment","in"], ["PCHAR","lpCurrentDirectory","in"], ["PBLOB","lpStartupInfo","in"], ["PBLOB","lpProcessInformation","out"], ]) dll.add_function('CreateProcessAsUserW', 'BOOL',[ ["DWORD","hToken","in"], ["PWCHAR","lpApplicationName","in"], ["PWCHAR","lpCommandLine","inout"], ["PBLOB","lpProcessAttributes","in"], ["PBLOB","lpThreadAttributes","in"], ["BOOL","bInheritHandles","in"], ["DWORD","dwCreationFlags","in"], ["PBLOB","lpEnvironment","in"], ["PWCHAR","lpCurrentDirectory","in"], ["PBLOB","lpStartupInfo","in"], ["PBLOB","lpProcessInformation","out"], ]) dll.add_function('CreateProcessWithLogonW', 'BOOL',[ ["PWCHAR","lpUsername","in"], ["PWCHAR","lpDomain","in"], ["PWCHAR","lpPassword","in"], ["DWORD","dwLogonFlags","in"], ["PWCHAR","lpApplicationName","in"], ["PWCHAR","lpCommandLine","inout"], ["DWORD","dwCreationFlags","in"], ["PBLOB","lpEnvironment","in"], ["PWCHAR","lpCurrentDirectory","in"], ["PBLOB","lpStartupInfo","in"], ["PBLOB","lpProcessInformation","out"], ]) dll.add_function('CreateProcessWithTokenW', 'BOOL',[ ["DWORD","hToken","in"], ["DWORD","dwLogonFlags","in"], ["PWCHAR","lpApplicationName","in"], ["PWCHAR","lpCommandLine","inout"], ["DWORD","dwCreationFlags","in"], ["PBLOB","lpEnvironment","in"], ["PWCHAR","lpCurrentDirectory","in"], ["PBLOB","lpStartupInfo","in"], ["PBLOB","lpProcessInformation","out"], ]) dll.add_function('CreateRestrictedToken', 'BOOL',[ ["DWORD","ExistingTokenHandle","in"], ["DWORD","Flags","in"], ["DWORD","DisableSidCount","in"], ["PBLOB","SidsToDisable","in"], ["DWORD","DeletePrivilegeCount","in"], ["PBLOB","PrivilegesToDelete","in"], ["DWORD","RestrictedSidCount","in"], ["PBLOB","SidsToRestrict","in"], ["PDWORD","NewTokenHandle","out"], ]) dll.add_function('CreateWellKnownSid', 'BOOL',[ ["DWORD","WellKnownSidType","in"], ["PBLOB","DomainSid","in"], ["PBLOB","pSid","out"], ["PDWORD","cbSid","inout"], ]) dll.add_function('DecryptFileA', 'BOOL',[ ["PCHAR","lpFileName","in"], ["DWORD","dwReserved","inout"], ]) dll.add_function('DecryptFileW', 'BOOL',[ ["PWCHAR","lpFileName","in"], ["DWORD","dwReserved","inout"], ]) dll.add_function('DeleteAce', 'BOOL',[ ["PBLOB","pAcl","inout"], ["DWORD","dwAceIndex","in"], ]) dll.add_function('DeregisterEventSource', 'BOOL',[ ["DWORD","hEventLog","in"], ]) dll.add_function('DestroyPrivateObjectSecurity', 'BOOL',[ ["PBLOB","ObjectDescriptor","in"], ]) dll.add_function('DuplicateToken', 'BOOL',[ ["DWORD","ExistingTokenHandle","in"], ["DWORD","ImpersonationLevel","in"], ["PDWORD","DuplicateTokenHandle","out"], ]) dll.add_function('DuplicateTokenEx', 'BOOL',[ ["DWORD","hExistingToken","in"], ["DWORD","dwDesiredAccess","in"], ["PBLOB","lpTokenAttributes","in"], ["DWORD","ImpersonationLevel","in"], ["DWORD","TokenType","in"], ["PDWORD","phNewToken","out"], ]) dll.add_function('EncryptFileA', 'BOOL',[ ["PCHAR","lpFileName","in"], ]) dll.add_function('EncryptFileW', 'BOOL',[ ["PWCHAR","lpFileName","in"], ]) dll.add_function('EqualDomainSid', 'BOOL',[ ["LPVOID","pSid1","in"], ["LPVOID","pSid2","in"], ["PBLOB","pfEqual","out"], ]) dll.add_function('EqualPrefixSid', 'BOOL',[ ["LPVOID","pSid1","in"], ["LPVOID","pSid2","in"], ]) dll.add_function('EqualSid', 'BOOL',[ ["LPVOID","pSid1","in"], ["LPVOID","pSid2","in"], ]) dll.add_function('FileEncryptionStatusA', 'BOOL',[ ["PCHAR","lpFileName","in"], ["PDWORD","lpStatus","out"], ]) dll.add_function('FileEncryptionStatusW', 'BOOL',[ ["PWCHAR","lpFileName","in"], ["PDWORD","lpStatus","out"], ]) dll.add_function('FindFirstFreeAce', 'BOOL',[ ["PBLOB","pAcl","in"], ["PBLOB","pAce","out"], ]) dll.add_function('FreeSid', 'LPVOID',[ ["LPVOID","pSid","in"], ]) dll.add_function('GetAce', 'BOOL',[ ["PBLOB","pAcl","in"], ["DWORD","dwAceIndex","in"], ["PBLOB","pAce","out"], ]) dll.add_function('GetAclInformation', 'BOOL',[ ["PBLOB","pAcl","in"], ["PBLOB","pAclInformation","out"], ["DWORD","nAclInformationLength","in"], ["DWORD","dwAclInformationClass","in"], ]) dll.add_function('GetCurrentHwProfileA', 'BOOL',[ ["PBLOB","lpHwProfileInfo","out"], ]) dll.add_function('GetCurrentHwProfileW', 'BOOL',[ ["PBLOB","lpHwProfileInfo","out"], ]) dll.add_function('GetEventLogInformation', 'BOOL',[ ["DWORD","hEventLog","in"], ["DWORD","dwInfoLevel","in"], ["PBLOB","lpBuffer","out"], ["DWORD","cbBufSize","in"], ["PDWORD","pcbBytesNeeded","out"], ]) dll.add_function('GetFileSecurityA', 'BOOL',[ ["PCHAR","lpFileName","in"], ["DWORD","RequestedInformation","in"], ["PBLOB","pSecurityDescriptor","out"], ["DWORD","nLength","in"], ["PDWORD","lpnLengthNeeded","out"], ]) dll.add_function('GetFileSecurityW', 'BOOL',[ ["PWCHAR","lpFileName","in"], ["DWORD","RequestedInformation","in"], ["PBLOB","pSecurityDescriptor","out"], ["DWORD","nLength","in"], ["PDWORD","lpnLengthNeeded","out"], ]) dll.add_function('GetKernelObjectSecurity', 'BOOL',[ ["DWORD","Handle","in"], ["PBLOB","RequestedInformation","in"], ["PBLOB","pSecurityDescriptor","out"], ["DWORD","nLength","in"], ["PDWORD","lpnLengthNeeded","out"], ]) dll.add_function('GetLengthSid', 'DWORD',[ ["LPVOID","pSid","in"], ]) dll.add_function('GetNumberOfEventLogRecords', 'BOOL',[ ["DWORD","hEventLog","in"], ["PDWORD","NumberOfRecords","out"], ]) dll.add_function('GetOldestEventLogRecord', 'BOOL',[ ["DWORD","hEventLog","in"], ["PDWORD","OldestRecord","out"], ]) dll.add_function('GetPrivateObjectSecurity', 'BOOL',[ ["PBLOB","ObjectDescriptor","in"], ["PBLOB","SecurityInformation","in"], ["PBLOB","ResultantDescriptor","out"], ["DWORD","DescriptorLength","in"], ["PDWORD","ReturnLength","out"], ]) dll.add_function('GetSecurityDescriptorControl', 'BOOL',[ ["PBLOB","pSecurityDescriptor","in"], ["PBLOB","pControl","out"], ["PDWORD","lpdwRevision","out"], ]) dll.add_function('GetSecurityDescriptorDacl', 'BOOL',[ ["PBLOB","pSecurityDescriptor","in"], ["PBLOB","lpbDaclPresent","out"], ["PBLOB","pDacl","out"], ["PBLOB","lpbDaclDefaulted","out"], ]) dll.add_function('GetSecurityDescriptorGroup', 'BOOL',[ ["PBLOB","pSecurityDescriptor","in"], ["PBLOB","pGroup","out"], ["PBLOB","lpbGroupDefaulted","out"], ]) dll.add_function('GetSecurityDescriptorLength', 'DWORD',[ ["PBLOB","pSecurityDescriptor","in"], ]) dll.add_function('GetSecurityDescriptorOwner', 'BOOL',[ ["PBLOB","pSecurityDescriptor","in"], ["PBLOB","pOwner","out"], ["PBLOB","lpbOwnerDefaulted","out"], ]) dll.add_function('GetSecurityDescriptorRMControl', 'DWORD',[ ["PBLOB","SecurityDescriptor","in"], ["PBLOB","RMControl","out"], ]) dll.add_function('GetSecurityDescriptorSacl', 'BOOL',[ ["PBLOB","pSecurityDescriptor","in"], ["PBLOB","lpbSaclPresent","out"], ["PBLOB","pSacl","out"], ["PBLOB","lpbSaclDefaulted","out"], ]) dll.add_function('GetSidLengthRequired', 'DWORD',[ ["BYTE","nSubAuthorityCount","in"], ]) dll.add_function('GetTokenInformation', 'BOOL',[ ["DWORD","TokenHandle","in"], ["DWORD","TokenInformationClass","in"], ["PBLOB","TokenInformation","out"], ["DWORD","TokenInformationLength","in"], ["PDWORD","ReturnLength","out"], ]) dll.add_function('GetUserNameA', 'BOOL',[ ["PCHAR","lpBuffer","out"], ["PDWORD","pcbBuffer","inout"], ]) dll.add_function('GetUserNameW', 'BOOL',[ ["PWCHAR","lpBuffer","out"], ["PDWORD","pcbBuffer","inout"], ]) dll.add_function('GetWindowsAccountDomainSid', 'BOOL',[ ["LPVOID","pSid","in"], ["PBLOB","pDomainSid","out"], ["PDWORD","cbDomainSid","inout"], ]) dll.add_function('ImpersonateAnonymousToken', 'BOOL',[ ["DWORD","ThreadHandle","in"], ]) dll.add_function('ImpersonateLoggedOnUser', 'BOOL',[ ["DWORD","hToken","in"], ]) dll.add_function('ImpersonateNamedPipeClient', 'BOOL',[ ["DWORD","hNamedPipe","in"], ]) dll.add_function('ImpersonateSelf', 'BOOL',[ ["DWORD","ImpersonationLevel","in"], ]) dll.add_function('InitializeAcl', 'BOOL',[ ["PBLOB","pAcl","out"], ["DWORD","nAclLength","in"], ["DWORD","dwAclRevision","in"], ]) dll.add_function('InitializeSecurityDescriptor', 'BOOL',[ ["PBLOB","pSecurityDescriptor","out"], ["DWORD","dwRevision","in"], ]) dll.add_function('InitializeSid', 'BOOL',[ ["PBLOB","Sid","out"], ["PBLOB","pIdentifierAuthority","in"], ["BYTE","nSubAuthorityCount","in"], ]) dll.add_function('IsTextUnicode', 'BOOL',[ ["DWORD","iSize","in"], ["PDWORD","lpiResult","inout"], ]) dll.add_function('IsTokenRestricted', 'BOOL',[ ["DWORD","TokenHandle","in"], ]) dll.add_function('IsTokenUntrusted', 'BOOL',[ ["DWORD","TokenHandle","in"], ]) dll.add_function('IsValidAcl', 'BOOL',[ ["PBLOB","pAcl","in"], ]) dll.add_function('IsValidSecurityDescriptor', 'BOOL',[ ["PBLOB","pSecurityDescriptor","in"], ]) dll.add_function('IsValidSid', 'BOOL',[ ["LPVOID","pSid","in"], ]) dll.add_function('IsWellKnownSid', 'BOOL',[ ["LPVOID","pSid","in"], ["DWORD","WellKnownSidType","in"], ]) dll.add_function('LogonUserA', 'BOOL',[ ["PCHAR","lpszUsername","in"], ["PCHAR","lpszDomain","in"], ["PCHAR","lpszPassword","in"], ["DWORD","dwLogonType","in"], ["DWORD","dwLogonProvider","in"], ["PDWORD","phToken","out"], ]) dll.add_function('LogonUserExA', 'BOOL',[ ["PCHAR","lpszUsername","in"], ["PCHAR","lpszDomain","in"], ["PCHAR","lpszPassword","in"], ["DWORD","dwLogonType","in"], ["DWORD","dwLogonProvider","in"], ["PDWORD","phToken","out"], ["PDWORD","ppLogonSid","out"], ["PBLOB","ppProfileBuffer","out"], ["PDWORD","pdwProfileLength","out"], ["PBLOB","pQuotaLimits","out"], ]) dll.add_function('LogonUserExW', 'BOOL',[ ["PWCHAR","lpszUsername","in"], ["PWCHAR","lpszDomain","in"], ["PWCHAR","lpszPassword","in"], ["DWORD","dwLogonType","in"], ["DWORD","dwLogonProvider","in"], ["PDWORD","phToken","out"], ["PDWORD","ppLogonSid","out"], ["PBLOB","ppProfileBuffer","out"], ["PDWORD","pdwProfileLength","out"], ["PBLOB","pQuotaLimits","out"], ]) dll.add_function('LogonUserW', 'BOOL',[ ["PWCHAR","lpszUsername","in"], ["PWCHAR","lpszDomain","in"], ["PWCHAR","lpszPassword","in"], ["DWORD","dwLogonType","in"], ["DWORD","dwLogonProvider","in"], ["PDWORD","phToken","out"], ]) dll.add_function('LookupAccountNameA', 'BOOL',[ ["PCHAR","lpSystemName","in"], ["PCHAR","lpAccountName","in"], ["PBLOB","Sid","out"], ["PDWORD","cbSid","inout"], ["PCHAR","ReferencedDomainName","out"], ["PDWORD","cchReferencedDomainName","inout"], ["PBLOB","peUse","out"], ]) dll.add_function('LookupAccountNameW', 'BOOL',[ ["PWCHAR","lpSystemName","in"], ["PWCHAR","lpAccountName","in"], ["PBLOB","Sid","out"], ["PDWORD","cbSid","inout"], ["PWCHAR","ReferencedDomainName","out"], ["PDWORD","cchReferencedDomainName","inout"], ["PBLOB","peUse","out"], ]) dll.add_function('LookupAccountSidA', 'BOOL',[ ["PCHAR","lpSystemName","in"], ["LPVOID","Sid","in"], ["PCHAR","Name","out"], ["PDWORD","cchName","inout"], ["PCHAR","ReferencedDomainName","out"], ["PDWORD","cchReferencedDomainName","inout"], ["PBLOB","peUse","out"], ]) dll.add_function('LookupAccountSidW', 'BOOL',[ ["PWCHAR","lpSystemName","in"], ["LPVOID","Sid","in"], ["PWCHAR","Name","out"], ["PDWORD","cchName","inout"], ["PWCHAR","ReferencedDomainName","out"], ["PDWORD","cchReferencedDomainName","inout"], ["PBLOB","peUse","out"], ]) dll.add_function('LookupPrivilegeDisplayNameA', 'BOOL',[ ["PCHAR","lpSystemName","in"], ["PCHAR","lpName","in"], ["PCHAR","lpDisplayName","out"], ["PDWORD","cchDisplayName","inout"], ["PDWORD","lpLanguageId","out"], ]) dll.add_function('LookupPrivilegeDisplayNameW', 'BOOL',[ ["PWCHAR","lpSystemName","in"], ["PWCHAR","lpName","in"], ["PWCHAR","lpDisplayName","out"], ["PDWORD","cchDisplayName","inout"], ["PDWORD","lpLanguageId","out"], ]) dll.add_function('LookupPrivilegeNameA', 'BOOL',[ ["PCHAR","lpSystemName","in"], ["PBLOB","lpLuid","in"], ["PCHAR","lpName","out"], ["PDWORD","cchName","inout"], ]) dll.add_function('LookupPrivilegeNameW', 'BOOL',[ ["PWCHAR","lpSystemName","in"], ["PBLOB","lpLuid","in"], ["PWCHAR","lpName","out"], ["PDWORD","cchName","inout"], ]) dll.add_function('LookupPrivilegeValueA', 'BOOL',[ ["PCHAR","lpSystemName","in"], ["PCHAR","lpName","in"], ["PBLOB","lpLuid","out"], ]) dll.add_function('LookupPrivilegeValueW', 'BOOL',[ ["PWCHAR","lpSystemName","in"], ["PWCHAR","lpName","in"], ["PBLOB","lpLuid","out"], ]) dll.add_function('MakeAbsoluteSD', 'BOOL',[ ["PBLOB","pSelfRelativeSecurityDescriptor","in"], ["PBLOB","pAbsoluteSecurityDescriptor","out"], ["PDWORD","lpdwAbsoluteSecurityDescriptorSize","inout"], ["PBLOB","pDacl","out"], ["PDWORD","lpdwDaclSize","inout"], ["PBLOB","pSacl","out"], ["PDWORD","lpdwSaclSize","inout"], ["PBLOB","pOwner","out"], ["PDWORD","lpdwOwnerSize","inout"], ["PBLOB","pPrimaryGroup","out"], ["PDWORD","lpdwPrimaryGroupSize","inout"], ]) dll.add_function('MakeAbsoluteSD2', 'BOOL',[ ["PBLOB","pSelfRelativeSecurityDescriptor","inout"], ["PDWORD","lpdwBufferSize","inout"], ]) dll.add_function('MakeSelfRelativeSD', 'BOOL',[ ["PBLOB","pAbsoluteSecurityDescriptor","in"], ["PBLOB","pSelfRelativeSecurityDescriptor","out"], ["PDWORD","lpdwBufferLength","inout"], ]) dll.add_function('MapGenericMask', 'VOID',[ ["PDWORD","AccessMask","inout"], ["PBLOB","GenericMapping","in"], ]) dll.add_function('NotifyChangeEventLog', 'BOOL',[ ["DWORD","hEventLog","in"], ["DWORD","hEvent","in"], ]) dll.add_function('ObjectCloseAuditAlarmA', 'BOOL',[ ["PCHAR","SubsystemName","in"], ["PBLOB","HandleId","in"], ["BOOL","GenerateOnClose","in"], ]) dll.add_function('ObjectCloseAuditAlarmW', 'BOOL',[ ["PWCHAR","SubsystemName","in"], ["PBLOB","HandleId","in"], ["BOOL","GenerateOnClose","in"], ]) dll.add_function('ObjectDeleteAuditAlarmA', 'BOOL',[ ["PCHAR","SubsystemName","in"], ["PBLOB","HandleId","in"], ["BOOL","GenerateOnClose","in"], ]) dll.add_function('ObjectDeleteAuditAlarmW', 'BOOL',[ ["PWCHAR","SubsystemName","in"], ["PBLOB","HandleId","in"], ["BOOL","GenerateOnClose","in"], ]) dll.add_function('ObjectOpenAuditAlarmA', 'BOOL',[ ["PCHAR","SubsystemName","in"], ["PBLOB","HandleId","in"], ["PCHAR","ObjectTypeName","in"], ["PCHAR","ObjectName","in"], ["PBLOB","pSecurityDescriptor","in"], ["DWORD","ClientToken","in"], ["DWORD","DesiredAccess","in"], ["DWORD","GrantedAccess","in"], ["PBLOB","Privileges","in"], ["BOOL","ObjectCreation","in"], ["BOOL","AccessGranted","in"], ["PBLOB","GenerateOnClose","out"], ]) dll.add_function('ObjectOpenAuditAlarmW', 'BOOL',[ ["PWCHAR","SubsystemName","in"], ["PBLOB","HandleId","in"], ["PWCHAR","ObjectTypeName","in"], ["PWCHAR","ObjectName","in"], ["PBLOB","pSecurityDescriptor","in"], ["DWORD","ClientToken","in"], ["DWORD","DesiredAccess","in"], ["DWORD","GrantedAccess","in"], ["PBLOB","Privileges","in"], ["BOOL","ObjectCreation","in"], ["BOOL","AccessGranted","in"], ["PBLOB","GenerateOnClose","out"], ]) dll.add_function('ObjectPrivilegeAuditAlarmA', 'BOOL',[ ["PCHAR","SubsystemName","in"], ["PBLOB","HandleId","in"], ["DWORD","ClientToken","in"], ["DWORD","DesiredAccess","in"], ["PBLOB","Privileges","in"], ["BOOL","AccessGranted","in"], ]) dll.add_function('ObjectPrivilegeAuditAlarmW', 'BOOL',[ ["PWCHAR","SubsystemName","in"], ["PBLOB","HandleId","in"], ["DWORD","ClientToken","in"], ["DWORD","DesiredAccess","in"], ["PBLOB","Privileges","in"], ["BOOL","AccessGranted","in"], ]) dll.add_function('OpenBackupEventLogA', 'DWORD',[ ["PCHAR","lpUNCServerName","in"], ["PCHAR","lpFileName","in"], ]) dll.add_function('OpenBackupEventLogW', 'DWORD',[ ["PWCHAR","lpUNCServerName","in"], ["PWCHAR","lpFileName","in"], ]) dll.add_function('OpenEncryptedFileRawA', 'DWORD',[ ["PCHAR","lpFileName","in"], ["DWORD","ulFlags","in"], ["PBLOB","pvContext","out"], ]) dll.add_function('OpenEncryptedFileRawW', 'DWORD',[ ["PWCHAR","lpFileName","in"], ["DWORD","ulFlags","in"], ["PBLOB","pvContext","out"], ]) dll.add_function('OpenEventLogA', 'DWORD',[ ["PCHAR","lpUNCServerName","in"], ["PCHAR","lpSourceName","in"], ]) dll.add_function('OpenEventLogW', 'DWORD',[ ["PWCHAR","lpUNCServerName","in"], ["PWCHAR","lpSourceName","in"], ]) dll.add_function('OpenProcessToken', 'BOOL',[ ["DWORD","ProcessHandle","in"], ["DWORD","DesiredAccess","in"], ["PDWORD","TokenHandle","out"], ]) dll.add_function('OpenThreadToken', 'BOOL',[ ["DWORD","ThreadHandle","in"], ["DWORD","DesiredAccess","in"], ["BOOL","OpenAsSelf","in"], ["PDWORD","TokenHandle","out"], ]) dll.add_function('PrivilegeCheck', 'BOOL',[ ["DWORD","ClientToken","in"], ["PBLOB","RequiredPrivileges","inout"], ["PBLOB","pfResult","out"], ]) dll.add_function('PrivilegedServiceAuditAlarmA', 'BOOL',[ ["PCHAR","SubsystemName","in"], ["PCHAR","ServiceName","in"], ["DWORD","ClientToken","in"], ["PBLOB","Privileges","in"], ["BOOL","AccessGranted","in"], ]) dll.add_function('PrivilegedServiceAuditAlarmW', 'BOOL',[ ["PWCHAR","SubsystemName","in"], ["PWCHAR","ServiceName","in"], ["DWORD","ClientToken","in"], ["PBLOB","Privileges","in"], ["BOOL","AccessGranted","in"], ]) dll.add_function('ReadEncryptedFileRaw', 'DWORD',[ ["PBLOB","pfExportCallback","in"], ["PBLOB","pvCallbackContext","in"], ["PBLOB","pvContext","in"], ]) dll.add_function('ReadEventLogA', 'BOOL',[ ["DWORD","hEventLog","in"], ["DWORD","dwReadFlags","in"], ["DWORD","dwRecordOffset","in"], ["PBLOB","lpBuffer","out"], ["DWORD","nNumberOfBytesToRead","in"], ["PDWORD","pnBytesRead","out"], ["PDWORD","pnMinNumberOfBytesNeeded","out"], ]) dll.add_function('ReadEventLogW', 'BOOL',[ ["DWORD","hEventLog","in"], ["DWORD","dwReadFlags","in"], ["DWORD","dwRecordOffset","in"], ["PBLOB","lpBuffer","out"], ["DWORD","nNumberOfBytesToRead","in"], ["PDWORD","pnBytesRead","out"], ["PDWORD","pnMinNumberOfBytesNeeded","out"], ]) dll.add_function('RegisterEventSourceA', 'DWORD',[ ["PCHAR","lpUNCServerName","in"], ["PCHAR","lpSourceName","in"], ]) dll.add_function('RegisterEventSourceW', 'DWORD',[ ["PWCHAR","lpUNCServerName","in"], ["PWCHAR","lpSourceName","in"], ]) dll.add_function('ReportEventA', 'BOOL',[ ["DWORD","hEventLog","in"], ["WORD","wType","in"], ["WORD","wCategory","in"], ["DWORD","dwEventID","in"], ["LPVOID","lpUserSid","in"], ["WORD","wNumStrings","in"], ["DWORD","dwDataSize","in"], ["PBLOB","lpStrings","in"], ["PBLOB","lpRawData","in"], ]) dll.add_function('ReportEventW', 'BOOL',[ ["DWORD","hEventLog","in"], ["WORD","wType","in"], ["WORD","wCategory","in"], ["DWORD","dwEventID","in"], ["LPVOID","lpUserSid","in"], ["WORD","wNumStrings","in"], ["DWORD","dwDataSize","in"], ["PBLOB","lpStrings","in"], ["PBLOB","lpRawData","in"], ]) dll.add_function('RevertToSelf', 'BOOL',[ ]) dll.add_function('SetAclInformation', 'BOOL',[ ["PBLOB","pAcl","inout"], ["PBLOB","pAclInformation","in"], ["DWORD","nAclInformationLength","in"], ["DWORD","dwAclInformationClass","in"], ]) dll.add_function('SetFileSecurityA', 'BOOL',[ ["PCHAR","lpFileName","in"], ["PBLOB","SecurityInformation","in"], ["PBLOB","pSecurityDescriptor","in"], ]) dll.add_function('SetFileSecurityW', 'BOOL',[ ["PWCHAR","lpFileName","in"], ["PBLOB","SecurityInformation","in"], ["PBLOB","pSecurityDescriptor","in"], ]) dll.add_function('SetKernelObjectSecurity', 'BOOL',[ ["DWORD","Handle","in"], ["PBLOB","SecurityInformation","in"], ["PBLOB","SecurityDescriptor","in"], ]) dll.add_function('SetPrivateObjectSecurity', 'BOOL',[ ["PBLOB","SecurityInformation","in"], ["PBLOB","ModificationDescriptor","in"], ["PBLOB","ObjectsSecurityDescriptor","inout"], ["PBLOB","GenericMapping","in"], ["DWORD","Token","in"], ]) dll.add_function('SetPrivateObjectSecurityEx', 'BOOL',[ ["PBLOB","SecurityInformation","in"], ["PBLOB","ModificationDescriptor","in"], ["PBLOB","ObjectsSecurityDescriptor","inout"], ["DWORD","AutoInheritFlags","in"], ["PBLOB","GenericMapping","in"], ["DWORD","Token","in"], ]) dll.add_function('SetSecurityDescriptorControl', 'BOOL',[ ["PBLOB","pSecurityDescriptor","in"], ["WORD","ControlBitsOfInterest","in"], ["WORD","ControlBitsToSet","in"], ]) dll.add_function('SetSecurityDescriptorDacl', 'BOOL',[ ["PBLOB","pSecurityDescriptor","inout"], ["BOOL","bDaclPresent","in"], ["PBLOB","pDacl","in"], ["BOOL","bDaclDefaulted","in"], ]) dll.add_function('SetSecurityDescriptorGroup', 'BOOL',[ ["PBLOB","pSecurityDescriptor","inout"], ["PBLOB","pGroup","in"], ["BOOL","bGroupDefaulted","in"], ]) dll.add_function('SetSecurityDescriptorOwner', 'BOOL',[ ["PBLOB","pSecurityDescriptor","inout"], ["PBLOB","pOwner","in"], ["BOOL","bOwnerDefaulted","in"], ]) dll.add_function('SetSecurityDescriptorRMControl', 'DWORD',[ ["PBLOB","SecurityDescriptor","inout"], ["PBLOB","RMControl","in"], ]) dll.add_function('SetSecurityDescriptorSacl', 'BOOL',[ ["PBLOB","pSecurityDescriptor","inout"], ["BOOL","bSaclPresent","in"], ["PBLOB","pSacl","in"], ["BOOL","bSaclDefaulted","in"], ]) dll.add_function('SetThreadToken', 'BOOL',[ ["PDWORD","Thread","in"], ["DWORD","Token","in"], ]) dll.add_function('SetTokenInformation', 'BOOL',[ ["DWORD","TokenHandle","in"], ["DWORD","TokenInformationClass","in"], ["PBLOB","TokenInformation","in"], ["DWORD","TokenInformationLength","in"], ]) dll.add_function('WriteEncryptedFileRaw', 'DWORD',[ ["PBLOB","pfImportCallback","in"], ["PBLOB","pvCallbackContext","in"], ["PBLOB","pvContext","in"], ]) return dll end end end; end; end; end; end; end; end