1
2
3
4
5 from ctypes import *
6
7 NTDLL = windll.ntdll
8 KERNEL32 = windll.kernel32
9 ADVAPI32 = windll.advapi32
10 USER32 = windll.user32
11
12 BYTE = c_ubyte
13 WORD = c_ushort
14 DWORD = c_ulong
15 LONG = c_ulong
16 LPBYTE = POINTER(c_ubyte)
17 LPTSTR = POINTER(c_char)
18 HANDLE = c_void_p
19 PVOID = c_void_p
20 LPVOID = c_void_p
21 UINT_PTR = c_ulong
22 SIZE_T = c_ulong
23 HMODULE = c_void_p
24 NULL = c_int(0)
25
26 DEBUG_PROCESS = 0x00000001
27 CREATE_NEW_CONSOLE = 0x00000010
28 CREATE_SUSPENDED = 0x00000004
29 DBG_CONTINUE = 0x00010002
30 INFINITE = 0xFFFFFFFF
31 PROCESS_ALL_ACCESS = 0x001F0FFF
32 THREAD_ALL_ACCESS = 0x001f03ff
33 TOKEN_ALL_ACCESS = 0x000F01FF
34 SE_PRIVILEGE_ENABLED = 0x00000002
35 STILL_ACTIVE = 0x00000103
36
37 PAGE_EXECUTE_READWRITE = 0x00000040
38 PAGE_EXECUTE = 0x00000010
39 PAGE_EXECUTE_READ = 0x00000020
40 PAGE_READONLY = 0x00000002
41 PAGE_READWRITE = 0x00000004
42
43 MEM_COMMIT = 0x00001000
44 MEM_RESERVE = 0x00002000
45 MEM_DECOMMIT = 0x00004000
46 MEM_RELEASE = 0x00008000
47 MEM_RESET = 0x00080000
48
49 MEM_IMAGE = 0x01000000
50 MEM_MAPPED = 0x00040000
51 MEM_PRIVATE = 0x00020000
52
53 PAGE_NOACCESS = 0x00000001
54 PAGE_READONLY = 0x00000002
55 PAGE_READWRITE = 0x00000004
56 PAGE_WRITECOPY = 0x00000008
57 PAGE_EXECUTE = 0x00000010
58 PAGE_EXECUTE_READ = 0x00000020
59 PAGE_EXECUTE_READWRITE = 0x00000040
60 PAGE_EXECUTE_WRITECOPY = 0x00000080
61 PAGE_GUARD = 0x00000100
62 PAGE_NOCACHE = 0x00000200
63 PAGE_WRITECOMBINE = 0x00000400
64
65 PIPE_ACCESS_DUPLEX = 0x00000003
66 PIPE_TYPE_MESSAGE = 0x00000004
67 PIPE_READMODE_MESSAGE = 0x00000002
68 PIPE_WAIT = 0x00000000
69 PIPE_UNLIMITED_INSTANCES = 0x000000ff
70 INVALID_HANDLE_VALUE = 0xffffffff
71 ERROR_BROKEN_PIPE = 0x0000006d
72 ERROR_MORE_DATA = 0x000000EA
73 ERROR_PIPE_CONNECTED = 0x00000217
74
75 WAIT_TIMEOUT = 0x00000102
76
77 FILE_ATTRIBUTE_HIDDEN = 0x00000002
78
79 WM_GETTEXT = 0x0000000D
80 WM_GETTEXTLENGTH = 0x0000000E
81 BM_CLICK = 0x000000F5
82
84 _fields_ = [
85 ("cb", DWORD),
86 ("lpReserved", LPTSTR),
87 ("lpDesktop", LPTSTR),
88 ("lpTitle", LPTSTR),
89 ("dwX", DWORD),
90 ("dwY", DWORD),
91 ("dwXSize", DWORD),
92 ("dwYSize", DWORD),
93 ("dwXCountChars", DWORD),
94 ("dwYCountChars", DWORD),
95 ("dwFillAttribute",DWORD),
96 ("dwFlags", DWORD),
97 ("wShowWindow", WORD),
98 ("cbReserved2", WORD),
99 ("lpReserved2", LPBYTE),
100 ("hStdInput", HANDLE),
101 ("hStdOutput", HANDLE),
102 ("hStdError", HANDLE),
103 ]
104
112
113 -class LUID(Structure):
118
124
130
141
143 _fields_ = [
144 ("wProcessorArchitecture", WORD),
145 ("wReserved", WORD),
146 ]
147
153
155 _fields_ = [
156 ("uSysInfo", SYSTEM_INFO_UNION),
157 ("dwPageSize", DWORD),
158 ("lpMinimumApplicationAddress", LPVOID),
159 ("lpMaximumApplicationAddress", LPVOID),
160 ("dwActiveProcessorMask", DWORD),
161 ("dwNumberOfProcessors", DWORD),
162 ("dwProcessorType", DWORD),
163 ("dwAllocationGranularity", DWORD),
164 ("wProcessorLevel", WORD),
165 ("wProcessorRevision", WORD),
166 ]
167