Detect the current architecture and operating system.
Some functions here are really from kernel32.dll, others from
version.dll.
|
__revision__ = ' $Id: version.py 1307 2013-12-20 16:51:25Z qvas ...
|
|
ERROR_NO_RECOVERY_PROGRAM = 1082
|
|
ERROR_DBG_TERMINATE_PROCESS = 692
|
|
ERROR_BUFFER_OVERFLOW = 111
|
|
STANDARD_RIGHTS_WRITE = 131072
|
|
STANDARD_RIGHTS_EXECUTE = 131072
|
|
SYNCHRONIZE = 1048576
|
|
ERROR_BAD_LENGTH = 24
|
|
TRUE = 1
|
|
ERROR_ENVVAR_NOT_FOUND = 203
|
|
ERROR_ELEVATION_REQUIRED = 740
|
|
ERROR_ALREADY_EXISTS = 183
|
|
ERROR_DIFFERENT_SERVICE_ACCOUNT = 1079
|
|
WIN32_VERBOSE_MODE = False
|
|
ERROR_FAILED_SERVICE_CONTROLLER_CONNECT = 1063
|
|
ERROR_NONE_MAPPED = 1332
|
|
ERROR_NOT_SUPPORTED = 50
|
|
ERROR_INVALID_HANDLE = 6
|
|
ERROR_INVALID_FUNCTION = 1
|
|
ERROR_DBG_REPLY_LATER = 689
|
|
ERROR_MORE_DATA = 234
|
|
ERROR_INVALID_PARAMETER = 87
|
|
ANYSIZE_ARRAY = 1
|
|
ERROR_FILE_EXISTS = 80
|
|
ERROR_INVALID_DRIVE = 15
|
|
ERROR_BAD_THREADID_ADDR = 159
|
|
STANDARD_RIGHTS_ALL = 2031616
|
|
ERROR_FILE_NOT_FOUND = 2
|
|
STANDARD_RIGHTS_READ = 131072
|
|
ERROR_DBG_CONTROL_BREAK = 696
|
|
ERROR_WOW_ASSERTION = 670
|
|
ERROR_NOT_ENOUGH_MEMORY = 8
|
|
ERROR_DBG_EXCEPTION_NOT_HANDLED = 688
|
|
ERROR_INVALID_NAME = 123
|
|
ERROR_SERVICE_NOT_IN_EXE = 1083
|
|
ERROR_SERVICE_NEVER_STARTED = 1077
|
|
ERROR_INSUFFICIENT_BUFFER = 122
|
|
MAX_MODULE_NAME32 = 255
|
|
ERROR_HANDLE_DISK_FULL = 39
|
|
ERROR_UNHANDLED_EXCEPTION = 574
|
|
ERROR_INVALID_FLAG_NUMBER = 186
|
|
ERROR_DBG_CONTINUE = 767
|
|
ERROR_SERVICE_DEPENDENCY_FAIL = 1068
|
|
ERROR_NOT_SAFEBOOT_SERVICE = 1084
|
|
ERROR_ALREADY_RUNNING_LKG = 1074
|
|
ERROR_THREAD_NOT_IN_PROCESS = 566
|
|
ERROR_CIRCULAR_DEPENDENCY = 1059
|
|
ERROR_CALL_NOT_IMPLEMENTED = 120
|
|
ERROR_SERVICE_DOES_NOT_EXIST = 1060
|
|
ERROR_DBG_PRINTEXCEPTION_C = 694
|
|
ERROR_SERVICE_MARKED_FOR_DELETE = 1072
|
|
MAX_PATH = 260
|
|
WRITE_DAC = 262144
|
|
ERROR_DBG_CONTROL_C = 693
|
|
STANDARD_RIGHTS_REQUIRED = 983040
|
|
ERROR_DATABASE_DOES_NOT_EXIST = 1065
|
|
ERROR_DBG_TERMINATE_THREAD = 691
|
|
ERROR_DEBUGGER_INACTIVE = 1284
|
|
windll = WinDllHook()
|
|
ERROR_PROC_NOT_FOUND = 127
|
|
ERROR_ASSERTION_FAILURE = 668
|
|
ERROR_INVALID_SERVICE_LOCK = 1071
|
|
ERROR_DUPLICATE_SERVICE_NAME = 1078
|
|
ERROR_SERVICE_LOGON_FAILED = 1069
|
|
WRITE_OWNER = 524288
|
|
ERROR_SERVICE_NOT_ACTIVE = 1062
|
|
WinCallHook
|
|
ERROR_BAD_PATHNAME = 161
|
|
ERROR_PROCESS_ABORTED = 1067
|
|
ERROR_PRIVILEGE_NOT_HELD = 1314
|
|
ERROR_DBG_RIPEXCEPTION = 695
|
|
ERROR_NOACCESS = 998
|
|
ERROR_BAD_ARGUMENTS = 160
|
|
ERROR_SERVICE_CANNOT_ACCEPT_CTRL = 1061
|
|
ERROR_BOOT_ALREADY_ACCEPTED = 1076
|
|
FALSE = 0
|
|
INVALID_HANDLE_VALUE = 4294967295
|
|
ERROR_DIR_NOT_EMPTY = 145
|
|
WinFuncHook
|
|
ERROR_DISK_FULL = 112
|
|
WinDllHook
|
|
ERROR_INVALID_ADDRESS = 487
|
|
DELETE = 65536
|
|
ERROR_FILENAME_EXCED_RANGE = 206
|
|
ERROR_NO_MORE_FILES = 18
|
|
ERROR_SERVICE_SPECIFIC_ERROR = 1066
|
|
ERROR_DBG_COMMAND_EXCEPTION = 697
|
|
ERROR_HANDLE_EOF = 38
|
|
NULL = None
hash(x)
|
|
ERROR_SERVICE_DEPENDENCY_DELETED = 1075
|
|
ERROR_CANNOT_DETECT_PROCESS_ABORT = 1081
|
|
ERROR_SEM_TIMEOUT = 121
|
|
ERROR_ACCESS_DENIED = 5
|
|
ERROR_PATH_NOT_FOUND = 3
|
|
ERROR_EXCEPTION_IN_SERVICE = 1064
|
|
ERROR_SUCCESS = 0
|
|
SPECIFIC_RIGHTS_ALL = 65535
|
|
RPC_S_SERVER_UNAVAILABLE = 1722
|
|
ERROR_CANNOT_DETECT_DRIVER_FAILURE = 1080
|
|
READ_CONTROL = 131072
|
|
INFINITE = -1
|
|
ERROR_DBG_EXCEPTION_HANDLED = 766
|
|
ERROR_MOD_NOT_FOUND = 126
|
|
ERROR_CONTROL_C_EXIT = 572
|
|
WAIT_TIMEOUT = 258
|
|
ERROR_PARTIAL_COPY = 299
|
|
ERROR_SERVICE_EXISTS = 1073
|
|
ERROR_NO_MORE_ITEMS = 259
|
|
ERROR_DBG_UNABLE_TO_PROVIDE_HANDLE = 690
|
|
ERROR_SERVICE_START_HANG = 1070
|
|
NTDDI_WIN8 = 100794368
|
|
NTDDI_WIN7SP1 = 100729088
|
|
NTDDI_WIN7 = 100728832
|
|
NTDDI_WS08 = 100663552
|
|
NTDDI_VISTASP1 = 100663552
|
|
NTDDI_VISTA = 100663296
|
|
NTDDI_LONGHORN = 100663296
|
|
NTDDI_WS03SP2 = 84017664
|
|
NTDDI_WS03SP1 = 84017408
|
|
NTDDI_WS03 = 84017152
|
|
NTDDI_WINXPSP3 = 83952384
|
|
NTDDI_WINXPSP2 = 83952128
|
|
NTDDI_WINXPSP1 = 83951872
|
|
NTDDI_WINXP = 83951616
|
|
NTDDI_WIN2KSP4 = 83887104
|
|
NTDDI_WIN2KSP3 = 83886848
|
|
NTDDI_WIN2KSP2 = 83886592
|
|
NTDDI_WIN2KSP1 = 83886336
|
|
NTDDI_WIN2K = 83886080
|
|
NTDDI_WINNT4 = 67108864
|
|
OSVERSION_MASK = 4294901760
|
|
SPVERSION_MASK = 65280
|
|
SUBVERSION_MASK = 255
|
|
VER_PLATFORM_WIN32s = 0
|
|
VER_PLATFORM_WIN32_WINDOWS = 1
|
|
VER_PLATFORM_WIN32_NT = 2
|
|
VER_SUITE_BACKOFFICE = 4
|
|
VER_SUITE_BLADE = 1024
|
|
VER_SUITE_COMPUTE_SERVER = 16384
|
|
VER_SUITE_DATACENTER = 128
|
|
VER_SUITE_ENTERPRISE = 2
|
|
VER_SUITE_EMBEDDEDNT = 64
|
|
VER_SUITE_PERSONAL = 512
|
|
VER_SUITE_SINGLEUSERTS = 256
|
|
VER_SUITE_SMALLBUSINESS = 1
|
|
VER_SUITE_SMALLBUSINESS_RESTRICTED = 32
|
|
VER_SUITE_STORAGE_SERVER = 8192
|
|
VER_SUITE_TERMINAL = 16
|
|
VER_SUITE_WH_SERVER = 32768
|
|
VER_NT_DOMAIN_CONTROLLER = 2
|
|
VER_NT_SERVER = 3
|
|
VER_NT_WORKSTATION = 1
|
|
VER_BUILDNUMBER = 4
|
|
VER_MAJORVERSION = 2
|
|
VER_MINORVERSION = 1
|
|
VER_PLATFORMID = 8
|
|
VER_PRODUCT_TYPE = 128
|
|
VER_SERVICEPACKMAJOR = 32
|
|
VER_SERVICEPACKMINOR = 16
|
|
VER_SUITENAME = 64
|
|
VER_EQUAL = 1
|
|
VER_GREATER = 2
|
|
VER_GREATER_EQUAL = 3
|
|
VER_LESS = 4
|
|
VER_LESS_EQUAL = 5
|
|
VER_AND = 6
|
|
VER_OR = 7
|
|
SM_CXSCREEN = 0
|
|
SM_CYSCREEN = 1
|
|
SM_CXVSCROLL = 2
|
|
SM_CYHSCROLL = 3
|
|
SM_CYCAPTION = 4
|
|
SM_CXBORDER = 5
|
|
SM_CYBORDER = 6
|
|
SM_CXDLGFRAME = 7
|
|
SM_CYDLGFRAME = 8
|
|
SM_CYVTHUMB = 9
|
|
SM_CXHTHUMB = 10
|
|
SM_CXICON = 11
|
|
SM_CYICON = 12
|
|
SM_CXCURSOR = 13
|
|
SM_CYCURSOR = 14
|
|
SM_CYMENU = 15
|
|
SM_CXFULLSCREEN = 16
|
|
SM_CYFULLSCREEN = 17
|
|
SM_CYKANJIWINDOW = 18
|
|
SM_MOUSEPRESENT = 19
|
|
SM_CYVSCROLL = 20
|
|
SM_CXHSCROLL = 21
|
|
SM_DEBUG = 22
|
|
SM_SWAPBUTTON = 23
|
|
SM_RESERVED1 = 24
|
|
SM_RESERVED2 = 25
|
|
SM_RESERVED3 = 26
|
|
SM_RESERVED4 = 27
|
|
SM_CXMIN = 28
|
|
SM_CYMIN = 29
|
|
SM_CXSIZE = 30
|
|
SM_CYSIZE = 31
|
|
SM_CXFRAME = 32
|
|
SM_CYFRAME = 33
|
|
SM_CXMINTRACK = 34
|
|
SM_CYMINTRACK = 35
|
|
SM_CXDOUBLECLK = 36
|
|
SM_CYDOUBLECLK = 37
|
|
SM_CXICONSPACING = 38
|
|
SM_CYICONSPACING = 39
|
|
SM_MENUDROPALIGNMENT = 40
|
|
SM_PENWINDOWS = 41
|
|
SM_DBCSENABLED = 42
|
|
SM_CMOUSEBUTTONS = 43
|
|
SM_CXFIXEDFRAME = 7
|
|
SM_CYFIXEDFRAME = 8
|
|
SM_CXSIZEFRAME = 32
|
|
SM_CYSIZEFRAME = 33
|
|
SM_SECURE = 44
|
|
SM_CXEDGE = 45
|
|
SM_CYEDGE = 46
|
|
SM_CXMINSPACING = 47
|
|
SM_CYMINSPACING = 48
|
|
SM_CXSMICON = 49
|
|
SM_CYSMICON = 50
|
|
SM_CYSMCAPTION = 51
|
|
SM_CXSMSIZE = 52
|
|
SM_CYSMSIZE = 53
|
|
SM_CXMENUSIZE = 54
|
|
SM_CYMENUSIZE = 55
|
|
SM_ARRANGE = 56
|
|
SM_CXMINIMIZED = 57
|
|
SM_CYMINIMIZED = 58
|
|
SM_CXMAXTRACK = 59
|
|
SM_CYMAXTRACK = 60
|
|
SM_CXMAXIMIZED = 61
|
|
SM_CYMAXIMIZED = 62
|
|
SM_NETWORK = 63
|
|
SM_CLEANBOOT = 67
|
|
SM_CXDRAG = 68
|
|
SM_CYDRAG = 69
|
|
SM_SHOWSOUNDS = 70
|
|
SM_CXMENUCHECK = 71
|
|
SM_CYMENUCHECK = 72
|
|
SM_SLOWMACHINE = 73
|
|
SM_MIDEASTENABLED = 74
|
|
SM_MOUSEWHEELPRESENT = 75
|
|
SM_XVIRTUALSCREEN = 76
|
|
SM_YVIRTUALSCREEN = 77
|
|
SM_CXVIRTUALSCREEN = 78
|
|
SM_CYVIRTUALSCREEN = 79
|
|
SM_CMONITORS = 80
|
|
SM_SAMEDISPLAYFORMAT = 81
|
|
SM_IMMENABLED = 82
|
|
SM_CXFOCUSBORDER = 83
|
|
SM_CYFOCUSBORDER = 84
|
|
SM_TABLETPC = 86
|
|
SM_MEDIACENTER = 87
|
|
SM_STARTER = 88
|
|
SM_SERVERR2 = 89
|
|
SM_MOUSEHORIZONTALWHEELPRESENT = 91
|
|
SM_CXPADDEDBORDER = 92
|
|
SM_CMETRICS = 93
|
|
SM_REMOTESESSION = 4096
|
|
SM_SHUTTINGDOWN = 8192
|
|
SM_REMOTECONTROL = 8193
|
|
SM_CARETBLINKINGENABLED = 8194
|
|
PROCESSOR_ARCHITECTURE_UNKNOWN = 65535
|
|
PROCESSOR_ARCHITECTURE_INTEL = 0
|
|
PROCESSOR_ARCHITECTURE_MIPS = 1
|
|
PROCESSOR_ARCHITECTURE_ALPHA = 2
|
|
PROCESSOR_ARCHITECTURE_PPC = 3
|
|
PROCESSOR_ARCHITECTURE_SHX = 4
|
|
PROCESSOR_ARCHITECTURE_ARM = 5
|
|
PROCESSOR_ARCHITECTURE_IA64 = 6
|
|
PROCESSOR_ARCHITECTURE_ALPHA64 = 7
|
|
PROCESSOR_ARCHITECTURE_MSIL = 8
|
|
PROCESSOR_ARCHITECTURE_AMD64 = 9
|
|
PROCESSOR_ARCHITECTURE_IA32_ON_WIN64 = 10
|
|
PROCESSOR_ARCHITECTURE_SPARC = 20
|
|
PROCESSOR_INTEL_386 = 386
|
|
PROCESSOR_INTEL_486 = 486
|
|
PROCESSOR_INTEL_PENTIUM = 586
|
|
PROCESSOR_INTEL_IA64 = 2200
|
|
PROCESSOR_AMD_X8664 = 8664
|
|
PROCESSOR_MIPS_R4000 = 4000
|
|
PROCESSOR_ALPHA_21064 = 21064
|
|
PROCESSOR_PPC_601 = 601
|
|
PROCESSOR_PPC_603 = 603
|
|
PROCESSOR_PPC_604 = 604
|
|
PROCESSOR_PPC_620 = 620
|
|
PROCESSOR_HITACHI_SH3 = 10003
|
|
PROCESSOR_HITACHI_SH3E = 10004
|
|
PROCESSOR_HITACHI_SH4 = 10005
|
|
PROCESSOR_MOTOROLA_821 = 821
|
|
PROCESSOR_SHx_SH3 = 103
|
|
PROCESSOR_SHx_SH4 = 104
|
|
PROCESSOR_STRONGARM = 2577
|
|
PROCESSOR_ARM720 = 1824
|
|
PROCESSOR_ARM820 = 2080
|
|
PROCESSOR_ARM920 = 2336
|
|
PROCESSOR_ARM_7TDMI = 70001
|
|
PROCESSOR_OPTIL = 18767
|
|
GetVersionEx = GuessStringType(GetVersionExA, GetVersionExW)
|
|
ARCH_UNKNOWN = ' unknown '
|
|
ARCH_I386 = ' i386 '
|
|
ARCH_MIPS = ' mips '
|
|
ARCH_ALPHA = ' alpha '
|
|
ARCH_PPC = ' ppc '
|
|
ARCH_SHX = ' shx '
|
|
ARCH_ARM = ' arm '
|
|
ARCH_ARM64 = ' arm64 '
|
|
ARCH_THUMB = ' thumb '
|
|
ARCH_IA64 = ' ia64 '
|
|
ARCH_ALPHA64 = ' alpha64 '
|
|
ARCH_MSIL = ' msil '
|
|
ARCH_AMD64 = ' amd64 '
|
|
ARCH_SPARC = ' sparc '
|
|
ARCH_IA32 = ' i386 '
|
|
ARCH_X86 = ' i386 '
|
|
ARCH_X64 = ' amd64 '
|
|
ARCH_ARM7 = ' arm '
|
|
ARCH_ARM8 = ' arm64 '
|
|
ARCH_T32 = ' thumb '
|
|
ARCH_AARCH32 = ' arm '
|
|
ARCH_AARCH64 = ' arm64 '
|
|
ARCH_POWERPC = ' ppc '
|
|
ARCH_HITACHI = ' shx '
|
|
ARCH_ITANIUM = ' ia64 '
|
|
_arch_map = { 0: ' i386 ' , 1: ' mips ' , 2: ' alpha ' , 3: ' ppc ' , 4: ' s ...
|
|
OS_UNKNOWN = ' Unknown '
|
|
OS_NT = ' Windows NT '
|
|
OS_W2K = ' Windows 2000 '
|
|
OS_XP = ' Windows XP '
|
|
OS_XP_64 = ' Windows XP (64 bits) '
|
|
OS_W2K3 = ' Windows 2003 '
|
|
OS_W2K3_64 = ' Windows 2003 (64 bits) '
|
|
OS_W2K3R2 = ' Windows 2003 R2 '
|
|
OS_W2K3R2_64 = ' Windows 2003 R2 (64 bits) '
|
|
OS_W2K8 = ' Windows 2008 '
|
|
OS_W2K8_64 = ' Windows 2008 (64 bits) '
|
|
OS_W2K8R2 = ' Windows 2008 R2 '
|
|
OS_W2K8R2_64 = ' Windows 2008 R2 (64 bits) '
|
|
OS_VISTA = ' Windows Vista '
|
|
OS_VISTA_64 = ' Windows Vista (64 bits) '
|
|
OS_W7 = ' Windows 7 '
|
|
OS_W7_64 = ' Windows 7 (64 bits) '
|
|
OS_SEVEN = ' Windows 7 '
|
|
OS_SEVEN_64 = ' Windows 7 (64 bits) '
|
|
OS_WINDOWS_NT = ' Windows NT '
|
|
OS_WINDOWS_2000 = ' Windows 2000 '
|
|
OS_WINDOWS_XP = ' Windows XP '
|
|
OS_WINDOWS_XP_64 = ' Windows XP (64 bits) '
|
|
OS_WINDOWS_2003 = ' Windows 2003 '
|
|
OS_WINDOWS_2003_64 = ' Windows 2003 (64 bits) '
|
|
OS_WINDOWS_2003_R2 = ' Windows 2003 R2 '
|
|
OS_WINDOWS_2003_R2_64 = ' Windows 2003 R2 (64 bits) '
|
|
OS_WINDOWS_2008 = ' Windows 2008 '
|
|
OS_WINDOWS_2008_64 = ' Windows 2008 (64 bits) '
|
|
OS_WINDOWS_2008_R2 = ' Windows 2008 R2 '
|
|
OS_WINDOWS_2008_R2_64 = ' Windows 2008 R2 (64 bits) '
|
|
OS_WINDOWS_VISTA = ' Windows Vista '
|
|
OS_WINDOWS_VISTA_64 = ' Windows Vista (64 bits) '
|
|
OS_WINDOWS_SEVEN = ' Windows 7 '
|
|
OS_WINDOWS_SEVEN_64 = ' Windows 7 (64 bits) '
|
|
bits = 32
|
|
arch = ' amd64 '
|
|
wow64 = True
|
|
_osvi = GetVersionEx()
|
|
os = ' Windows 7 (64 bits) '
|
|
NTDDI_VERSION = 100729088
|
|
WINVER = 1537
|
|
VS_FF_DEBUG = 1
|
|
VS_FF_PRERELEASE = 2
|
|
VS_FF_PATCHED = 4
|
|
VS_FF_PRIVATEBUILD = 8
|
|
VS_FF_INFOINFERRED = 16
|
|
VS_FF_SPECIALBUILD = 32
|
|
VOS_UNKNOWN = 0
|
|
VOS__WINDOWS16 = 1
|
|
VOS__PM16 = 2
|
|
VOS__PM32 = 3
|
|
VOS__WINDOWS32 = 4
|
|
VOS_DOS = 65536
|
|
VOS_OS216 = 131072
|
|
VOS_OS232 = 196608
|
|
VOS_NT = 262144
|
|
VOS_DOS_WINDOWS16 = 65537
|
|
VOS_DOS_WINDOWS32 = 65540
|
|
VOS_NT_WINDOWS32 = 262148
|
|
VOS_OS216_PM16 = 131074
|
|
VOS_OS232_PM32 = 196611
|
|
VFT_UNKNOWN = 0
|
|
VFT_APP = 1
|
|
VFT_DLL = 2
|
|
VFT_DRV = 3
|
|
VFT_FONT = 4
|
|
VFT_VXD = 5
|
|
VFT_RESERVED = 6
|
|
VFT_STATIC_LIB = 7
|
|
VFT2_UNKNOWN = 0
|
|
VFT2_DRV_PRINTER = 1
|
|
VFT2_DRV_KEYBOARD = 2
|
|
VFT2_DRV_LANGUAGE = 3
|
|
VFT2_DRV_DISPLAY = 4
|
|
VFT2_DRV_MOUSE = 5
|
|
VFT2_DRV_NETWORK = 6
|
|
VFT2_DRV_SYSTEM = 7
|
|
VFT2_DRV_INSTALLABLE = 8
|
|
VFT2_DRV_SOUND = 9
|
|
VFT2_DRV_COMM = 10
|
|
VFT2_DRV_RESERVED = 11
|
|
VFT2_DRV_VERSIONED_PRINTER = 12
|
|
VFT2_FONT_RASTER = 1
|
|
VFT2_FONT_VECTOR = 2
|
|
VFT2_FONT_TRUETYPE = 3
|
|
GetFileVersionInfo = GuessStringType(GetFileVersionInfoA, GetF...
|
|
VerQueryValue = GuessStringType(VerQueryValueA, VerQueryValueW)
|
|
_all = set([ ' ARCH_AARCH32 ' , ' ARCH_AARCH64 ' , ' ARCH_ALPHA ' , ' ARC ...
|
|
__package__ = ' winappdbg.win32 '
|
|
_x = ' SPVERSION_MASK '
|