mirror of
https://github.com/hakril/PythonForWindows
synced 2026-06-08 14:31:45 +00:00
More winproxy functions
This commit is contained in:
@@ -43,6 +43,7 @@ TYPE_EQUIVALENCE = [
|
||||
('PLARGE_INTEGER', 'POINTER(LARGE_INTEGER)'),
|
||||
('DWORD64', 'ULONG64'),
|
||||
('PULONG64', 'POINTER(ULONG64)'),
|
||||
('PUINT', 'POINTER(UINT)'),
|
||||
('PHANDLE', 'POINTER(HANDLE)'),
|
||||
('HKEY', 'HANDLE'),
|
||||
('HCATADMIN', 'HANDLE'),
|
||||
|
||||
@@ -765,3 +765,106 @@
|
||||
|
||||
#define DUPLICATE_CLOSE_SOURCE 0x00000001
|
||||
#define DUPLICATE_SAME_ACCESS 0x00000002
|
||||
|
||||
#define VER_NT_WORKSTATION 0x0000001
|
||||
#define VER_NT_DOMAIN_CONTROLLER 0x0000002
|
||||
#define VER_NT_SERVER 0x0000003
|
||||
|
||||
#define SM_CXSCREEN 0
|
||||
#define SM_CYSCREEN 1
|
||||
#define SM_CXVSCROLL 2
|
||||
#define SM_CYHSCROLL 3
|
||||
#define SM_CYCAPTION 4
|
||||
#define SM_CXBORDER 5
|
||||
#define SM_CYBORDER 6
|
||||
#define SM_CXDLGFRAME 7
|
||||
#define SM_CYDLGFRAME 8
|
||||
#define SM_CYVTHUMB 9
|
||||
#define SM_CXHTHUMB 10
|
||||
#define SM_CXICON 11
|
||||
#define SM_CYICON 12
|
||||
#define SM_CXCURSOR 13
|
||||
#define SM_CYCURSOR 14
|
||||
#define SM_CYMENU 15
|
||||
#define SM_CXFULLSCREEN 16
|
||||
#define SM_CYFULLSCREEN 17
|
||||
#define SM_CYKANJIWINDOW 18
|
||||
#define SM_MOUSEPRESENT 19
|
||||
#define SM_CYVSCROLL 20
|
||||
#define SM_CXHSCROLL 21
|
||||
#define SM_DEBUG 22
|
||||
#define SM_SWAPBUTTON 23
|
||||
#define SM_RESERVED1 24
|
||||
#define SM_RESERVED2 25
|
||||
#define SM_RESERVED3 26
|
||||
#define SM_RESERVED4 27
|
||||
#define SM_CXMIN 28
|
||||
#define SM_CYMIN 29
|
||||
#define SM_CXSIZE 30
|
||||
#define SM_CYSIZE 31
|
||||
#define SM_CXFRAME 32
|
||||
#define SM_CYFRAME 33
|
||||
#define SM_CXMINTRACK 34
|
||||
#define SM_CYMINTRACK 35
|
||||
#define SM_CXDOUBLECLK 36
|
||||
#define SM_CYDOUBLECLK 37
|
||||
#define SM_CXICONSPACING 38
|
||||
#define SM_CYICONSPACING 39
|
||||
#define SM_MENUDROPALIGNMENT 40
|
||||
#define SM_PENWINDOWS 41
|
||||
#define SM_DBCSENABLED 42
|
||||
#define SM_CMOUSEBUTTONS 43
|
||||
#define SM_CXFIXEDFRAME SM_CXDLGFRAME
|
||||
#define SM_CYFIXEDFRAME SM_CYDLGFRAME
|
||||
#define SM_CXSIZEFRAME SM_CXFRAME
|
||||
#define SM_CYSIZEFRAME SM_CYFRAME
|
||||
#define SM_SECURE 44
|
||||
#define SM_CXEDGE 45
|
||||
#define SM_CYEDGE 46
|
||||
#define SM_CXMINSPACING 47
|
||||
#define SM_CYMINSPACING 48
|
||||
#define SM_CXSMICON 49
|
||||
#define SM_CYSMICON 50
|
||||
#define SM_CYSMCAPTION 51
|
||||
#define SM_CXSMSIZE 52
|
||||
#define SM_CYSMSIZE 53
|
||||
#define SM_CXMENUSIZE 54
|
||||
#define SM_CYMENUSIZE 55
|
||||
#define SM_ARRANGE 56
|
||||
#define SM_CXMINIMIZED 57
|
||||
#define SM_CYMINIMIZED 58
|
||||
#define SM_CXMAXTRACK 59
|
||||
#define SM_CYMAXTRACK 60
|
||||
#define SM_CXMAXIMIZED 61
|
||||
#define SM_CYMAXIMIZED 62
|
||||
#define SM_NETWORK 63
|
||||
#define SM_CLEANBOOT 67
|
||||
#define SM_CXDRAG 68
|
||||
#define SM_CYDRAG 69
|
||||
#define SM_SHOWSOUNDS 70
|
||||
#define SM_CXMENUCHECK 71
|
||||
#define SM_CYMENUCHECK 72
|
||||
#define SM_SLOWMACHINE 73
|
||||
#define SM_MIDEASTENABLED 74
|
||||
#define SM_MOUSEWHEELPRESENT 75
|
||||
#define SM_XVIRTUALSCREEN 76
|
||||
#define SM_YVIRTUALSCREEN 77
|
||||
#define SM_CXVIRTUALSCREEN 78
|
||||
#define SM_CYVIRTUALSCREEN 79
|
||||
#define SM_CMONITORS 80
|
||||
#define SM_SAMEDISPLAYFORMAT 81
|
||||
#define SM_IMMENABLED 82
|
||||
#define SM_CXFOCUSBORDER 83
|
||||
#define SM_CYFOCUSBORDER 84
|
||||
#define SM_TABLETPC 86
|
||||
#define SM_MEDIACENTER 87
|
||||
#define SM_STARTER 88
|
||||
#define SM_SERVERR2 89
|
||||
#define SM_MOUSEHORIZONTALWHEELPRESENT 91
|
||||
#define SM_CXPADDEDBORDER 92
|
||||
#define SM_DIGITIZER 94
|
||||
#define SM_MAXIMUMTOUCHES 95
|
||||
#define SM_REMOTESESSION 0x1000
|
||||
#define SM_SHUTTINGDOWN 0x2000
|
||||
#define SM_REMOTECONTROL 0x2001
|
||||
#define SM_CARETBLINKINGENABLED 0x2002
|
||||
@@ -1083,4 +1083,76 @@ DWORD WINAPI GetProcessImageFileNameW(
|
||||
_In_ HANDLE hProcess,
|
||||
_Out_ LPWSTR lpImageFileName,
|
||||
_In_ DWORD nSize
|
||||
);
|
||||
|
||||
BOOL WINAPI GetFileVersionInfoA(
|
||||
_In_ LPCSTR lptstrFilename,
|
||||
_Reserved_ DWORD dwHandle,
|
||||
_In_ DWORD dwLen,
|
||||
_Out_ LPVOID lpData
|
||||
);
|
||||
|
||||
BOOL WINAPI GetFileVersionInfoW(
|
||||
_In_ LPWSTR lptstrFilename,
|
||||
_Reserved_ DWORD dwHandle,
|
||||
_In_ DWORD dwLen,
|
||||
_Out_ LPVOID lpData
|
||||
);
|
||||
|
||||
DWORD WINAPI GetFileVersionInfoSizeA(
|
||||
_In_ LPCSTR lptstrFilename,
|
||||
_Out_opt_ LPDWORD lpdwHandle
|
||||
);
|
||||
|
||||
DWORD WINAPI GetFileVersionInfoSizeW(
|
||||
_In_ LPWSTR lptstrFilename,
|
||||
_Out_opt_ LPDWORD lpdwHandle
|
||||
);
|
||||
|
||||
BOOL WINAPI VerQueryValueA(
|
||||
_In_ LPCVOID pBlock,
|
||||
_In_ LPCSTR lpSubBlock,
|
||||
_Out_ LPVOID *lplpBuffer,
|
||||
_Out_ PUINT puLen
|
||||
);
|
||||
|
||||
BOOL WINAPI VerQueryValueW(
|
||||
_In_ LPCVOID pBlock,
|
||||
_In_ LPWSTR lpSubBlock,
|
||||
_Out_ LPVOID *lplpBuffer,
|
||||
_Out_ PUINT puLen
|
||||
);
|
||||
|
||||
INT WINAPI GetSystemMetrics(
|
||||
_In_ INT nIndex
|
||||
);
|
||||
|
||||
BOOL WINAPI GetComputerNameA(
|
||||
_Out_ LPCSTR lpBuffer,
|
||||
_Inout_ LPDWORD lpnSize
|
||||
);
|
||||
|
||||
BOOL WINAPI GetComputerNameW(
|
||||
_Out_ LPWSTR lpBuffer,
|
||||
_Inout_ LPDWORD lpnSize
|
||||
);
|
||||
|
||||
BOOL WINAPI LookupAccountSidA(
|
||||
_In_opt_ LPCSTR lpSystemName,
|
||||
_In_ PSID lpSid,
|
||||
_Out_opt_ LPCSTR lpName,
|
||||
_Inout_ LPDWORD cchName,
|
||||
_Out_opt_ LPCSTR lpReferencedDomainName,
|
||||
_Inout_ LPDWORD cchReferencedDomainName,
|
||||
_Out_ PSID_NAME_USE peUse
|
||||
);
|
||||
|
||||
BOOL WINAPI LookupAccountSidW(
|
||||
_In_opt_ LPWSTR lpSystemName,
|
||||
_In_ PSID lpSid,
|
||||
_Out_opt_ LPWSTR lpName,
|
||||
_Inout_ LPDWORD cchName,
|
||||
_Out_opt_ LPWSTR lpReferencedDomainName,
|
||||
_Inout_ LPDWORD cchReferencedDomainName,
|
||||
_Out_ PSID_NAME_USE peUse
|
||||
);
|
||||
@@ -350,6 +350,18 @@ typedef enum _OBJECT_INFORMATION_CLASS {
|
||||
ObjectTypeInformation = 2
|
||||
} OBJECT_INFORMATION_CLASS;
|
||||
|
||||
typedef enum _SID_NAME_USE {
|
||||
SidTypeUser = 1,
|
||||
SidTypeGroup = 2,
|
||||
SidTypeDomain = 3,
|
||||
SidTypeAlias = 4,
|
||||
SidTypeWellKnownGroup = 5,
|
||||
SidTypeDeletedAccount = 6,
|
||||
SidTypeInvalid = 7,
|
||||
SidTypeUnknown = 8,
|
||||
SidTypeComputer = 9,
|
||||
SidTypeLabel = 10
|
||||
} SID_NAME_USE, *PSID_NAME_USE;
|
||||
|
||||
typedef struct _LDR_DATA_TABLE_ENTRY {
|
||||
PVOID Reserved1[2];
|
||||
@@ -831,6 +843,11 @@ typedef struct _TOKEN_MANDATORY_LABEL {
|
||||
} TOKEN_MANDATORY_LABEL, *PTOKEN_MANDATORY_LABEL;
|
||||
|
||||
|
||||
typedef struct _TOKEN_USER {
|
||||
SID_AND_ATTRIBUTES User;
|
||||
} TOKEN_USER, *PTOKEN_USER;
|
||||
|
||||
|
||||
|
||||
typedef struct _OSVERSIONINFOA {
|
||||
DWORD dwOSVersionInfoSize;
|
||||
|
||||
@@ -2475,4 +2475,105 @@ DRIVE_REMOTE = Flag("DRIVE_REMOTE", 4)
|
||||
DRIVE_CDROM = Flag("DRIVE_CDROM", 5)
|
||||
DRIVE_RAMDISK = Flag("DRIVE_RAMDISK", 6)
|
||||
DUPLICATE_CLOSE_SOURCE = Flag("DUPLICATE_CLOSE_SOURCE", 0x00000001)
|
||||
DUPLICATE_SAME_ACCESS = Flag("DUPLICATE_SAME_ACCESS", 0x00000002)
|
||||
DUPLICATE_SAME_ACCESS = Flag("DUPLICATE_SAME_ACCESS", 0x00000002)
|
||||
VER_NT_WORKSTATION = Flag("VER_NT_WORKSTATION", 0x0000001)
|
||||
VER_NT_DOMAIN_CONTROLLER = Flag("VER_NT_DOMAIN_CONTROLLER", 0x0000002)
|
||||
VER_NT_SERVER = Flag("VER_NT_SERVER", 0x0000003)
|
||||
SM_CXSCREEN = Flag("SM_CXSCREEN", 0)
|
||||
SM_CYSCREEN = Flag("SM_CYSCREEN", 1)
|
||||
SM_CXVSCROLL = Flag("SM_CXVSCROLL", 2)
|
||||
SM_CYHSCROLL = Flag("SM_CYHSCROLL", 3)
|
||||
SM_CYCAPTION = Flag("SM_CYCAPTION", 4)
|
||||
SM_CXBORDER = Flag("SM_CXBORDER", 5)
|
||||
SM_CYBORDER = Flag("SM_CYBORDER", 6)
|
||||
SM_CXDLGFRAME = Flag("SM_CXDLGFRAME", 7)
|
||||
SM_CYDLGFRAME = Flag("SM_CYDLGFRAME", 8)
|
||||
SM_CYVTHUMB = Flag("SM_CYVTHUMB", 9)
|
||||
SM_CXHTHUMB = Flag("SM_CXHTHUMB", 10)
|
||||
SM_CXICON = Flag("SM_CXICON", 11)
|
||||
SM_CYICON = Flag("SM_CYICON", 12)
|
||||
SM_CXCURSOR = Flag("SM_CXCURSOR", 13)
|
||||
SM_CYCURSOR = Flag("SM_CYCURSOR", 14)
|
||||
SM_CYMENU = Flag("SM_CYMENU", 15)
|
||||
SM_CXFULLSCREEN = Flag("SM_CXFULLSCREEN", 16)
|
||||
SM_CYFULLSCREEN = Flag("SM_CYFULLSCREEN", 17)
|
||||
SM_CYKANJIWINDOW = Flag("SM_CYKANJIWINDOW", 18)
|
||||
SM_MOUSEPRESENT = Flag("SM_MOUSEPRESENT", 19)
|
||||
SM_CYVSCROLL = Flag("SM_CYVSCROLL", 20)
|
||||
SM_CXHSCROLL = Flag("SM_CXHSCROLL", 21)
|
||||
SM_DEBUG = Flag("SM_DEBUG", 22)
|
||||
SM_SWAPBUTTON = Flag("SM_SWAPBUTTON", 23)
|
||||
SM_RESERVED1 = Flag("SM_RESERVED1", 24)
|
||||
SM_RESERVED2 = Flag("SM_RESERVED2", 25)
|
||||
SM_RESERVED3 = Flag("SM_RESERVED3", 26)
|
||||
SM_RESERVED4 = Flag("SM_RESERVED4", 27)
|
||||
SM_CXMIN = Flag("SM_CXMIN", 28)
|
||||
SM_CYMIN = Flag("SM_CYMIN", 29)
|
||||
SM_CXSIZE = Flag("SM_CXSIZE", 30)
|
||||
SM_CYSIZE = Flag("SM_CYSIZE", 31)
|
||||
SM_CXFRAME = Flag("SM_CXFRAME", 32)
|
||||
SM_CYFRAME = Flag("SM_CYFRAME", 33)
|
||||
SM_CXMINTRACK = Flag("SM_CXMINTRACK", 34)
|
||||
SM_CYMINTRACK = Flag("SM_CYMINTRACK", 35)
|
||||
SM_CXDOUBLECLK = Flag("SM_CXDOUBLECLK", 36)
|
||||
SM_CYDOUBLECLK = Flag("SM_CYDOUBLECLK", 37)
|
||||
SM_CXICONSPACING = Flag("SM_CXICONSPACING", 38)
|
||||
SM_CYICONSPACING = Flag("SM_CYICONSPACING", 39)
|
||||
SM_MENUDROPALIGNMENT = Flag("SM_MENUDROPALIGNMENT", 40)
|
||||
SM_PENWINDOWS = Flag("SM_PENWINDOWS", 41)
|
||||
SM_DBCSENABLED = Flag("SM_DBCSENABLED", 42)
|
||||
SM_CMOUSEBUTTONS = Flag("SM_CMOUSEBUTTONS", 43)
|
||||
SM_CXFIXEDFRAME = Flag("SM_CXFIXEDFRAME", SM_CXDLGFRAME)
|
||||
SM_CYFIXEDFRAME = Flag("SM_CYFIXEDFRAME", SM_CYDLGFRAME)
|
||||
SM_CXSIZEFRAME = Flag("SM_CXSIZEFRAME", SM_CXFRAME)
|
||||
SM_CYSIZEFRAME = Flag("SM_CYSIZEFRAME", SM_CYFRAME)
|
||||
SM_SECURE = Flag("SM_SECURE", 44)
|
||||
SM_CXEDGE = Flag("SM_CXEDGE", 45)
|
||||
SM_CYEDGE = Flag("SM_CYEDGE", 46)
|
||||
SM_CXMINSPACING = Flag("SM_CXMINSPACING", 47)
|
||||
SM_CYMINSPACING = Flag("SM_CYMINSPACING", 48)
|
||||
SM_CXSMICON = Flag("SM_CXSMICON", 49)
|
||||
SM_CYSMICON = Flag("SM_CYSMICON", 50)
|
||||
SM_CYSMCAPTION = Flag("SM_CYSMCAPTION", 51)
|
||||
SM_CXSMSIZE = Flag("SM_CXSMSIZE", 52)
|
||||
SM_CYSMSIZE = Flag("SM_CYSMSIZE", 53)
|
||||
SM_CXMENUSIZE = Flag("SM_CXMENUSIZE", 54)
|
||||
SM_CYMENUSIZE = Flag("SM_CYMENUSIZE", 55)
|
||||
SM_ARRANGE = Flag("SM_ARRANGE", 56)
|
||||
SM_CXMINIMIZED = Flag("SM_CXMINIMIZED", 57)
|
||||
SM_CYMINIMIZED = Flag("SM_CYMINIMIZED", 58)
|
||||
SM_CXMAXTRACK = Flag("SM_CXMAXTRACK", 59)
|
||||
SM_CYMAXTRACK = Flag("SM_CYMAXTRACK", 60)
|
||||
SM_CXMAXIMIZED = Flag("SM_CXMAXIMIZED", 61)
|
||||
SM_CYMAXIMIZED = Flag("SM_CYMAXIMIZED", 62)
|
||||
SM_NETWORK = Flag("SM_NETWORK", 63)
|
||||
SM_CLEANBOOT = Flag("SM_CLEANBOOT", 67)
|
||||
SM_CXDRAG = Flag("SM_CXDRAG", 68)
|
||||
SM_CYDRAG = Flag("SM_CYDRAG", 69)
|
||||
SM_SHOWSOUNDS = Flag("SM_SHOWSOUNDS", 70)
|
||||
SM_CXMENUCHECK = Flag("SM_CXMENUCHECK", 71)
|
||||
SM_CYMENUCHECK = Flag("SM_CYMENUCHECK", 72)
|
||||
SM_SLOWMACHINE = Flag("SM_SLOWMACHINE", 73)
|
||||
SM_MIDEASTENABLED = Flag("SM_MIDEASTENABLED", 74)
|
||||
SM_MOUSEWHEELPRESENT = Flag("SM_MOUSEWHEELPRESENT", 75)
|
||||
SM_XVIRTUALSCREEN = Flag("SM_XVIRTUALSCREEN", 76)
|
||||
SM_YVIRTUALSCREEN = Flag("SM_YVIRTUALSCREEN", 77)
|
||||
SM_CXVIRTUALSCREEN = Flag("SM_CXVIRTUALSCREEN", 78)
|
||||
SM_CYVIRTUALSCREEN = Flag("SM_CYVIRTUALSCREEN", 79)
|
||||
SM_CMONITORS = Flag("SM_CMONITORS", 80)
|
||||
SM_SAMEDISPLAYFORMAT = Flag("SM_SAMEDISPLAYFORMAT", 81)
|
||||
SM_IMMENABLED = Flag("SM_IMMENABLED", 82)
|
||||
SM_CXFOCUSBORDER = Flag("SM_CXFOCUSBORDER", 83)
|
||||
SM_CYFOCUSBORDER = Flag("SM_CYFOCUSBORDER", 84)
|
||||
SM_TABLETPC = Flag("SM_TABLETPC", 86)
|
||||
SM_MEDIACENTER = Flag("SM_MEDIACENTER", 87)
|
||||
SM_STARTER = Flag("SM_STARTER", 88)
|
||||
SM_SERVERR2 = Flag("SM_SERVERR2", 89)
|
||||
SM_MOUSEHORIZONTALWHEELPRESENT = Flag("SM_MOUSEHORIZONTALWHEELPRESENT", 91)
|
||||
SM_CXPADDEDBORDER = Flag("SM_CXPADDEDBORDER", 92)
|
||||
SM_DIGITIZER = Flag("SM_DIGITIZER", 94)
|
||||
SM_MAXIMUMTOUCHES = Flag("SM_MAXIMUMTOUCHES", 95)
|
||||
SM_REMOTESESSION = Flag("SM_REMOTESESSION", 0x1000)
|
||||
SM_SHUTTINGDOWN = Flag("SM_SHUTTINGDOWN", 0x2000)
|
||||
SM_REMOTECONTROL = Flag("SM_REMOTECONTROL", 0x2001)
|
||||
SM_CARETBLINKINGENABLED = Flag("SM_CARETBLINKINGENABLED", 0x2002)
|
||||
@@ -3,7 +3,7 @@ from ctypes import *
|
||||
from ctypes.wintypes import *
|
||||
from .winstructs import *
|
||||
|
||||
functions = ['ExitProcess', 'TerminateProcess', 'GetLastError', 'GetCurrentProcess', 'CreateFileA', 'CreateFileW', 'LdrLoadDll', 'NtQuerySystemInformation', 'NtQueryInformationProcess', 'NtQueryVirtualMemory', 'NtCreateThreadEx', 'NtQueryInformationThread', 'GetExitCodeThread', 'GetExitCodeProcess', 'VirtualAlloc', 'VirtualAllocEx', 'VirtualFree', 'VirtualFreeEx', 'VirtualProtect', 'VirtualQuery', 'VirtualQueryEx', 'GetModuleFileNameA', 'GetModuleFileNameW', 'CreateThread', 'CreateRemoteThread', 'VirtualProtect', 'CreateProcessA', 'CreateProcessW', 'GetThreadContext', 'NtGetContextThread', 'SetThreadContext', 'NtSetContextThread', 'OpenThread', 'OpenProcess', 'CloseHandle', 'ReadProcessMemory', 'NtWow64ReadVirtualMemory64', 'WriteProcessMemory', 'CreateToolhelp32Snapshot', 'Thread32First', 'Thread32Next', 'Process32First', 'Process32Next', 'Process32FirstW', 'Process32NextW', 'GetProcAddress', 'LoadLibraryA', 'LoadLibraryW', 'OpenProcessToken', 'LookupPrivilegeValueA', 'LookupPrivilegeValueW', 'AdjustTokenPrivileges', 'FindResourceA', 'FindResourceW', 'SizeofResource', 'LoadResource', 'LockResource', 'GetVersionExA', 'GetVersionExW', 'GetVersion', 'GetCurrentThread', 'GetCurrentThreadId', 'GetCurrentProcessorNumber', 'AllocConsole', 'FreeConsole', 'GetStdHandle', 'SetStdHandle', 'SetThreadAffinityMask', 'WriteFile', 'GetExtendedTcpTable', 'GetExtendedUdpTable', 'SetTcpEntry', 'AddVectoredContinueHandler', 'AddVectoredExceptionHandler', 'TerminateThread', 'ExitThread', 'RemoveVectoredExceptionHandler', 'ResumeThread', 'SuspendThread', 'WaitForSingleObject', 'GetThreadId', 'LoadLibraryExA', 'LoadLibraryExW', 'SymInitialize', 'SymFromName', 'SymLoadModuleEx', 'SymSetOptions', 'SymGetTypeInfo', 'DeviceIoControl', 'GetTokenInformation', 'RegOpenKeyExA', 'RegOpenKeyExW', 'RegGetValueA', 'RegGetValueW', 'RegCloseKey', 'Wow64DisableWow64FsRedirection', 'Wow64RevertWow64FsRedirection', 'Wow64EnableWow64FsRedirection', 'Wow64GetThreadContext', 'SetConsoleCtrlHandler', 'WinVerifyTrust', 'GlobalAlloc', 'GlobalFree', 'GlobalUnlock', 'GlobalLock', 'OpenClipboard', 'EmptyClipboard', 'CloseClipboard', 'SetClipboardData', 'GetClipboardData', 'EnumClipboardFormats', 'GetClipboardFormatNameA', 'GetClipboardFormatNameW', 'WinVerifyTrust', 'OpenProcessToken', 'OpenThreadToken', 'GetTokenInformation', 'SetTokenInformation', 'GetSidIdentifierAuthority', 'GetSidSubAuthority', 'GetSidSubAuthorityCount', 'DebugBreak', 'WaitForDebugEvent', 'ContinueDebugEvent', 'DebugActiveProcess', 'DebugActiveProcessStop', 'DebugSetProcessKillOnExit', 'DebugBreakProcess', 'GetProcessId', 'Wow64SetThreadContext', 'GetMappedFileNameW', 'GetMappedFileNameA', 'RtlInitString', 'RtlInitUnicodeString', 'RtlAnsiStringToUnicodeString', 'OpenEventA', 'OpenEventW', 'NtOpenEvent', 'NtAlpcConnectPort', 'NtAlpcSendWaitReceivePort', 'lstrcmpA', 'lstrcmpW', 'CreateFileMappingA', 'CreateFileMappingW', 'MapViewOfFile', 'OpenSCManagerA', 'OpenSCManagerW', 'EnumServicesStatusExA', 'EnumServicesStatusExW', 'EnumWindows', 'GetWindowTextA', 'GetWindowTextW', 'GetWindowModuleFileNameA', 'GetWindowModuleFileNameW', 'CryptCATAdminCalcHashFromFileHandle', 'CryptCATAdminEnumCatalogFromHash', 'CryptCATAdminAcquireContext', 'CryptCATCatalogInfoFromContext', 'CryptCATAdminReleaseCatalogContext', 'CryptCATAdminReleaseContext', 'GetLogicalDriveStringsA', 'GetLogicalDriveStringsW', 'GetVolumeInformationA', 'GetVolumeInformationW', 'GetVolumeNameForVolumeMountPointA', 'GetVolumeNameForVolumeMountPointW', 'GetDriveTypeA', 'GetDriveTypeW', 'QueryDosDeviceA', 'QueryDosDeviceW', 'NtQueryObject', 'DuplicateHandle', 'GetModuleBaseNameA', 'GetModuleBaseNameW', 'GetProcessImageFileNameA', 'GetProcessImageFileNameW']
|
||||
functions = ['ExitProcess', 'TerminateProcess', 'GetLastError', 'GetCurrentProcess', 'CreateFileA', 'CreateFileW', 'LdrLoadDll', 'NtQuerySystemInformation', 'NtQueryInformationProcess', 'NtQueryVirtualMemory', 'NtCreateThreadEx', 'NtQueryInformationThread', 'GetExitCodeThread', 'GetExitCodeProcess', 'VirtualAlloc', 'VirtualAllocEx', 'VirtualFree', 'VirtualFreeEx', 'VirtualProtect', 'VirtualQuery', 'VirtualQueryEx', 'GetModuleFileNameA', 'GetModuleFileNameW', 'CreateThread', 'CreateRemoteThread', 'VirtualProtect', 'CreateProcessA', 'CreateProcessW', 'GetThreadContext', 'NtGetContextThread', 'SetThreadContext', 'NtSetContextThread', 'OpenThread', 'OpenProcess', 'CloseHandle', 'ReadProcessMemory', 'NtWow64ReadVirtualMemory64', 'WriteProcessMemory', 'CreateToolhelp32Snapshot', 'Thread32First', 'Thread32Next', 'Process32First', 'Process32Next', 'Process32FirstW', 'Process32NextW', 'GetProcAddress', 'LoadLibraryA', 'LoadLibraryW', 'OpenProcessToken', 'LookupPrivilegeValueA', 'LookupPrivilegeValueW', 'AdjustTokenPrivileges', 'FindResourceA', 'FindResourceW', 'SizeofResource', 'LoadResource', 'LockResource', 'GetVersionExA', 'GetVersionExW', 'GetVersion', 'GetCurrentThread', 'GetCurrentThreadId', 'GetCurrentProcessorNumber', 'AllocConsole', 'FreeConsole', 'GetStdHandle', 'SetStdHandle', 'SetThreadAffinityMask', 'WriteFile', 'GetExtendedTcpTable', 'GetExtendedUdpTable', 'SetTcpEntry', 'AddVectoredContinueHandler', 'AddVectoredExceptionHandler', 'TerminateThread', 'ExitThread', 'RemoveVectoredExceptionHandler', 'ResumeThread', 'SuspendThread', 'WaitForSingleObject', 'GetThreadId', 'LoadLibraryExA', 'LoadLibraryExW', 'SymInitialize', 'SymFromName', 'SymLoadModuleEx', 'SymSetOptions', 'SymGetTypeInfo', 'DeviceIoControl', 'GetTokenInformation', 'RegOpenKeyExA', 'RegOpenKeyExW', 'RegGetValueA', 'RegGetValueW', 'RegCloseKey', 'Wow64DisableWow64FsRedirection', 'Wow64RevertWow64FsRedirection', 'Wow64EnableWow64FsRedirection', 'Wow64GetThreadContext', 'SetConsoleCtrlHandler', 'WinVerifyTrust', 'GlobalAlloc', 'GlobalFree', 'GlobalUnlock', 'GlobalLock', 'OpenClipboard', 'EmptyClipboard', 'CloseClipboard', 'SetClipboardData', 'GetClipboardData', 'EnumClipboardFormats', 'GetClipboardFormatNameA', 'GetClipboardFormatNameW', 'WinVerifyTrust', 'OpenProcessToken', 'OpenThreadToken', 'GetTokenInformation', 'SetTokenInformation', 'GetSidIdentifierAuthority', 'GetSidSubAuthority', 'GetSidSubAuthorityCount', 'DebugBreak', 'WaitForDebugEvent', 'ContinueDebugEvent', 'DebugActiveProcess', 'DebugActiveProcessStop', 'DebugSetProcessKillOnExit', 'DebugBreakProcess', 'GetProcessId', 'Wow64SetThreadContext', 'GetMappedFileNameW', 'GetMappedFileNameA', 'RtlInitString', 'RtlInitUnicodeString', 'RtlAnsiStringToUnicodeString', 'OpenEventA', 'OpenEventW', 'NtOpenEvent', 'NtAlpcConnectPort', 'NtAlpcSendWaitReceivePort', 'lstrcmpA', 'lstrcmpW', 'CreateFileMappingA', 'CreateFileMappingW', 'MapViewOfFile', 'OpenSCManagerA', 'OpenSCManagerW', 'EnumServicesStatusExA', 'EnumServicesStatusExW', 'EnumWindows', 'GetWindowTextA', 'GetWindowTextW', 'GetWindowModuleFileNameA', 'GetWindowModuleFileNameW', 'CryptCATAdminCalcHashFromFileHandle', 'CryptCATAdminEnumCatalogFromHash', 'CryptCATAdminAcquireContext', 'CryptCATCatalogInfoFromContext', 'CryptCATAdminReleaseCatalogContext', 'CryptCATAdminReleaseContext', 'GetLogicalDriveStringsA', 'GetLogicalDriveStringsW', 'GetVolumeInformationA', 'GetVolumeInformationW', 'GetVolumeNameForVolumeMountPointA', 'GetVolumeNameForVolumeMountPointW', 'GetDriveTypeA', 'GetDriveTypeW', 'QueryDosDeviceA', 'QueryDosDeviceW', 'NtQueryObject', 'DuplicateHandle', 'GetModuleBaseNameA', 'GetModuleBaseNameW', 'GetProcessImageFileNameA', 'GetProcessImageFileNameW', 'GetFileVersionInfoA', 'GetFileVersionInfoW', 'GetFileVersionInfoSizeA', 'GetFileVersionInfoSizeW', 'VerQueryValueA', 'VerQueryValueW', 'GetSystemMetrics', 'GetComputerNameA', 'GetComputerNameW', 'LookupAccountSidA', 'LookupAccountSidW']
|
||||
|
||||
# ExitProcess(uExitCode):
|
||||
ExitProcessPrototype = WINFUNCTYPE(VOID, UINT)
|
||||
@@ -709,3 +709,47 @@ GetProcessImageFileNameAParams = ((1, 'hProcess'), (1, 'lpImageFileName'), (1, '
|
||||
GetProcessImageFileNameWPrototype = WINFUNCTYPE(DWORD, HANDLE, LPWSTR, DWORD)
|
||||
GetProcessImageFileNameWParams = ((1, 'hProcess'), (1, 'lpImageFileName'), (1, 'nSize'))
|
||||
|
||||
# GetFileVersionInfoA(lptstrFilename, dwHandle, dwLen, lpData):
|
||||
GetFileVersionInfoAPrototype = WINFUNCTYPE(BOOL, LPCSTR, DWORD, DWORD, LPVOID)
|
||||
GetFileVersionInfoAParams = ((1, 'lptstrFilename'), (1, 'dwHandle'), (1, 'dwLen'), (1, 'lpData'))
|
||||
|
||||
# GetFileVersionInfoW(lptstrFilename, dwHandle, dwLen, lpData):
|
||||
GetFileVersionInfoWPrototype = WINFUNCTYPE(BOOL, LPWSTR, DWORD, DWORD, LPVOID)
|
||||
GetFileVersionInfoWParams = ((1, 'lptstrFilename'), (1, 'dwHandle'), (1, 'dwLen'), (1, 'lpData'))
|
||||
|
||||
# GetFileVersionInfoSizeA(lptstrFilename, lpdwHandle):
|
||||
GetFileVersionInfoSizeAPrototype = WINFUNCTYPE(DWORD, LPCSTR, LPDWORD)
|
||||
GetFileVersionInfoSizeAParams = ((1, 'lptstrFilename'), (1, 'lpdwHandle'))
|
||||
|
||||
# GetFileVersionInfoSizeW(lptstrFilename, lpdwHandle):
|
||||
GetFileVersionInfoSizeWPrototype = WINFUNCTYPE(DWORD, LPWSTR, LPDWORD)
|
||||
GetFileVersionInfoSizeWParams = ((1, 'lptstrFilename'), (1, 'lpdwHandle'))
|
||||
|
||||
# VerQueryValueA(pBlock, lpSubBlock, lplpBuffer, puLen):
|
||||
VerQueryValueAPrototype = WINFUNCTYPE(BOOL, LPCVOID, LPCSTR, POINTER(LPVOID), PUINT)
|
||||
VerQueryValueAParams = ((1, 'pBlock'), (1, 'lpSubBlock'), (1, 'lplpBuffer'), (1, 'puLen'))
|
||||
|
||||
# VerQueryValueW(pBlock, lpSubBlock, lplpBuffer, puLen):
|
||||
VerQueryValueWPrototype = WINFUNCTYPE(BOOL, LPCVOID, LPWSTR, POINTER(LPVOID), PUINT)
|
||||
VerQueryValueWParams = ((1, 'pBlock'), (1, 'lpSubBlock'), (1, 'lplpBuffer'), (1, 'puLen'))
|
||||
|
||||
# GetSystemMetrics(nIndex):
|
||||
GetSystemMetricsPrototype = WINFUNCTYPE(INT, INT)
|
||||
GetSystemMetricsParams = ((1, 'nIndex'),)
|
||||
|
||||
# GetComputerNameA(lpBuffer, lpnSize):
|
||||
GetComputerNameAPrototype = WINFUNCTYPE(BOOL, LPCSTR, LPDWORD)
|
||||
GetComputerNameAParams = ((1, 'lpBuffer'), (1, 'lpnSize'))
|
||||
|
||||
# GetComputerNameW(lpBuffer, lpnSize):
|
||||
GetComputerNameWPrototype = WINFUNCTYPE(BOOL, LPWSTR, LPDWORD)
|
||||
GetComputerNameWParams = ((1, 'lpBuffer'), (1, 'lpnSize'))
|
||||
|
||||
# LookupAccountSidA(lpSystemName, lpSid, lpName, cchName, lpReferencedDomainName, cchReferencedDomainName, peUse):
|
||||
LookupAccountSidAPrototype = WINFUNCTYPE(BOOL, LPCSTR, PSID, LPCSTR, LPDWORD, LPCSTR, LPDWORD, PSID_NAME_USE)
|
||||
LookupAccountSidAParams = ((1, 'lpSystemName'), (1, 'lpSid'), (1, 'lpName'), (1, 'cchName'), (1, 'lpReferencedDomainName'), (1, 'cchReferencedDomainName'), (1, 'peUse'))
|
||||
|
||||
# LookupAccountSidW(lpSystemName, lpSid, lpName, cchName, lpReferencedDomainName, cchReferencedDomainName, peUse):
|
||||
LookupAccountSidWPrototype = WINFUNCTYPE(BOOL, LPWSTR, PSID, LPWSTR, LPDWORD, LPWSTR, LPDWORD, PSID_NAME_USE)
|
||||
LookupAccountSidWParams = ((1, 'lpSystemName'), (1, 'lpSid'), (1, 'lpName'), (1, 'cchName'), (1, 'lpReferencedDomainName'), (1, 'cchReferencedDomainName'), (1, 'peUse'))
|
||||
|
||||
|
||||
@@ -34,6 +34,7 @@ LARGE_INTEGER = LONGLONG
|
||||
PLARGE_INTEGER = POINTER(LARGE_INTEGER)
|
||||
DWORD64 = ULONG64
|
||||
PULONG64 = POINTER(ULONG64)
|
||||
PUINT = POINTER(UINT)
|
||||
PHANDLE = POINTER(HANDLE)
|
||||
HKEY = HANDLE
|
||||
HCATADMIN = HANDLE
|
||||
@@ -50,9 +51,9 @@ HCRYPTMSG = PVOID
|
||||
PALPC_PORT_ATTRIBUTES = PVOID
|
||||
VOID = DWORD
|
||||
|
||||
structs = ['_LIST_ENTRY', '_PEB_LDR_DATA', '_LSA_UNICODE_STRING', '_RTL_USER_PROCESS_PARAMETERS', '_PEB', '_SECURITY_ATTRIBUTES', '_SYSTEM_VERIFIER_INFORMATION', '_LDR_DATA_TABLE_ENTRY', '_IMAGE_FILE_HEADER', '_IMAGE_DATA_DIRECTORY', '_IMAGE_SECTION_HEADER', '_IMAGE_OPTIONAL_HEADER64', '_IMAGE_OPTIONAL_HEADER', '_IMAGE_NT_HEADERS64', '_IMAGE_NT_HEADERS', '_IMAGE_IMPORT_DESCRIPTOR', '_IMAGE_IMPORT_BY_NAME', '_IMAGE_EXPORT_DIRECTORY', '_MEMORY_BASIC_INFORMATION', '_MEMORY_BASIC_INFORMATION32', '_MEMORY_BASIC_INFORMATION64', '_STARTUPINFOA', '_STARTUPINFOW', '_PROCESS_INFORMATION', '_FLOATING_SAVE_AREA', '_CONTEXT32', '_WOW64_FLOATING_SAVE_AREA', '_WOW64_CONTEXT', '_M128A', '_CONTEXT64', 'tagPROCESSENTRY32W', 'tagPROCESSENTRY32', 'tagTHREADENTRY32', '_LUID', '_LUID_AND_ATTRIBUTES', '_TOKEN_PRIVILEGES', '_TOKEN_ELEVATION', '_SID_AND_ATTRIBUTES', '_TOKEN_MANDATORY_LABEL', '_OSVERSIONINFOA', '_OSVERSIONINFOW', '_OSVERSIONINFOEXA', '_OSVERSIONINFOEXW', '_OVERLAPPED', '_MIB_TCPROW_OWNER_PID', '_MIB_TCPTABLE_OWNER_PID', '_MIB_UDPROW_OWNER_PID', '_MIB_UDPTABLE_OWNER_PID', '_MIB_UDP6ROW_OWNER_PID', '_MIB_UDP6TABLE_OWNER_PID', '_MIB_TCP6ROW_OWNER_PID', '_MIB_TCP6TABLE_OWNER_PID', '_MIB_TCPROW', '_EXCEPTION_RECORD', '_EXCEPTION_RECORD32', '_EXCEPTION_RECORD64', '_EXCEPTION_POINTERS64', '_EXCEPTION_POINTERS32', '_DEBUG_PROCESSOR_IDENTIFICATION_ALPHA', '_DEBUG_PROCESSOR_IDENTIFICATION_AMD64', '_DEBUG_PROCESSOR_IDENTIFICATION_IA64', '_DEBUG_PROCESSOR_IDENTIFICATION_X86', '_DEBUG_PROCESSOR_IDENTIFICATION_ARM', '_DEBUG_PROCESSOR_IDENTIFICATION_ALL', '_SYMBOL_INFO', '_MODLOAD_DATA', '_SYSTEM_MODULE32', '_SYSTEM_MODULE64', '_SYSTEM_MODULE_INFORMATION32', '_SYSTEM_MODULE_INFORMATION64', 'tagSAFEARRAYBOUND', 'tagSAFEARRAY', '_DEBUG_BREAKPOINT_PARAMETERS', '_DEBUG_REGISTER_DESCRIPTION', '_DEBUG_STACK_FRAME', '_DEBUG_LAST_EVENT_INFO_BREAKPOINT', '_DEBUG_LAST_EVENT_INFO_EXCEPTION', '_DEBUG_LAST_EVENT_INFO_EXIT_THREAD', '_DEBUG_LAST_EVENT_INFO_EXIT_PROCESS', '_DEBUG_LAST_EVENT_INFO_LOAD_MODULE', '_DEBUG_LAST_EVENT_INFO_UNLOAD_MODULE', '_DEBUG_LAST_EVENT_INFO_SYSTEM_ERROR', '_DEBUG_SPECIFIC_FILTER_PARAMETERS', '_DEBUG_EXCEPTION_FILTER_PARAMETERS', '_GUID', '_CRYPTOAPI_BLOB', 'WINTRUST_FILE_INFO_', '_CRYPT_ATTRIBUTE', '_CTL_ENTRY', '_CRYPT_ATTRIBUTE', '_CRYPT_ATTRIBUTES', '_CRYPT_ALGORITHM_IDENTIFIER', '_CMSG_SIGNER_INFO', '_CERT_EXTENSION', '_CTL_USAGE', '_CTL_INFO', '_CTL_CONTEXT', 'WINTRUST_CATALOG_INFO_', 'WINTRUST_BLOB_INFO_', '_CRYPT_BIT_BLOB', '_CERT_PUBLIC_KEY_INFO', '_CERT_INFO', '_CERT_CONTEXT', 'WINTRUST_SGNR_INFO_', '_FILETIME', 'WINTRUST_CERT_INFO_', '_TMP_WINTRUST_UNION_TYPE', '_WINTRUST_DATA', '_PROCESS_BASIC_INFORMATION', '_JIT_DEBUG_INFO', '_SID_IDENTIFIER_AUTHORITY', '_EXCEPTION_DEBUG_INFO', '_CREATE_THREAD_DEBUG_INFO', '_CREATE_PROCESS_DEBUG_INFO', '_EXIT_THREAD_DEBUG_INFO', '_EXIT_PROCESS_DEBUG_INFO', '_LOAD_DLL_DEBUG_INFO', '_UNLOAD_DLL_DEBUG_INFO', '_OUTPUT_DEBUG_STRING_INFO', '_RIP_INFO', '_TMP_UNION_DEBUG_INFO', '_DEBUG_EVENT', '_STRING', '_OBJECT_ATTRIBUTES', '_SECURITY_QUALITY_OF_SERVICE', '_ALPC_PORT_ATTRIBUTES32', '_ALPC_PORT_ATTRIBUTES64', '_ALPC_MESSAGE_ATTRIBUTES', '_PORT_MESSAGE_TMP_UNION', '_PORT_MESSAGE_TMP_SUBSTRUCT_S1', '_PORT_MESSAGE_TMP_UNION_U1', '_PORT_MESSAGE_TMP_SUBSTRUCT_S2', '_PORT_MESSAGE_TMP_UNION_U2', '_PORT_MESSAGE', '_SERVICE_STATUS', '_SERVICE_STATUS_PROCESS', '_ENUM_SERVICE_STATUS_PROCESSA', '_ENUM_SERVICE_STATUS_PROCESSW', 'CATALOG_INFO_', '_SYSTEM_HANDLE', '_SYSTEM_HANDLE_INFORMATION', '__PUBLIC_OBJECT_TYPE_INFORMATION', '_PUBLIC_OBJECT_BASIC_INFORMATION']
|
||||
structs = ['_LIST_ENTRY', '_PEB_LDR_DATA', '_LSA_UNICODE_STRING', '_RTL_USER_PROCESS_PARAMETERS', '_PEB', '_SECURITY_ATTRIBUTES', '_SYSTEM_VERIFIER_INFORMATION', '_LDR_DATA_TABLE_ENTRY', '_IMAGE_FILE_HEADER', '_IMAGE_DATA_DIRECTORY', '_IMAGE_SECTION_HEADER', '_IMAGE_OPTIONAL_HEADER64', '_IMAGE_OPTIONAL_HEADER', '_IMAGE_NT_HEADERS64', '_IMAGE_NT_HEADERS', '_IMAGE_IMPORT_DESCRIPTOR', '_IMAGE_IMPORT_BY_NAME', '_IMAGE_EXPORT_DIRECTORY', '_MEMORY_BASIC_INFORMATION', '_MEMORY_BASIC_INFORMATION32', '_MEMORY_BASIC_INFORMATION64', '_STARTUPINFOA', '_STARTUPINFOW', '_PROCESS_INFORMATION', '_FLOATING_SAVE_AREA', '_CONTEXT32', '_WOW64_FLOATING_SAVE_AREA', '_WOW64_CONTEXT', '_M128A', '_CONTEXT64', 'tagPROCESSENTRY32W', 'tagPROCESSENTRY32', 'tagTHREADENTRY32', '_LUID', '_LUID_AND_ATTRIBUTES', '_TOKEN_PRIVILEGES', '_TOKEN_ELEVATION', '_SID_AND_ATTRIBUTES', '_TOKEN_MANDATORY_LABEL', '_TOKEN_USER', '_OSVERSIONINFOA', '_OSVERSIONINFOW', '_OSVERSIONINFOEXA', '_OSVERSIONINFOEXW', '_OVERLAPPED', '_MIB_TCPROW_OWNER_PID', '_MIB_TCPTABLE_OWNER_PID', '_MIB_UDPROW_OWNER_PID', '_MIB_UDPTABLE_OWNER_PID', '_MIB_UDP6ROW_OWNER_PID', '_MIB_UDP6TABLE_OWNER_PID', '_MIB_TCP6ROW_OWNER_PID', '_MIB_TCP6TABLE_OWNER_PID', '_MIB_TCPROW', '_EXCEPTION_RECORD', '_EXCEPTION_RECORD32', '_EXCEPTION_RECORD64', '_EXCEPTION_POINTERS64', '_EXCEPTION_POINTERS32', '_DEBUG_PROCESSOR_IDENTIFICATION_ALPHA', '_DEBUG_PROCESSOR_IDENTIFICATION_AMD64', '_DEBUG_PROCESSOR_IDENTIFICATION_IA64', '_DEBUG_PROCESSOR_IDENTIFICATION_X86', '_DEBUG_PROCESSOR_IDENTIFICATION_ARM', '_DEBUG_PROCESSOR_IDENTIFICATION_ALL', '_SYMBOL_INFO', '_MODLOAD_DATA', '_SYSTEM_MODULE32', '_SYSTEM_MODULE64', '_SYSTEM_MODULE_INFORMATION32', '_SYSTEM_MODULE_INFORMATION64', 'tagSAFEARRAYBOUND', 'tagSAFEARRAY', '_DEBUG_BREAKPOINT_PARAMETERS', '_DEBUG_REGISTER_DESCRIPTION', '_DEBUG_STACK_FRAME', '_DEBUG_LAST_EVENT_INFO_BREAKPOINT', '_DEBUG_LAST_EVENT_INFO_EXCEPTION', '_DEBUG_LAST_EVENT_INFO_EXIT_THREAD', '_DEBUG_LAST_EVENT_INFO_EXIT_PROCESS', '_DEBUG_LAST_EVENT_INFO_LOAD_MODULE', '_DEBUG_LAST_EVENT_INFO_UNLOAD_MODULE', '_DEBUG_LAST_EVENT_INFO_SYSTEM_ERROR', '_DEBUG_SPECIFIC_FILTER_PARAMETERS', '_DEBUG_EXCEPTION_FILTER_PARAMETERS', '_GUID', '_CRYPTOAPI_BLOB', 'WINTRUST_FILE_INFO_', '_CRYPT_ATTRIBUTE', '_CTL_ENTRY', '_CRYPT_ATTRIBUTE', '_CRYPT_ATTRIBUTES', '_CRYPT_ALGORITHM_IDENTIFIER', '_CMSG_SIGNER_INFO', '_CERT_EXTENSION', '_CTL_USAGE', '_CTL_INFO', '_CTL_CONTEXT', 'WINTRUST_CATALOG_INFO_', 'WINTRUST_BLOB_INFO_', '_CRYPT_BIT_BLOB', '_CERT_PUBLIC_KEY_INFO', '_CERT_INFO', '_CERT_CONTEXT', 'WINTRUST_SGNR_INFO_', '_FILETIME', 'WINTRUST_CERT_INFO_', '_TMP_WINTRUST_UNION_TYPE', '_WINTRUST_DATA', '_PROCESS_BASIC_INFORMATION', '_JIT_DEBUG_INFO', '_SID_IDENTIFIER_AUTHORITY', '_EXCEPTION_DEBUG_INFO', '_CREATE_THREAD_DEBUG_INFO', '_CREATE_PROCESS_DEBUG_INFO', '_EXIT_THREAD_DEBUG_INFO', '_EXIT_PROCESS_DEBUG_INFO', '_LOAD_DLL_DEBUG_INFO', '_UNLOAD_DLL_DEBUG_INFO', '_OUTPUT_DEBUG_STRING_INFO', '_RIP_INFO', '_TMP_UNION_DEBUG_INFO', '_DEBUG_EVENT', '_STRING', '_OBJECT_ATTRIBUTES', '_SECURITY_QUALITY_OF_SERVICE', '_ALPC_PORT_ATTRIBUTES32', '_ALPC_PORT_ATTRIBUTES64', '_ALPC_MESSAGE_ATTRIBUTES', '_PORT_MESSAGE_TMP_UNION', '_PORT_MESSAGE_TMP_SUBSTRUCT_S1', '_PORT_MESSAGE_TMP_UNION_U1', '_PORT_MESSAGE_TMP_SUBSTRUCT_S2', '_PORT_MESSAGE_TMP_UNION_U2', '_PORT_MESSAGE', '_SERVICE_STATUS', '_SERVICE_STATUS_PROCESS', '_ENUM_SERVICE_STATUS_PROCESSA', '_ENUM_SERVICE_STATUS_PROCESSW', 'CATALOG_INFO_', '_SYSTEM_HANDLE', '_SYSTEM_HANDLE_INFORMATION', '__PUBLIC_OBJECT_TYPE_INFORMATION', '_PUBLIC_OBJECT_BASIC_INFORMATION']
|
||||
|
||||
enums = ['_SYSTEM_INFORMATION_CLASS', '_MEMORY_INFORMATION_CLASS', '_THREAD_INFORMATION_CLASS', '_TCP_TABLE_CLASS', '_VARENUM', '_UDP_TABLE_CLASS', '_MIB_TCP_STATE', '_TOKEN_INFORMATION_CLASS', '_SECURITY_IMPERSONATION_LEVEL', '_SC_ENUM_TYPE', '_SC_STATUS_TYPE', '_OBJECT_INFORMATION_CLASS', '_IMAGEHLP_SYMBOL_TYPE_INFO', '_PROCESSINFOCLASS']
|
||||
enums = ['_SYSTEM_INFORMATION_CLASS', '_MEMORY_INFORMATION_CLASS', '_THREAD_INFORMATION_CLASS', '_TCP_TABLE_CLASS', '_VARENUM', '_UDP_TABLE_CLASS', '_MIB_TCP_STATE', '_TOKEN_INFORMATION_CLASS', '_SECURITY_IMPERSONATION_LEVEL', '_SC_ENUM_TYPE', '_SC_STATUS_TYPE', '_OBJECT_INFORMATION_CLASS', '_SID_NAME_USE', '_IMAGEHLP_SYMBOL_TYPE_INFO', '_PROCESSINFOCLASS']
|
||||
|
||||
# Enum _SYSTEM_INFORMATION_CLASS definitions
|
||||
_SYSTEM_INFORMATION_CLASS = DWORD
|
||||
@@ -346,6 +347,22 @@ ObjectBasicInformation = 0x0
|
||||
ObjectNameInformation = 0x1
|
||||
ObjectTypeInformation = 0x2
|
||||
|
||||
# Enum _SID_NAME_USE definitions
|
||||
_SID_NAME_USE = DWORD
|
||||
SID_NAME_USE = _SID_NAME_USE
|
||||
PSID_NAME_USE = POINTER(_SID_NAME_USE)
|
||||
|
||||
SidTypeUser = 0x1
|
||||
SidTypeGroup = 0x2
|
||||
SidTypeDomain = 0x3
|
||||
SidTypeAlias = 0x4
|
||||
SidTypeWellKnownGroup = 0x5
|
||||
SidTypeDeletedAccount = 0x6
|
||||
SidTypeInvalid = 0x7
|
||||
SidTypeUnknown = 0x8
|
||||
SidTypeComputer = 0x9
|
||||
SidTypeLabel = 0xa
|
||||
|
||||
# Enum _IMAGEHLP_SYMBOL_TYPE_INFO definitions
|
||||
_IMAGEHLP_SYMBOL_TYPE_INFO = DWORD
|
||||
IMAGEHLP_SYMBOL_TYPE_INFO = _IMAGEHLP_SYMBOL_TYPE_INFO
|
||||
@@ -1074,6 +1091,14 @@ class _TOKEN_MANDATORY_LABEL(Structure):
|
||||
TOKEN_MANDATORY_LABEL = _TOKEN_MANDATORY_LABEL
|
||||
PTOKEN_MANDATORY_LABEL = POINTER(_TOKEN_MANDATORY_LABEL)
|
||||
|
||||
# Struct _TOKEN_USER definitions
|
||||
class _TOKEN_USER(Structure):
|
||||
_fields_ = [
|
||||
("User", SID_AND_ATTRIBUTES),
|
||||
]
|
||||
PTOKEN_USER = POINTER(_TOKEN_USER)
|
||||
TOKEN_USER = _TOKEN_USER
|
||||
|
||||
# Struct _OSVERSIONINFOA definitions
|
||||
class _OSVERSIONINFOA(Structure):
|
||||
_fields_ = [
|
||||
|
||||
+57
-3
@@ -174,6 +174,10 @@ class User32Proxy(ApiProxy):
|
||||
APIDLL = "user32"
|
||||
default_error_check = staticmethod(kernel32_error_check)
|
||||
|
||||
class VersionProxy(ApiProxy):
|
||||
APIDLL = "version"
|
||||
default_error_check = staticmethod(kernel32_error_check)
|
||||
|
||||
class OptionalExport(object):
|
||||
"""used 'around' a Proxy decorator
|
||||
Should be used for export that are not available everywhere (ntdll internals | 32/64 bits stuff)
|
||||
@@ -266,6 +270,10 @@ GetExitCodeProcess = TransparentKernel32Proxy("GetExitCodeProcess")
|
||||
GetProcessId = TransparentKernel32Proxy("GetProcessId")
|
||||
lstrcmpA = TransparentKernel32Proxy("lstrcmpA")
|
||||
lstrcmpW = TransparentKernel32Proxy("lstrcmpW")
|
||||
GetVersionExA = TransparentKernel32Proxy("GetVersionExA")
|
||||
GetVersionExW = TransparentKernel32Proxy("GetVersionExW")
|
||||
GetComputerNameA = TransparentKernel32Proxy("GetComputerNameA")
|
||||
GetComputerNameW = TransparentKernel32Proxy("GetComputerNameW")
|
||||
|
||||
|
||||
Wow64DisableWow64FsRedirection = OptionalExport(TransparentKernel32Proxy)("Wow64DisableWow64FsRedirection")
|
||||
@@ -733,6 +741,15 @@ def AdjustTokenPrivileges(TokenHandle, DisableAllPrivileges=False, NewState=Need
|
||||
return AdjustTokenPrivileges.ctypes_function(TokenHandle, DisableAllPrivileges, NewState, BufferLength, PreviousState, ReturnLength)
|
||||
|
||||
|
||||
@Advapi32Proxy('LookupAccountSidA')
|
||||
def LookupAccountSidA(lpSystemName, lpSid, lpName, cchName, lpReferencedDomainName, cchReferencedDomainName, peUse):
|
||||
return LookupAccountSidA.ctypes_function(lpSystemName, lpSid, lpName, cchName, lpReferencedDomainName, cchReferencedDomainName, peUse)
|
||||
|
||||
|
||||
@Advapi32Proxy('LookupAccountSidW')
|
||||
def LookupAccountSidW(lpSystemName, lpSid, lpName, cchName, lpReferencedDomainName, cchReferencedDomainName, peUse):
|
||||
return LookupAccountSidW.ctypes_function(lpSystemName, lpSid, lpName, cchName, lpReferencedDomainName, cchReferencedDomainName, peUse)
|
||||
|
||||
# Token stuff
|
||||
|
||||
GetSidSubAuthorityCount = TransparentAdvapi32Proxy("GetSidSubAuthorityCount")
|
||||
@@ -853,9 +870,6 @@ def CryptCATAdminReleaseContext(hCatAdmin, dwFlags):
|
||||
return CryptCATAdminReleaseContext.ctypes_function(hCatAdmin, dwFlags)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# ## User32 stuff ## #
|
||||
|
||||
EnumWindows = TransparentUser32Proxy('EnumWindows')
|
||||
@@ -863,3 +877,43 @@ GetWindowTextA = TransparentUser32Proxy('GetWindowTextA', no_error_check)
|
||||
GetWindowTextW = TransparentUser32Proxy('GetWindowTextW', no_error_check)
|
||||
GetWindowModuleFileNameA = TransparentUser32Proxy('GetWindowModuleFileNameA', no_error_check)
|
||||
GetWindowModuleFileNameW = TransparentUser32Proxy('GetWindowModuleFileNameW', no_error_check)
|
||||
GetSystemMetrics = TransparentUser32Proxy('GetSystemMetrics', no_error_check)
|
||||
|
||||
# ## Version stuff ## #
|
||||
|
||||
@VersionProxy("GetFileVersionInfoA")
|
||||
def GetFileVersionInfoA(lptstrFilename, dwHandle=0, dwLen=None, lpData=NeededParameter):
|
||||
if dwLen is None and lpData is not None:
|
||||
dwLen = len(lpData)
|
||||
return GetFileVersionInfoA.ctypes_function(lptstrFilename, dwHandle, dwLen, lpData)
|
||||
|
||||
|
||||
@VersionProxy("GetFileVersionInfoW")
|
||||
def GetFileVersionInfoW(lptstrFilename, dwHandle=0, dwLen=None, lpData=NeededParameter):
|
||||
if dwLen is None and lpData is not None:
|
||||
dwLen = len(lpData)
|
||||
return GetFileVersionInfoA.ctypes_function(lptstrFilename, dwHandle, dwLen, lpData)
|
||||
|
||||
|
||||
@VersionProxy("GetFileVersionInfoSizeA")
|
||||
def GetFileVersionInfoSizeA(lptstrFilename, lpdwHandle=None):
|
||||
if lpdwHandle is None:
|
||||
lpdwHandle = ctypes.byref(DWORD())
|
||||
return GetFileVersionInfoSizeA.ctypes_function(lptstrFilename, lpdwHandle)
|
||||
|
||||
|
||||
@VersionProxy("GetFileVersionInfoSizeW")
|
||||
def GetFileVersionInfoSizeW(lptstrFilename, lpdwHandle=None):
|
||||
if lpdwHandle is None:
|
||||
lpdwHandle = ctypes.byref(DWORD())
|
||||
return GetFileVersionInfoSizeW.ctypes_function(lptstrFilename, lpdwHandle)
|
||||
|
||||
|
||||
@VersionProxy("VerQueryValueA")
|
||||
def VerQueryValueA(pBlock, lpSubBlock, lplpBuffer, puLen):
|
||||
return VerQueryValueA.ctypes_function(pBlock, lpSubBlock, lplpBuffer, puLen)
|
||||
|
||||
|
||||
@VersionProxy("VerQueryValueW")
|
||||
def VerQueryValueW(pBlock, lpSubBlock, lplpBuffer, puLen):
|
||||
return VerQueryValueW.ctypes_function(pBlock, lpSubBlock, lplpBuffer, puLen)
|
||||
Reference in New Issue
Block a user