Added LoadLibraryEx[AW] + FreeLibrary to winproxy

This commit is contained in:
hakril
2018-11-27 14:38:29 +01:00
parent 5df8cc96dc
commit 6c4a5f7d65
8 changed files with 3242 additions and 3175 deletions
@@ -463,6 +463,22 @@ HMODULE WINAPI LoadLibraryW(
__in LPCWSTR lpFileName
);
HMODULE LoadLibraryExA(
LPCSTR lpLibFileName,
HANDLE hFile,
DWORD dwFlags
);
HMODULE LoadLibraryExW(
LPCWSTR lpLibFileName,
HANDLE hFile,
DWORD dwFlags
);
BOOL FreeLibrary(
HMODULE hLibModule
);
BOOL WINAPI OpenProcessToken(
_In_ HANDLE ProcessHandle,
_In_ DWORD DesiredAccess,
@@ -1,3 +1,54 @@
typedef enum _TOKEN_INFORMATION_CLASS {
TokenInvalid,
TokenUser,
TokenGroups,
TokenPrivileges,
TokenOwner,
TokenPrimaryGroup,
TokenDefaultDacl,
TokenSource,
TokenType,
TokenImpersonationLevel,
TokenStatistics,
TokenRestrictedSids,
TokenSessionId,
TokenGroupsAndPrivileges,
TokenSessionReference,
TokenSandBoxInert,
TokenAuditPolicy,
TokenOrigin,
TokenElevationType,
TokenLinkedToken,
TokenElevation,
TokenHasRestrictions,
TokenAccessInformation,
TokenVirtualizationAllowed,
TokenVirtualizationEnabled,
TokenIntegrityLevel,
TokenUIAccess,
TokenMandatoryPolicy,
TokenLogonSid,
TokenIsAppContainer,
TokenCapabilities,
TokenAppContainerSid,
TokenAppContainerNumber,
TokenUserClaimAttributes,
TokenDeviceClaimAttributes,
TokenRestrictedUserClaimAttributes,
TokenRestrictedDeviceClaimAttributes,
TokenDeviceGroups,
TokenRestrictedDeviceGroups,
TokenSecurityAttributes,
TokenIsRestricted,
TokenProcessTrustLevel,
TokenPrivateNameSpace,
TokenSingletonAttributes,
TokenBnoIsolation,
TokenChildProcessFlags,
MaxTokenInfoClass
} TOKEN_INFORMATION_CLASS, *PTOKEN_INFORMATION_CLASS;
typedef enum _TOKEN_ELEVATION_TYPE {
TokenElevationTypeDefault = 1,
TokenElevationTypeFull = 2,
@@ -590,50 +590,7 @@ typedef enum NET_FW_IP_PROTOCOL_ {
NET_FW_IP_PROTOCOL_ANY = 256
} NET_FW_IP_PROTOCOL;
typedef enum _TOKEN_INFORMATION_CLASS {
TokenInvalid,
TokenUser,
TokenGroups,
TokenPrivileges,
TokenOwner,
TokenPrimaryGroup,
TokenDefaultDacl,
TokenSource,
TokenType,
TokenImpersonationLevel,
TokenStatistics,
TokenRestrictedSids,
TokenSessionId,
TokenGroupsAndPrivileges,
TokenSessionReference,
TokenSandBoxInert,
TokenAuditPolicy,
TokenOrigin,
TokenElevationType,
TokenLinkedToken,
TokenElevation,
TokenHasRestrictions,
TokenAccessInformation,
TokenVirtualizationAllowed,
TokenVirtualizationEnabled,
TokenIntegrityLevel,
TokenUIAccess,
TokenMandatoryPolicy,
TokenLogonSid,
TokenIsAppContainer,
TokenCapabilities,
TokenAppContainerSid,
TokenAppContainerNumber,
TokenUserClaimAttributes,
TokenDeviceClaimAttributes,
TokenRestrictedUserClaimAttributes,
TokenRestrictedDeviceClaimAttributes,
TokenDeviceGroups,
TokenRestrictedDeviceGroups,
TokenSecurityAttributes,
TokenIsRestricted,
MaxTokenInfoClass,
} TOKEN_INFORMATION_CLASS, *PTOKEN_INFORMATION_CLASS;
typedef enum tagTOKEN_TYPE {
TokenPrimary = 1,
@@ -749,6 +706,10 @@ typedef enum _SE_OBJECT_TYPE {
SE_REGISTRY_WOW64_32KEY = 12,
} SE_OBJECT_TYPE;
typedef enum _SECTION_INHERIT {
ViewShare = 1,
ViewUnmap = 2
} SECTION_INHERIT;
typedef struct _CLIENT_ID{
HANDLE UniqueProcess;
File diff suppressed because one or more lines are too long
+37 -37
View File
@@ -1703,43 +1703,6 @@ RPC_RESPONSE_TYPE_SUCCESS = make_flag("RPC_RESPONSE_TYPE_SUCCESS", 3)
BIND_IF_SYNTAX_NDR32 = make_flag("BIND_IF_SYNTAX_NDR32", 1)
BIND_IF_SYNTAX_NDR64 = make_flag("BIND_IF_SYNTAX_NDR64", 2)
BIND_IF_SYNTAX_UNKNOWN = make_flag("BIND_IF_SYNTAX_UNKNOWN", 4)
IMAGE_DLLCHARACTERISTICS_HIGH_ENTROPY_VA = make_flag("IMAGE_DLLCHARACTERISTICS_HIGH_ENTROPY_VA", 0x0020)
IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE = make_flag("IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE", 0x0040)
IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY = make_flag("IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY", 0x0080)
IMAGE_DLLCHARACTERISTICS_NX_COMPAT = make_flag("IMAGE_DLLCHARACTERISTICS_NX_COMPAT", 0x0100)
IMAGE_DLLCHARACTERISTICS_NO_ISOLATION = make_flag("IMAGE_DLLCHARACTERISTICS_NO_ISOLATION", 0x0200)
IMAGE_DLLCHARACTERISTICS_NO_SEH = make_flag("IMAGE_DLLCHARACTERISTICS_NO_SEH", 0x0400)
IMAGE_DLLCHARACTERISTICS_NO_BIND = make_flag("IMAGE_DLLCHARACTERISTICS_NO_BIND", 0x0800)
IMAGE_DLLCHARACTERISTICS_APPCONTAINER = make_flag("IMAGE_DLLCHARACTERISTICS_APPCONTAINER", 0x1000)
IMAGE_DLLCHARACTERISTICS_WDM_DRIVER = make_flag("IMAGE_DLLCHARACTERISTICS_WDM_DRIVER", 0x2000)
IMAGE_DLLCHARACTERISTICS_GUARD_CF = make_flag("IMAGE_DLLCHARACTERISTICS_GUARD_CF", 0x4000)
IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE = make_flag("IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE", 0x8000)
IMAGE_DIRECTORY_ENTRY_EXPORT = make_flag("IMAGE_DIRECTORY_ENTRY_EXPORT", 0)
IMAGE_DIRECTORY_ENTRY_IMPORT = make_flag("IMAGE_DIRECTORY_ENTRY_IMPORT", 1)
IMAGE_DIRECTORY_ENTRY_RESOURCE = make_flag("IMAGE_DIRECTORY_ENTRY_RESOURCE", 2)
IMAGE_DIRECTORY_ENTRY_EXCEPTION = make_flag("IMAGE_DIRECTORY_ENTRY_EXCEPTION", 3)
IMAGE_DIRECTORY_ENTRY_SECURITY = make_flag("IMAGE_DIRECTORY_ENTRY_SECURITY", 4)
IMAGE_DIRECTORY_ENTRY_BASERELOC = make_flag("IMAGE_DIRECTORY_ENTRY_BASERELOC", 5)
IMAGE_DIRECTORY_ENTRY_DEBUG = make_flag("IMAGE_DIRECTORY_ENTRY_DEBUG", 6)
IMAGE_DIRECTORY_ENTRY_ARCHITECTURE = make_flag("IMAGE_DIRECTORY_ENTRY_ARCHITECTURE", 7)
IMAGE_DIRECTORY_ENTRY_GLOBALPTR = make_flag("IMAGE_DIRECTORY_ENTRY_GLOBALPTR", 8)
IMAGE_DIRECTORY_ENTRY_TLS = make_flag("IMAGE_DIRECTORY_ENTRY_TLS", 9)
IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG = make_flag("IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG", 10)
IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT = make_flag("IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT", 11)
IMAGE_DIRECTORY_ENTRY_IAT = make_flag("IMAGE_DIRECTORY_ENTRY_IAT", 12)
IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT = make_flag("IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT", 13)
IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR = make_flag("IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR", 14)
IMAGE_REL_BASED_ABSOLUTE = make_flag("IMAGE_REL_BASED_ABSOLUTE", 0)
IMAGE_REL_BASED_HIGH = make_flag("IMAGE_REL_BASED_HIGH", 1)
IMAGE_REL_BASED_LOW = make_flag("IMAGE_REL_BASED_LOW", 2)
IMAGE_REL_BASED_HIGHLOW = make_flag("IMAGE_REL_BASED_HIGHLOW", 3)
IMAGE_REL_BASED_HIGHADJ = make_flag("IMAGE_REL_BASED_HIGHADJ", 4)
IMAGE_REL_BASED_MACHINE_SPECIFIC_5 = make_flag("IMAGE_REL_BASED_MACHINE_SPECIFIC_5", 5)
IMAGE_REL_BASED_RESERVED = make_flag("IMAGE_REL_BASED_RESERVED", 6)
IMAGE_REL_BASED_MACHINE_SPECIFIC_7 = make_flag("IMAGE_REL_BASED_MACHINE_SPECIFIC_7", 7)
IMAGE_REL_BASED_MACHINE_SPECIFIC_8 = make_flag("IMAGE_REL_BASED_MACHINE_SPECIFIC_8", 8)
IMAGE_REL_BASED_MACHINE_SPECIFIC_9 = make_flag("IMAGE_REL_BASED_MACHINE_SPECIFIC_9", 9)
IMAGE_REL_BASED_DIR64 = make_flag("IMAGE_REL_BASED_DIR64", 10)
SERVICE_TRIGGER_TYPE_DEVICE_INTERFACE_ARRIVAL = make_flag("SERVICE_TRIGGER_TYPE_DEVICE_INTERFACE_ARRIVAL", 1)
SERVICE_TRIGGER_TYPE_IP_ADDRESS_AVAILABILITY = make_flag("SERVICE_TRIGGER_TYPE_IP_ADDRESS_AVAILABILITY", 2)
SERVICE_TRIGGER_TYPE_DOMAIN_JOIN = make_flag("SERVICE_TRIGGER_TYPE_DOMAIN_JOIN", 3)
@@ -1875,6 +1838,43 @@ OS_TABLETPC = make_flag("OS_TABLETPC", 33)
OS_SERVERADMINUI = make_flag("OS_SERVERADMINUI", 34)
OS_MEDIACENTER = make_flag("OS_MEDIACENTER", 35)
OS_APPLIANCE = make_flag("OS_APPLIANCE", 36)
IMAGE_DLLCHARACTERISTICS_HIGH_ENTROPY_VA = make_flag("IMAGE_DLLCHARACTERISTICS_HIGH_ENTROPY_VA", 0x0020)
IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE = make_flag("IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE", 0x0040)
IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY = make_flag("IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY", 0x0080)
IMAGE_DLLCHARACTERISTICS_NX_COMPAT = make_flag("IMAGE_DLLCHARACTERISTICS_NX_COMPAT", 0x0100)
IMAGE_DLLCHARACTERISTICS_NO_ISOLATION = make_flag("IMAGE_DLLCHARACTERISTICS_NO_ISOLATION", 0x0200)
IMAGE_DLLCHARACTERISTICS_NO_SEH = make_flag("IMAGE_DLLCHARACTERISTICS_NO_SEH", 0x0400)
IMAGE_DLLCHARACTERISTICS_NO_BIND = make_flag("IMAGE_DLLCHARACTERISTICS_NO_BIND", 0x0800)
IMAGE_DLLCHARACTERISTICS_APPCONTAINER = make_flag("IMAGE_DLLCHARACTERISTICS_APPCONTAINER", 0x1000)
IMAGE_DLLCHARACTERISTICS_WDM_DRIVER = make_flag("IMAGE_DLLCHARACTERISTICS_WDM_DRIVER", 0x2000)
IMAGE_DLLCHARACTERISTICS_GUARD_CF = make_flag("IMAGE_DLLCHARACTERISTICS_GUARD_CF", 0x4000)
IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE = make_flag("IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE", 0x8000)
IMAGE_DIRECTORY_ENTRY_EXPORT = make_flag("IMAGE_DIRECTORY_ENTRY_EXPORT", 0)
IMAGE_DIRECTORY_ENTRY_IMPORT = make_flag("IMAGE_DIRECTORY_ENTRY_IMPORT", 1)
IMAGE_DIRECTORY_ENTRY_RESOURCE = make_flag("IMAGE_DIRECTORY_ENTRY_RESOURCE", 2)
IMAGE_DIRECTORY_ENTRY_EXCEPTION = make_flag("IMAGE_DIRECTORY_ENTRY_EXCEPTION", 3)
IMAGE_DIRECTORY_ENTRY_SECURITY = make_flag("IMAGE_DIRECTORY_ENTRY_SECURITY", 4)
IMAGE_DIRECTORY_ENTRY_BASERELOC = make_flag("IMAGE_DIRECTORY_ENTRY_BASERELOC", 5)
IMAGE_DIRECTORY_ENTRY_DEBUG = make_flag("IMAGE_DIRECTORY_ENTRY_DEBUG", 6)
IMAGE_DIRECTORY_ENTRY_ARCHITECTURE = make_flag("IMAGE_DIRECTORY_ENTRY_ARCHITECTURE", 7)
IMAGE_DIRECTORY_ENTRY_GLOBALPTR = make_flag("IMAGE_DIRECTORY_ENTRY_GLOBALPTR", 8)
IMAGE_DIRECTORY_ENTRY_TLS = make_flag("IMAGE_DIRECTORY_ENTRY_TLS", 9)
IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG = make_flag("IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG", 10)
IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT = make_flag("IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT", 11)
IMAGE_DIRECTORY_ENTRY_IAT = make_flag("IMAGE_DIRECTORY_ENTRY_IAT", 12)
IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT = make_flag("IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT", 13)
IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR = make_flag("IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR", 14)
IMAGE_REL_BASED_ABSOLUTE = make_flag("IMAGE_REL_BASED_ABSOLUTE", 0)
IMAGE_REL_BASED_HIGH = make_flag("IMAGE_REL_BASED_HIGH", 1)
IMAGE_REL_BASED_LOW = make_flag("IMAGE_REL_BASED_LOW", 2)
IMAGE_REL_BASED_HIGHLOW = make_flag("IMAGE_REL_BASED_HIGHLOW", 3)
IMAGE_REL_BASED_HIGHADJ = make_flag("IMAGE_REL_BASED_HIGHADJ", 4)
IMAGE_REL_BASED_MACHINE_SPECIFIC_5 = make_flag("IMAGE_REL_BASED_MACHINE_SPECIFIC_5", 5)
IMAGE_REL_BASED_RESERVED = make_flag("IMAGE_REL_BASED_RESERVED", 6)
IMAGE_REL_BASED_MACHINE_SPECIFIC_7 = make_flag("IMAGE_REL_BASED_MACHINE_SPECIFIC_7", 7)
IMAGE_REL_BASED_MACHINE_SPECIFIC_8 = make_flag("IMAGE_REL_BASED_MACHINE_SPECIFIC_8", 8)
IMAGE_REL_BASED_MACHINE_SPECIFIC_9 = make_flag("IMAGE_REL_BASED_MACHINE_SPECIFIC_9", 9)
IMAGE_REL_BASED_DIR64 = make_flag("IMAGE_REL_BASED_DIR64", 10)
CERT_QUERY_OBJECT_FILE = make_flag("CERT_QUERY_OBJECT_FILE", 0x00000001)
CERT_QUERY_OBJECT_BLOB = make_flag("CERT_QUERY_OBJECT_BLOB", 0x00000002)
CERT_QUERY_CONTENT_CERT = make_flag("CERT_QUERY_CONTENT_CERT", 1)
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
+12
View File
@@ -313,6 +313,18 @@ def LoadLibraryA(lpFileName):
def LoadLibraryW(lpFileName):
return LoadLibraryW.ctypes_function(lpFileName)
@Kernel32Proxy()
def LoadLibraryExA(lpLibFileName, hFile, dwFlags):
return LoadLibraryExA.ctypes_function(lpLibFileName, hFile, dwFlags)
@Kernel32Proxy()
def LoadLibraryExW(lpLibFileName, hFile, dwFlags):
return LoadLibraryExW.ctypes_function(lpLibFileName, hFile, dwFlags)
@Kernel32Proxy()
def FreeLibrary(hLibModule):
return FreeLibrary.ctypes_function(hLibModule)
## Version
@Kernel32Proxy()