mirror of
https://github.com/hakril/PythonForWindows
synced 2026-06-08 14:31:45 +00:00
Compare commits
111 Commits
teb_definition
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| f920ff5644 | |||
| d6ad3343e8 | |||
| 7142a8ddb8 | |||
| cf09ed86a9 | |||
| 1509f7bd56 | |||
| c7c8830ce5 | |||
| c46f086b88 | |||
| d3e8d73ac7 | |||
| 8fa8cf9be1 | |||
| fdda80fad6 | |||
| 650c672625 | |||
| 6c00426815 | |||
| d0e8443576 | |||
| 4b71ebb174 | |||
| 35e7a8da4a | |||
| c46d76a846 | |||
| bef410a1c3 | |||
| 426d28ded9 | |||
| 5f5ad2531b | |||
| 9aaf2c6f6c | |||
| 8d5bb5c032 | |||
| e4ca049004 | |||
| 5da940a7cb | |||
| d8b1ec6536 | |||
| dd9a809a58 | |||
| 596ab22f1f | |||
| 7446517863 | |||
| 1481e9cd46 | |||
| 37d5e9089e | |||
| 87eace22a0 | |||
| 1573271634 | |||
| df8a63e918 | |||
| 85a40d84f6 | |||
| b0d6003ded | |||
| a5b5c06bcd | |||
| 520fa864b8 | |||
| 6c588cf723 | |||
| 8eb3384fcf | |||
| b4c0223377 | |||
| 11665c4608 | |||
| 45b781b96c | |||
| 83af73a872 | |||
| be935b0f68 | |||
| 8a14cc5b3a | |||
| 1ad456049a | |||
| 16e10af8d8 | |||
| ebded59c43 | |||
| a418035e1e | |||
| e3c6deeee7 | |||
| d4952e21ba | |||
| fc0c81eb70 | |||
| bd52b1a5a3 | |||
| 064b22f99e | |||
| 909669321b | |||
| 405616290f | |||
| a93c9b7f11 | |||
| 06b96e65d0 | |||
| b51a6e1808 | |||
| 26b42a0587 | |||
| 13f2993cf1 | |||
| 4113d8ad3f | |||
| 75f1121182 | |||
| 5c25e333e6 | |||
| 54b518ca5f | |||
| d094fb8209 | |||
| 017867d79d | |||
| e58d80c3c5 | |||
| d7ff43a829 | |||
| 013c35bf40 | |||
| 6a54bca39a | |||
| 2a1217e7b8 | |||
| 6ade13d6bb | |||
| b1d2d5719b | |||
| 5352013a8f | |||
| bce15d0d3c | |||
| 1889899535 | |||
| 1bc7818552 | |||
| 7c96da8c75 | |||
| 458a0d0558 | |||
| 493fe75be8 | |||
| a7b6ddedd6 | |||
| e7679ecfcf | |||
| 4e5325c8ea | |||
| 9b5be5ffd5 | |||
| 720385d15a | |||
| 2cef60377f | |||
| ce13bf08e3 | |||
| 8151292042 | |||
| 646e55c740 | |||
| 00a2f1a7d6 | |||
| 2c9a159a81 | |||
| ea6b7b932d | |||
| 314cd2b862 | |||
| 3a3e6bc931 | |||
| 234844cf12 | |||
| 1297996725 | |||
| 1a9b680fba | |||
| e37f87c35c | |||
| 6eb31e9205 | |||
| b22c5d6055 | |||
| 458774f1ac | |||
| fd00e97d80 | |||
| 533cddae97 | |||
| 57076b84dd | |||
| 1c498aa0e9 | |||
| 7abda41a9d | |||
| 3489a560fb | |||
| 6fd32762da | |||
| aab4fdc02d | |||
| ff4161602c | |||
| 8932682ba2 |
@@ -26,7 +26,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
runs-on: [windows-2019, windows-latest]
|
||||
runs-on: [windows-2022, windows-latest]
|
||||
python-version: [2.7, 3.6, 3.11]
|
||||
python-architecture: [x86, x64]
|
||||
include:
|
||||
@@ -94,3 +94,35 @@ jobs:
|
||||
secondary_rate_limit_wait_seconds: 90
|
||||
seconds_between_github_writes: 10
|
||||
seconds_between_github_reads: 1
|
||||
|
||||
# tests_arm64:
|
||||
# needs: generate_ctypes
|
||||
# timeout-minutes: 15
|
||||
# runs-on: windows-ARM64
|
||||
# continue-on-error: true
|
||||
#
|
||||
# strategy:
|
||||
# fail-fast: false
|
||||
# matrix:
|
||||
# python-version: [3.11]
|
||||
# python-architecture: [x86, x64, arm64]
|
||||
# include:
|
||||
# # Translate architecture to bitness for py.exe commandline
|
||||
# - python-bitness-to-test: 32
|
||||
# python-architecture: x86
|
||||
# - python-bitness-to-test: 64
|
||||
# python-architecture: x64
|
||||
# - python-bitness-to-test: arm64
|
||||
# python-architecture: arm64
|
||||
#
|
||||
# steps:
|
||||
# - uses: actions/checkout@v4
|
||||
#
|
||||
# - name: Listing python versions availables
|
||||
# run: py -0
|
||||
#
|
||||
# - name: Testing PFW execute
|
||||
# run: py -${{ matrix.python-version}}-${{ matrix.python-bitness-to-test}} -c "import windows; print(windows)"
|
||||
#
|
||||
# - name: Arm64 pytests
|
||||
# run: py -${{ matrix.python-version}}-${{ matrix.python-bitness-to-test}} -m pytest tests -k "not test_debugger" -v -s -r fEsx
|
||||
@@ -0,0 +1,79 @@
|
||||
// We have a rare case of defines that depends on an enum
|
||||
// Which is PROC_THREAD_ATTRIBUTE_NUM
|
||||
// So i Will just define a copy of those as define here
|
||||
// Define version copied from: https://github.com/winsiderss/systeminformer/blob/master/phnt/include/ntpsapi.h#L2666
|
||||
// Thx to them, as always :)
|
||||
|
||||
#define ProcThreadAttributeParentProcess 0 // in HANDLE
|
||||
#define ProcThreadAttributeExtendedFlags 1 // in ULONG (EXTENDED_PROCESS_CREATION_FLAG_*)
|
||||
#define ProcThreadAttributeHandleList 2 // in HANDLE[]
|
||||
#define ProcThreadAttributeGroupAffinity 3 // in GROUP_AFFINITY // since WIN7
|
||||
#define ProcThreadAttributePreferredNode 4 // in USHORT
|
||||
#define ProcThreadAttributeIdealProcessor 5 // in PROCESSOR_NUMBER
|
||||
#define ProcThreadAttributeUmsThread 6 // in UMS_CREATE_THREAD_ATTRIBUTES
|
||||
#define ProcThreadAttributeMitigationPolicy 7 // in ULONG, ULONG64, or ULONG64[2]
|
||||
#define ProcThreadAttributePackageFullName 8 // in WCHAR[] // since WIN8
|
||||
#define ProcThreadAttributeSecurityCapabilities 9 // in SECURITY_CAPABILITIES
|
||||
#define ProcThreadAttributeConsoleReference 10 // BaseGetConsoleReference (kernelbase.dll)
|
||||
#define ProcThreadAttributeProtectionLevel 11 // in ULONG (PROTECTION_LEVEL_*) // since WINBLUE
|
||||
#define ProcThreadAttributeOsMaxVersionTested 12 // in MAXVERSIONTESTED_INFO // since THRESHOLD // (from exe.manifest)
|
||||
#define ProcThreadAttributeJobList 13 // in HANDLE[]
|
||||
#define ProcThreadAttributeChildProcessPolicy 14 // in ULONG (PROCESS_CREATION_CHILD_PROCESS_*) // since THRESHOLD2
|
||||
#define ProcThreadAttributeAllApplicationPackagesPolicy 15 // in ULONG (PROCESS_CREATION_ALL_APPLICATION_PACKAGES_*) // since REDSTONE
|
||||
#define ProcThreadAttributeWin32kFilter 16 // in WIN32K_SYSCALL_FILTER
|
||||
#define ProcThreadAttributeSafeOpenPromptOriginClaim 17 // in SE_SAFE_OPEN_PROMPT_RESULTS
|
||||
#define ProcThreadAttributeDesktopAppPolicy 18 // in ULONG (PROCESS_CREATION_DESKTOP_APP_*) // since RS2
|
||||
#define ProcThreadAttributeBnoIsolation 19 // in PROC_THREAD_BNOISOLATION_ATTRIBUTE
|
||||
#define ProcThreadAttributePseudoConsole 22 // in HANDLE (HPCON) // since RS5
|
||||
#define ProcThreadAttributeIsolationManifest 23 // in ISOLATION_MANIFEST_PROPERTIES // rev (diversenok) // since 19H2+
|
||||
#define ProcThreadAttributeMitigationAuditPolicy 24 // in ULONG, ULONG64, or ULONG64[2] // since 21H1
|
||||
#define ProcThreadAttributeMachineType 25 // in USHORT // since 21H2
|
||||
#define ProcThreadAttributeComponentFilter 26 // in ULONG
|
||||
#define ProcThreadAttributeEnableOptionalXStateFeatures 27 // in ULONG64 // since WIN11
|
||||
#define ProcThreadAttributeCreateStore 28 // ULONG // rev (diversenok)
|
||||
#define ProcThreadAttributeTrustedApp 29
|
||||
#define ProcThreadAttributeSveVectorLength 30
|
||||
|
||||
// Real definition of value usef by API
|
||||
// From: https://github.com/microsoft/win32metadata/blob/6af96d8470751e13a4e3f579f84b7b8b3ca398e1/generation/WinSDK/RecompiledIdlHeaders/um/WinBase.h#L3568
|
||||
// macro ProcThreadAttributeValue is recoded in python in template.py
|
||||
// I replace TRUE by True && FALSE by False for native python compat :)
|
||||
|
||||
#define PROC_THREAD_ATTRIBUTE_NUMBER 0x0000FFFF
|
||||
#define PROC_THREAD_ATTRIBUTE_THREAD 0x00010000 // Attribute may be used with thread creation
|
||||
#define PROC_THREAD_ATTRIBUTE_INPUT 0x00020000 // Attribute is input only
|
||||
#define PROC_THREAD_ATTRIBUTE_ADDITIVE 0x00040000 // Attribute may be "accumulated," e.g. bitmasks,
|
||||
|
||||
#define PROC_THREAD_ATTRIBUTE_PARENT_PROCESS \
|
||||
ProcThreadAttributeValue (ProcThreadAttributeParentProcess, False, True, False)
|
||||
#define PROC_THREAD_ATTRIBUTE_HANDLE_LIST \
|
||||
ProcThreadAttributeValue (ProcThreadAttributeHandleList, False, True, False)
|
||||
|
||||
#define PROC_THREAD_ATTRIBUTE_GROUP_AFFINITY \
|
||||
ProcThreadAttributeValue (ProcThreadAttributeGroupAffinity, True, True, False)
|
||||
#define PROC_THREAD_ATTRIBUTE_PREFERRED_NODE \
|
||||
ProcThreadAttributeValue (ProcThreadAttributePreferredNode, False, True, False)
|
||||
#define PROC_THREAD_ATTRIBUTE_IDEAL_PROCESSOR \
|
||||
ProcThreadAttributeValue (ProcThreadAttributeIdealProcessor, True, True, False)
|
||||
#define PROC_THREAD_ATTRIBUTE_UMS_THREAD \
|
||||
ProcThreadAttributeValue (ProcThreadAttributeUmsThread, True, True, False)
|
||||
#define PROC_THREAD_ATTRIBUTE_MITIGATION_POLICY \
|
||||
ProcThreadAttributeValue (ProcThreadAttributeMitigationPolicy, False, True, False)
|
||||
|
||||
#define PROC_THREAD_ATTRIBUTE_SECURITY_CAPABILITIES \
|
||||
ProcThreadAttributeValue (ProcThreadAttributeSecurityCapabilities, False, True, False)
|
||||
|
||||
#define PROC_THREAD_ATTRIBUTE_PROTECTION_LEVEL \
|
||||
ProcThreadAttributeValue (ProcThreadAttributeProtectionLevel, False, True, False)
|
||||
|
||||
#define PROC_THREAD_ATTRIBUTE_PSEUDOCONSOLE \
|
||||
ProcThreadAttributeValue (ProcThreadAttributePseudoConsole, False, True, False)
|
||||
|
||||
#define PROC_THREAD_ATTRIBUTE_MACHINE_TYPE \
|
||||
ProcThreadAttributeValue (ProcThreadAttributeMachineType, False, True, False)
|
||||
|
||||
#define PROC_THREAD_ATTRIBUTE_ENABLE_OPTIONAL_XSTATE_FEATURES \
|
||||
ProcThreadAttributeValue (ProcThreadAttributeEnableOptionalXStateFeatures, True, True, False)
|
||||
|
||||
#define PROC_THREAD_ATTRIBUTE_SVE_VECTOR_LENGTH \
|
||||
ProcThreadAttributeValue (ProcThreadAttributeSveVectorLength, False, True, False)
|
||||
@@ -0,0 +1,38 @@
|
||||
#define PROCESSOR_INTEL_386 386
|
||||
#define PROCESSOR_INTEL_486 486
|
||||
#define PROCESSOR_INTEL_PENTIUM 586
|
||||
#define PROCESSOR_INTEL_IA64 2200
|
||||
#define PROCESSOR_MIPS_R4000 4000 // incl R4101 & R3910 for Windows CE
|
||||
#define PROCESSOR_ALPHA_21064 21064
|
||||
#define PROCESSOR_PPC_601 601
|
||||
#define PROCESSOR_PPC_603 603
|
||||
#define PROCESSOR_PPC_604 604
|
||||
#define PROCESSOR_PPC_620 620
|
||||
#define PROCESSOR_HITACHI_SH3 10003 // Windows CE
|
||||
#define PROCESSOR_HITACHI_SH3E 10004 // Windows CE
|
||||
#define PROCESSOR_HITACHI_SH4 10005 // Windows CE
|
||||
#define PROCESSOR_MOTOROLA_821 821 // Windows CE
|
||||
#define PROCESSOR_SHx_SH3 103 // Windows CE
|
||||
#define PROCESSOR_SHx_SH4 104 // Windows CE
|
||||
#define PROCESSOR_STRONGARM 2577 // Windows CE - 0xA11
|
||||
#define PROCESSOR_ARM720 1824 // Windows CE - 0x720
|
||||
#define PROCESSOR_ARM820 2080 // Windows CE - 0x820
|
||||
#define PROCESSOR_ARM920 2336 // Windows CE - 0x920
|
||||
#define PROCESSOR_ARM_7TDMI 70001 // Windows CE
|
||||
#define PROCESSOR_OPTIL 0x494f // MSIL
|
||||
|
||||
#define PROCESSOR_ARCHITECTURE_INTEL 0
|
||||
#define PROCESSOR_ARCHITECTURE_MIPS 1
|
||||
#define PROCESSOR_ARCHITECTURE_ALPHA 2
|
||||
#define PROCESSOR_ARCHITECTURE_PPC 3
|
||||
#define PROCESSOR_ARCHITECTURE_SHX 4
|
||||
#define PROCESSOR_ARCHITECTURE_ARM 5
|
||||
#define PROCESSOR_ARCHITECTURE_IA64 6
|
||||
#define PROCESSOR_ARCHITECTURE_ALPHA64 7
|
||||
#define PROCESSOR_ARCHITECTURE_MSIL 8
|
||||
#define PROCESSOR_ARCHITECTURE_AMD64 9
|
||||
#define PROCESSOR_ARCHITECTURE_IA32_ON_WIN64 10
|
||||
#define PROCESSOR_ARCHITECTURE_NEUTRAL 11
|
||||
#define PROCESSOR_ARCHITECTURE_ARM64 12
|
||||
#define PROCESSOR_ARCHITECTURE_ARM32_ON_WIN64 13
|
||||
#define PROCESSOR_ARCHITECTURE_UNKNOWN 0xFFFF
|
||||
@@ -24,3 +24,19 @@ def CTL_CODE(DeviceType, Function, Method, Access):
|
||||
|
||||
def HRESULT_FACILITY(hr):
|
||||
return (((hr) >> 16) & 0x1fff)
|
||||
|
||||
# https://github.com/microsoft/win32metadata/blob/6af96d8470751e13a4e3f579f84b7b8b3ca398e1/generation/WinSDK/RecompiledIdlHeaders/um/WinBase.h#L3562
|
||||
# Original MACRO:
|
||||
|
||||
#define ProcThreadAttributeValue(Number, Thread, Input, Additive) \
|
||||
# (((Number) & PROC_THREAD_ATTRIBUTE_NUMBER) | \
|
||||
# ((Thread != FALSE) ? PROC_THREAD_ATTRIBUTE_THREAD : 0) | \
|
||||
# ((Input != FALSE) ? PROC_THREAD_ATTRIBUTE_INPUT : 0) | \
|
||||
# ((Additive != FALSE) ? PROC_THREAD_ATTRIBUTE_ADDITIVE : 0))
|
||||
|
||||
def ProcThreadAttributeValue(Number, Thread, Input, Additive):
|
||||
return ((Number & PROC_THREAD_ATTRIBUTE_NUMBER) |
|
||||
(Thread and PROC_THREAD_ATTRIBUTE_THREAD) |
|
||||
(Input and PROC_THREAD_ATTRIBUTE_INPUT) |
|
||||
(Additive and PROC_THREAD_ATTRIBUTE_ADDITIVE))
|
||||
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
// Atrget architecture description
|
||||
|
||||
#define CONTEXT_I386 0x00010000 // An old PFW error in case ?
|
||||
#define CONTEXT_AMD64 0x00100000
|
||||
#define CONTEXT_ARM 0x00200000
|
||||
#define CONTEXT_ARM64 0x00400000
|
||||
#define CONTEXT_i386 0x00010000L // this assumes that i386 and
|
||||
#define CONTEXT_i486 0x00010000L // i486 have identical context records
|
||||
#define WOW64_CONTEXT_i386 0x00010000 // this assumes that i386 and
|
||||
#define WOW64_CONTEXT_i486 0x00010000 // i486 have identical context records
|
||||
|
||||
// Not perfect, should be explicitly for an architecture
|
||||
|
||||
#define CONTEXT_CONTROL 0x00000001L
|
||||
#define CONTEXT_INTEGER 0x00000002L
|
||||
#define CONTEXT_SEGMENTS 0x00000004L
|
||||
#define CONTEXT_FLOATING_POINT 0x00000008L
|
||||
#define CONTEXT_DEBUG_REGISTERS 0x00000010L
|
||||
#define CONTEXT_EXTENDED_REGISTERS 0x00000020L
|
||||
#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS)
|
||||
#define CONTEXT_ALL (CONTEXT_FULL | CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS | CONTEXT_EXTENDED_REGISTERS)
|
||||
|
||||
#define CONTEXT_XSTATE (CONTEXT_I386 | 0x00000040L)
|
||||
|
||||
// WOW64
|
||||
|
||||
|
||||
|
||||
#define WOW64_CONTEXT_CONTROL (WOW64_CONTEXT_i386 | 0x00000001L) // SS:SP, CS:IP, FLAGS, BP
|
||||
#define WOW64_CONTEXT_INTEGER (WOW64_CONTEXT_i386 | 0x00000002L) // AX, BX, CX, DX, SI, DI
|
||||
#define WOW64_CONTEXT_SEGMENTS (WOW64_CONTEXT_i386 | 0x00000004L) // DS, ES, FS, GS
|
||||
#define WOW64_CONTEXT_FLOATING_POINT (WOW64_CONTEXT_i386 | 0x00000008L) // 387 state
|
||||
#define WOW64_CONTEXT_DEBUG_REGISTERS (WOW64_CONTEXT_i386 | 0x00000010L) // DB 0-3,6,7
|
||||
#define WOW64_CONTEXT_EXTENDED_REGISTERS (WOW64_CONTEXT_i386 | 0x00000020L) // cpu specific extensions
|
||||
|
||||
#define WOW64_CONTEXT_FULL (WOW64_CONTEXT_CONTROL | WOW64_CONTEXT_INTEGER | WOW64_CONTEXT_SEGMENTS)
|
||||
|
||||
#define WOW64_CONTEXT_ALL (WOW64_CONTEXT_CONTROL | WOW64_CONTEXT_INTEGER | WOW64_CONTEXT_SEGMENTS | \
|
||||
WOW64_CONTEXT_FLOATING_POINT | WOW64_CONTEXT_DEBUG_REGISTERS | \
|
||||
WOW64_CONTEXT_EXTENDED_REGISTERS)
|
||||
|
||||
#define WOW64_CONTEXT_XSTATE (WOW64_CONTEXT_i386 | 0x00000040L)
|
||||
|
||||
#define WOW64_CONTEXT_EXCEPTION_ACTIVE 0x08000000
|
||||
#define WOW64_CONTEXT_SERVICE_ACTIVE 0x10000000
|
||||
#define WOW64_CONTEXT_EXCEPTION_REQUEST 0x40000000
|
||||
#define WOW64_CONTEXT_EXCEPTION_REPORTING 0x80000000
|
||||
|
||||
// ARM64
|
||||
|
||||
#define CONTEXT_ARM64_CONTROL (CONTEXT_ARM64 | 0x1L)
|
||||
#define CONTEXT_ARM64_INTEGER (CONTEXT_ARM64 | 0x2L)
|
||||
#define CONTEXT_ARM64_FLOATING_POINT (CONTEXT_ARM64 | 0x4L)
|
||||
#define CONTEXT_ARM64_DEBUG_REGISTERS (CONTEXT_ARM64 | 0x8L)
|
||||
#define CONTEXT_ARM64_X18 (CONTEXT_ARM64 | 0x10L)
|
||||
|
||||
#define CONTEXT_UNWOUND_TO_CALL 0x20000000
|
||||
#define CONTEXT_RET_TO_GUEST 0x04000000
|
||||
|
||||
#define ARM64_MAX_BREAKPOINTS 8
|
||||
#define ARM64_MAX_WATCHPOINTS 2
|
||||
@@ -130,22 +130,6 @@
|
||||
#define TH32CS_SNAPALL (TH32CS_SNAPHEAPLIST | TH32CS_SNAPPROCESS | TH32CS_SNAPTHREAD | TH32CS_SNAPMODULE)
|
||||
#define TH32CS_INHERIT 0x80000000
|
||||
|
||||
#define CONTEXT_I386 0x00010000
|
||||
#define CONTEXT_AMD64 0x00100000
|
||||
#define CONTEXT_ARM 0x00200000
|
||||
#define CONTEXT_ARM64 0x00400000
|
||||
|
||||
#define CONTEXT_CONTROL 0x00000001L
|
||||
#define CONTEXT_INTEGER 0x00000002L
|
||||
#define CONTEXT_SEGMENTS 0x00000004L
|
||||
#define CONTEXT_FLOATING_POINT 0x00000008L
|
||||
#define CONTEXT_DEBUG_REGISTERS 0x00000010L
|
||||
#define CONTEXT_EXTENDED_REGISTERS 0x00000020L
|
||||
#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS)
|
||||
#define CONTEXT_ALL (CONTEXT_FULL | CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS | CONTEXT_EXTENDED_REGISTERS)
|
||||
|
||||
#define CONTEXT_XSTATE (CONTEXT_I386 | 0x00000040L)
|
||||
|
||||
|
||||
#define PAGE_NOACCESS 0x01
|
||||
#define PAGE_READONLY 0x02
|
||||
|
||||
@@ -100,4 +100,6 @@
|
||||
#define IMAGE_FILE_MACHINE_AMD64 0x8664
|
||||
#define IMAGE_FILE_MACHINE_M32R 0x9041
|
||||
#define IMAGE_FILE_MACHINE_CEE 0xC0EE
|
||||
#define IMAGE_FILE_MACHINE_ARM64 0xAA64
|
||||
#define IMAGE_FILE_MACHINE_ARM64 0xAA64
|
||||
|
||||
#define IMAGE_FILE_MACHINE_TARGET_HOST 0x0001 // Useful for indicating we want to interact with the host and not a WoW guest.
|
||||
@@ -387,6 +387,38 @@
|
||||
#define CRYPT_ARCHIVABLE 0x00004000
|
||||
#define CRYPT_FORCE_KEY_PROTECTION_HIGH 0x00008000
|
||||
|
||||
#define CERT_RDN_ANY_TYPE 0
|
||||
#define CERT_RDN_ENCODED_BLOB 1
|
||||
#define CERT_RDN_OCTET_STRING 2
|
||||
#define CERT_RDN_NUMERIC_STRING 3
|
||||
#define CERT_RDN_PRINTABLE_STRING 4
|
||||
#define CERT_RDN_TELETEX_STRING 5
|
||||
#define CERT_RDN_T61_STRING 5
|
||||
#define CERT_RDN_VIDEOTEX_STRING 6
|
||||
#define CERT_RDN_IA5_STRING 7
|
||||
#define CERT_RDN_GRAPHIC_STRING 8
|
||||
#define CERT_RDN_VISIBLE_STRING 9
|
||||
#define CERT_RDN_ISO646_STRING 9
|
||||
#define CERT_RDN_GENERAL_STRING 10
|
||||
#define CERT_RDN_UNIVERSAL_STRING 11
|
||||
#define CERT_RDN_INT4_STRING 11
|
||||
#define CERT_RDN_BMP_STRING 12
|
||||
#define CERT_RDN_UNICODE_STRING 12
|
||||
#define CERT_RDN_UTF8_STRING 13
|
||||
#define CERT_RDN_TYPE_MASK 0xff
|
||||
#define CERT_RDN_FLAGS_MASK 0xff000000
|
||||
#define CERT_RDN_ENABLE_T61_UNICODE_FLAG 0x80000000
|
||||
#define CERT_RDN_ENABLE_UTF8_UNICODE_FLAG 0x20000000
|
||||
#define CERT_RDN_FORCE_UTF8_UNICODE_FLAG 0x10000000
|
||||
#define CERT_RDN_DISABLE_CHECK_TYPE_FLAG 0x40000000
|
||||
#define CERT_RDN_DISABLE_IE4_UTF8_FLAG 0x1000000
|
||||
|
||||
#define CRYPT_DECODE_NOCOPY_FLAG 0x1
|
||||
#define CRYPT_DECODE_TO_BE_SIGNED_FLAG 0x2
|
||||
#define CRYPT_DECODE_SHARE_OID_STRING_FLAG 0x4
|
||||
#define CRYPT_DECODE_NO_SIGNATURE_BYTE_REVERSAL_FLAG 0x8
|
||||
#define CRYPT_DECODE_ALLOC_FLAG 0x8000
|
||||
#define CRYPT_UNICODE_NAME_DECODE_DISABLE_IE4_UTF8_FLAG CERT_RDN_DISABLE_IE4_UTF8_FLAG
|
||||
|
||||
#define CRYPT_ENCODE_DECODE_NONE 0
|
||||
#define X509_CERT (1)
|
||||
@@ -582,4 +614,47 @@
|
||||
#define CMSG_CTRL_MAIL_LIST_DECRYPT 18
|
||||
#define CMSG_CTRL_VERIFY_SIGNATURE_EX 19
|
||||
#define CMSG_CTRL_ADD_CMS_SIGNER_INFO 20
|
||||
#define CMSG_CTRL_ENABLE_STRONG_SIGNATURE 21
|
||||
#define CMSG_CTRL_ENABLE_STRONG_SIGNATURE 21
|
||||
|
||||
|
||||
//+-------------------------------------------------------------------------
|
||||
// The following flag should be set in the above dwFlags to enable
|
||||
// a CertSetCertificateContextProperty(CERT_KEY_CONTEXT_PROP_ID) after a
|
||||
// CryptAcquireContext is done in the Sign or Decrypt Message functions.
|
||||
//
|
||||
// The following define must not collide with any of the
|
||||
// CryptAcquireContext dwFlag defines.
|
||||
//--------------------------------------------------------------------------
|
||||
#define CERT_SET_KEY_PROV_HANDLE_PROP_ID 0x00000001
|
||||
#define CERT_SET_KEY_CONTEXT_PROP_ID 0x00000001
|
||||
|
||||
// Special dwKeySpec indicating a CNG NCRYPT_KEY_HANDLE instead of a CAPI1
|
||||
// HCRYPTPROV
|
||||
#define CERT_NCRYPT_KEY_SPEC 0xFFFFFFFF
|
||||
|
||||
|
||||
#define CERT_REQUEST_V1 0
|
||||
|
||||
|
||||
// Include\10.0.10240.0\um\wincrypt.h
|
||||
|
||||
#define CRYPT_STRING_BASE64HEADER 0x00000000
|
||||
#define CRYPT_STRING_BASE64 0x00000001
|
||||
#define CRYPT_STRING_BINARY 0x00000002
|
||||
#define CRYPT_STRING_BASE64REQUESTHEADER 0x00000003
|
||||
#define CRYPT_STRING_HEX 0x00000004
|
||||
#define CRYPT_STRING_HEXASCII 0x00000005
|
||||
#define CRYPT_STRING_BASE64_ANY 0x00000006
|
||||
#define CRYPT_STRING_ANY 0x00000007
|
||||
#define CRYPT_STRING_HEX_ANY 0x00000008
|
||||
#define CRYPT_STRING_BASE64X509CRLHEADER 0x00000009
|
||||
#define CRYPT_STRING_HEXADDR 0x0000000a
|
||||
#define CRYPT_STRING_HEXASCIIADDR 0x0000000b
|
||||
#define CRYPT_STRING_HEXRAW 0x0000000c
|
||||
#define CRYPT_STRING_BASE64URI 0x0000000d
|
||||
|
||||
#define CRYPT_STRING_PERCENTESCAPE 0x08000000 // base64 formats only
|
||||
#define CRYPT_STRING_HASHDATA 0x10000000
|
||||
#define CRYPT_STRING_STRICT 0x20000000
|
||||
#define CRYPT_STRING_NOCRLF 0x40000000
|
||||
#define CRYPT_STRING_NOCR 0x80000000
|
||||
@@ -617,4 +617,64 @@ BOOL CryptGetOIDFunctionValue(
|
||||
BOOL CertCloseStore(
|
||||
HCERTSTORE hCertStore,
|
||||
DWORD dwFlags
|
||||
);
|
||||
|
||||
BOOL CryptSignAndEncodeCertificate(
|
||||
[in] BCRYPT_KEY_HANDLE hBCryptKey,
|
||||
[in] DWORD dwKeySpec,
|
||||
[in] DWORD dwCertEncodingType,
|
||||
[in] LPCSTR lpszStructType,
|
||||
[in] PVOID pvStructInfo,
|
||||
[in] PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm,
|
||||
[in] PVOID pvHashAuxInfo,
|
||||
[out] BYTE *pbEncoded,
|
||||
[in, out] DWORD *pcbEncoded
|
||||
);
|
||||
|
||||
BOOL CryptSignCertificate(
|
||||
[in] BCRYPT_KEY_HANDLE hBCryptKey,
|
||||
[in] DWORD dwKeySpec,
|
||||
[in] DWORD dwCertEncodingType,
|
||||
[in] BYTE *pbEncodedToBeSigned,
|
||||
[in] DWORD cbEncodedToBeSigned,
|
||||
[in] PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm,
|
||||
[in] PVOID pvHashAuxInfo,
|
||||
[out] BYTE *pbSignature,
|
||||
[in, out] DWORD *pcbSignature
|
||||
);
|
||||
|
||||
BOOL CryptBinaryToStringA(
|
||||
[in] BYTE *pbBinary,
|
||||
[in] DWORD cbBinary,
|
||||
[in] DWORD dwFlags,
|
||||
[out, optional] LPSTR pszString,
|
||||
[in, out] DWORD *pcchString
|
||||
);
|
||||
|
||||
BOOL CryptBinaryToStringW(
|
||||
[in] BYTE *pbBinary,
|
||||
[in] DWORD cbBinary,
|
||||
[in] DWORD dwFlags,
|
||||
[out, optional] LPWSTR pszString,
|
||||
[in, out] DWORD *pcchString
|
||||
);
|
||||
|
||||
BOOL CryptStringToBinaryA(
|
||||
[in] LPCSTR pszString,
|
||||
[in] DWORD cchString,
|
||||
[in] DWORD dwFlags,
|
||||
[in] BYTE *pbBinary,
|
||||
[in, out] DWORD *pcbBinary,
|
||||
[out] DWORD *pdwSkip,
|
||||
[out] DWORD *pdwFlags
|
||||
);
|
||||
|
||||
BOOL CryptStringToBinaryW(
|
||||
[in] LPCWSTR pszString,
|
||||
[in] DWORD cchString,
|
||||
[in] DWORD dwFlags,
|
||||
[in] BYTE *pbBinary,
|
||||
[in, out] DWORD *pcbBinary,
|
||||
[out] DWORD *pdwSkip,
|
||||
[out] DWORD *pdwFlags
|
||||
);
|
||||
@@ -0,0 +1,14 @@
|
||||
SECURITY_STATUS NCryptOpenKey(
|
||||
[in] NCRYPT_PROV_HANDLE hProvider,
|
||||
[out] NCRYPT_KEY_HANDLE *phKey,
|
||||
[in] LPCWSTR pszKeyName,
|
||||
[in] DWORD dwLegacyKeySpec,
|
||||
[in] DWORD dwFlags
|
||||
);
|
||||
|
||||
|
||||
SECURITY_STATUS NCryptOpenStorageProvider(
|
||||
[out] NCRYPT_PROV_HANDLE *phProvider,
|
||||
[in, optional] LPCWSTR pszProviderName,
|
||||
[in] DWORD dwFlags
|
||||
);
|
||||
@@ -65,6 +65,19 @@ BOOL FreeLibrary(
|
||||
HMODULE hLibModule
|
||||
);
|
||||
|
||||
BOOL GetProcessInformation(
|
||||
[in] HANDLE hProcess,
|
||||
[in] PROCESS_INFORMATION_CLASS ProcessInformationClass,
|
||||
LPVOID ProcessInformation,
|
||||
[in] DWORD ProcessInformationSize
|
||||
);
|
||||
|
||||
BOOL SetProcessInformation(
|
||||
[in] HANDLE hProcess,
|
||||
[in] PROCESS_INFORMATION_CLASS ProcessInformationClass,
|
||||
LPVOID ProcessInformation,
|
||||
[in] DWORD ProcessInformationSize
|
||||
);
|
||||
|
||||
/* Not documented by seems present since dawn of time (WRK)
|
||||
I Prefere PVOID as a return value to allow simple cast to PEB subclass in process.py*/
|
||||
|
||||
@@ -59,4 +59,12 @@ BOOL LookupAccountNameW(
|
||||
LPWSTR ReferencedDomainName,
|
||||
LPDWORD cchReferencedDomainName,
|
||||
PSID_NAME_USE peUse
|
||||
);
|
||||
|
||||
PVOID GetNativeSystemInfo(
|
||||
[out] LPSYSTEM_INFO lpSystemInfo
|
||||
);
|
||||
|
||||
PVOID GetSystemInfo(
|
||||
[out] LPSYSTEM_INFO lpSystemInfo
|
||||
);
|
||||
@@ -0,0 +1,83 @@
|
||||
BOOL IsWow64Process(
|
||||
[in] HANDLE hProcess,
|
||||
[out] PBOOL Wow64Process
|
||||
);
|
||||
|
||||
BOOL IsWow64Process2(
|
||||
[in] HANDLE hProcess,
|
||||
[out] USHORT *pProcessMachine,
|
||||
[out, optional] USHORT *pNativeMachine
|
||||
);
|
||||
|
||||
HRESULT IsWow64GuestMachineSupported(
|
||||
[in] USHORT WowGuestMachine,
|
||||
[out] BOOL *MachineIsSupported
|
||||
);
|
||||
|
||||
UINT GetSystemWow64DirectoryA(
|
||||
[out] LPSTR lpBuffer,
|
||||
[in] UINT uSize
|
||||
);
|
||||
|
||||
UINT GetSystemWow64DirectoryW(
|
||||
[out] LPWSTR lpBuffer,
|
||||
[in] UINT uSize
|
||||
);
|
||||
|
||||
UINT GetSystemWow64Directory2A(
|
||||
[out] LPSTR lpBuffer,
|
||||
[in] UINT uSize,
|
||||
[in] WORD ImageFileMachineType
|
||||
);
|
||||
|
||||
UINT GetSystemWow64Directory2W(
|
||||
[out] LPWSTR lpBuffer,
|
||||
[in] UINT uSize,
|
||||
[in] WORD ImageFileMachineType
|
||||
);
|
||||
|
||||
BOOL Wow64DisableWow64FsRedirection(
|
||||
[out] PVOID *OldValue
|
||||
);
|
||||
|
||||
BOOLEAN Wow64EnableWow64FsRedirection(
|
||||
BOOLEAN Wow64FsEnableRedirection
|
||||
);
|
||||
|
||||
BOOL Wow64RevertWow64FsRedirection(
|
||||
[in] PVOID OlValue
|
||||
);
|
||||
|
||||
BOOL Wow64GetThreadContext(
|
||||
HANDLE hThread,
|
||||
PWOW64_CONTEXT lpContext
|
||||
);
|
||||
|
||||
BOOL Wow64SetThreadContext(
|
||||
HANDLE hThread,
|
||||
WOW64_CONTEXT *lpContext
|
||||
);
|
||||
|
||||
USHORT Wow64SetThreadDefaultGuestMachine(
|
||||
USHORT Machine
|
||||
);
|
||||
|
||||
DWORD Wow64SuspendThread(
|
||||
HANDLE hThread
|
||||
);
|
||||
|
||||
NTSTATUS WINAPI NtWow64ReadVirtualMemory64(
|
||||
_In_ HANDLE hProcess,
|
||||
_In_ ULONG64 lpBaseAddress,
|
||||
_Out_ LPVOID lpBuffer,
|
||||
_In_ ULONG64 nSize,
|
||||
_Out_ PULONG64 lpNumberOfBytesRead
|
||||
);
|
||||
|
||||
NTSTATUS WINAPI NtWow64WriteVirtualMemory64(
|
||||
_In_ HANDLE hProcess,
|
||||
_In_ ULONG64 lpBaseAddress,
|
||||
_Out_ LPVOID lpBuffer,
|
||||
_In_ ULONG64 nSize,
|
||||
_Out_ PULONG64 lpNumberOfBytesWritten
|
||||
);
|
||||
@@ -150,6 +150,17 @@ HANDLE WINAPI CreateRemoteThread(
|
||||
_Out_ LPDWORD lpThreadId
|
||||
);
|
||||
|
||||
HANDLE CreateRemoteThreadEx(
|
||||
[in] HANDLE hProcess,
|
||||
[in, optional] LPSECURITY_ATTRIBUTES lpThreadAttributes,
|
||||
[in] SIZE_T dwStackSize,
|
||||
[in] LPTHREAD_START_ROUTINE lpStartAddress,
|
||||
[in, optional] LPVOID lpParameter,
|
||||
[in] DWORD dwCreationFlags,
|
||||
[in, optional] LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList,
|
||||
[out, optional] LPDWORD lpThreadId
|
||||
);
|
||||
|
||||
BOOL WINAPI CreateProcessA(
|
||||
__in_opt LPCSTR lpApplicationName,
|
||||
__inout_opt LPSTR lpCommandLine,
|
||||
@@ -242,13 +253,6 @@ BOOL WINAPI ReadProcessMemory(
|
||||
_Out_ SIZE_T *lpNumberOfBytesRead
|
||||
);
|
||||
|
||||
NTSTATUS WINAPI NtWow64ReadVirtualMemory64(
|
||||
_In_ HANDLE hProcess,
|
||||
_In_ ULONG64 lpBaseAddress,
|
||||
_Out_ LPVOID lpBuffer,
|
||||
_In_ ULONG64 nSize,
|
||||
_Out_ PULONG64 lpNumberOfBytesRead
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI WriteProcessMemory(
|
||||
@@ -260,13 +264,7 @@ BOOL WINAPI WriteProcessMemory(
|
||||
);
|
||||
|
||||
|
||||
NTSTATUS WINAPI NtWow64WriteVirtualMemory64(
|
||||
_In_ HANDLE hProcess,
|
||||
_In_ ULONG64 lpBaseAddress,
|
||||
_Out_ LPVOID lpBuffer,
|
||||
_In_ ULONG64 nSize,
|
||||
_Out_ PULONG64 lpNumberOfBytesWritten
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -518,23 +516,6 @@ BOOL WINAPI DeviceIoControl(
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI Wow64DisableWow64FsRedirection(
|
||||
_Out_ PVOID *OldValue
|
||||
);
|
||||
|
||||
BOOL WINAPI Wow64RevertWow64FsRedirection(
|
||||
_In_ PVOID OldValue
|
||||
);
|
||||
|
||||
BOOLEAN WINAPI Wow64EnableWow64FsRedirection(
|
||||
_In_ BOOLEAN Wow64FsEnableRedirection
|
||||
);
|
||||
|
||||
BOOL WINAPI Wow64GetThreadContext(
|
||||
_In_ HANDLE hThread,
|
||||
_Inout_ PWOW64_CONTEXT lpContext
|
||||
);
|
||||
|
||||
BOOL WINAPI SetConsoleCtrlHandler(
|
||||
_In_opt_ PHANDLER_ROUTINE HandlerRoutine,
|
||||
_In_ BOOL Add
|
||||
@@ -669,10 +650,6 @@ DWORD WINAPI GetProcessId(
|
||||
_In_ HANDLE Process
|
||||
);
|
||||
|
||||
BOOL WINAPI Wow64SetThreadContext(
|
||||
__in HANDLE hThread,
|
||||
__in CONST WOW64_CONTEXT *lpContext
|
||||
);
|
||||
|
||||
DWORD WINAPI GetMappedFileNameW (
|
||||
__in HANDLE hProcess,
|
||||
|
||||
@@ -86,6 +86,7 @@ PWINDBG_EXTENSION_APIS32 = PVOID
|
||||
PWINDBG_EXTENSION_APIS64 = PVOID
|
||||
FILEOP_FLAGS = WORD
|
||||
NET_API_STATUS = DWORD
|
||||
SECURITY_STATUS = LONG // Return type of ncrypt functions
|
||||
|
||||
|
||||
// 2 custom PFW defintions for bitness-forces structures
|
||||
@@ -94,6 +95,7 @@ PVOID64 = DWORD64
|
||||
|
||||
NCRYPT_HANDLE = ULONG_PTR
|
||||
NCRYPT_PROV_HANDLE = ULONG_PTR
|
||||
BCRYPT_KEY_HANDLE = ULONG_PTR
|
||||
NCRYPT_KEY_HANDLE = ULONG_PTR
|
||||
NCRYPT_HASH_HANDLE = ULONG_PTR
|
||||
NCRYPT_SECRET_HANDLE = ULONG_PTR
|
||||
|
||||
@@ -715,4 +715,12 @@ typedef struct _STRUCT_PLAINTEXTKEYBLOB {
|
||||
BLOBHEADER hdr;
|
||||
DWORD dwKeySize;
|
||||
BYTE rgbKeyData[0];
|
||||
} STRUCT_PLAINTEXTKEYBLOB, *PSTRUCT_PLAINTEXTKEYBLOB;
|
||||
} STRUCT_PLAINTEXTKEYBLOB, *PSTRUCT_PLAINTEXTKEYBLOB;
|
||||
|
||||
typedef struct _CERT_REQUEST_INFO {
|
||||
DWORD dwVersion;
|
||||
CERT_NAME_BLOB Subject;
|
||||
CERT_PUBLIC_KEY_INFO SubjectPublicKeyInfo;
|
||||
DWORD cAttribute;
|
||||
PCRYPT_ATTRIBUTE rgAttribute;
|
||||
} CERT_REQUEST_INFO, *PCERT_REQUEST_INFO;
|
||||
@@ -0,0 +1,24 @@
|
||||
typedef enum _PROC_THREAD_ATTRIBUTE_NUM {
|
||||
ProcThreadAttributeParentProcess = 0,
|
||||
ProcThreadAttributeHandleList = 2,
|
||||
ProcThreadAttributeGroupAffinity = 3,
|
||||
ProcThreadAttributePreferredNode = 4,
|
||||
ProcThreadAttributeIdealProcessor = 5,
|
||||
ProcThreadAttributeUmsThread = 6,
|
||||
ProcThreadAttributeMitigationPolicy = 7,
|
||||
ProcThreadAttributeSecurityCapabilities = 9,
|
||||
ProcThreadAttributeProtectionLevel = 11,
|
||||
ProcThreadAttributeJobList = 13,
|
||||
ProcThreadAttributeChildProcessPolicy = 14,
|
||||
ProcThreadAttributeAllApplicationPackagesPolicy = 15,
|
||||
ProcThreadAttributeWin32kFilter = 16,
|
||||
ProcThreadAttributeSafeOpenPromptOriginClaim = 17,
|
||||
ProcThreadAttributeDesktopAppPolicy = 18,
|
||||
ProcThreadAttributePseudoConsole = 22,
|
||||
ProcThreadAttributeMitigationAuditPolicy = 24,
|
||||
ProcThreadAttributeMachineType = 25,
|
||||
ProcThreadAttributeComponentFilter = 26,
|
||||
ProcThreadAttributeEnableOptionalXStateFeatures = 27,
|
||||
ProcThreadAttributeTrustedApp = 29,
|
||||
ProcThreadAttributeSveVectorLength = 30,
|
||||
} PROC_THREAD_ATTRIBUTE_NUM;
|
||||
@@ -0,0 +1,124 @@
|
||||
typedef enum _MEMORY_INFORMATION_CLASS {
|
||||
MemoryBasicInformation,
|
||||
MemoryWorkingSetList,
|
||||
MemorySectionName,
|
||||
MemoryBasicVlmInformation,
|
||||
MemoryWorkingSetListEx
|
||||
} MEMORY_INFORMATION_CLASS;
|
||||
|
||||
typedef enum _THREAD_INFORMATION_CLASS {
|
||||
ThreadBasicInformation,
|
||||
ThreadTimes,
|
||||
ThreadPriority,
|
||||
ThreadBasePriority,
|
||||
ThreadAffinityMask,
|
||||
ThreadImpersonationToken,
|
||||
ThreadDescriptorTableEntry,
|
||||
ThreadEnableAlignmentFaultFixup,
|
||||
ThreadEventPair,
|
||||
ThreadQuerySetWin32StartAddress,
|
||||
ThreadZeroTlsCell,
|
||||
ThreadPerformanceCount,
|
||||
ThreadAmILastThread,
|
||||
ThreadIdealProcessor,
|
||||
ThreadPriorityBoost,
|
||||
ThreadSetTlsArrayAddress,
|
||||
ThreadIsIoPending,
|
||||
ThreadHideFromDebugger
|
||||
} THREAD_INFORMATION_CLASS, *PTHREAD_INFORMATION_CLASS;
|
||||
|
||||
// For NtQueryInformationProcess
|
||||
typedef enum _PROCESSINFOCLASS {
|
||||
ProcessBasicInformation = 0,
|
||||
ProcessQuotaLimits = 1,
|
||||
ProcessIoCounters = 2,
|
||||
ProcessVmCounters = 3,
|
||||
ProcessTimes = 4,
|
||||
ProcessBasePriority = 5,
|
||||
ProcessRaisePriority = 6,
|
||||
ProcessDebugPort = 7,
|
||||
ProcessExceptionPort = 8,
|
||||
ProcessAccessToken = 9,
|
||||
ProcessLdtInformation = 10,
|
||||
ProcessLdtSize = 11,
|
||||
ProcessDefaultHardErrorMode = 12,
|
||||
ProcessIoPortHandlers = 13, // Note: this is kernel mode only
|
||||
ProcessPooledUsageAndLimits = 14,
|
||||
ProcessWorkingSetWatch = 15,
|
||||
ProcessUserModeIOPL = 16,
|
||||
ProcessEnableAlignmentFaultFixup = 17,
|
||||
ProcessPriorityClass = 18,
|
||||
ProcessWx86Information = 19,
|
||||
ProcessHandleCount = 20,
|
||||
ProcessAffinityMask = 21,
|
||||
ProcessPriorityBoost = 22,
|
||||
ProcessDeviceMap = 23,
|
||||
ProcessSessionInformation = 24,
|
||||
ProcessForegroundInformation = 25,
|
||||
ProcessWow64Information = 26,
|
||||
ProcessImageFileName = 27,
|
||||
ProcessLUIDDeviceMapsEnabled = 28,
|
||||
ProcessBreakOnTermination = 29,
|
||||
ProcessDebugObjectHandle = 30,
|
||||
ProcessDebugFlags = 31,
|
||||
ProcessHandleTracing = 32,
|
||||
ProcessIoPriority = 33,
|
||||
ProcessExecuteFlags = 34,
|
||||
ProcessTlsInformation = 35,
|
||||
ProcessCookie = 36,
|
||||
ProcessImageInformation = 37,
|
||||
ProcessCycleTime = 38,
|
||||
ProcessPagePriority = 39,
|
||||
ProcessInstrumentationCallback = 40,
|
||||
ProcessThreadStackAllocation = 41,
|
||||
ProcessWorkingSetWatchEx = 42,
|
||||
ProcessImageFileNameWin32 = 43,
|
||||
ProcessImageFileMapping = 44,
|
||||
ProcessAffinityUpdateMode = 45,
|
||||
ProcessMemoryAllocationMode = 46,
|
||||
ProcessGroupInformation = 47,
|
||||
ProcessTokenVirtualizationEnabled = 48,
|
||||
ProcessOwnerInformation = 49,
|
||||
ProcessWindowInformation = 50,
|
||||
ProcessHandleInformation = 51,
|
||||
ProcessMitigationPolicy = 52,
|
||||
ProcessDynamicFunctionTableInformation = 53,
|
||||
ProcessHandleCheckingMode = 54,
|
||||
ProcessKeepAliveCount = 55,
|
||||
ProcessRevokeFileHandles = 56,
|
||||
ProcessWorkingSetControl = 57,
|
||||
ProcessHandleTable = 58,
|
||||
ProcessCheckStackExtentsMode = 59,
|
||||
ProcessCommandLineInformation = 60,
|
||||
ProcessProtectionInformation = 61,
|
||||
ProcessMemoryExhaustion = 62,
|
||||
ProcessFaultInformation = 63,
|
||||
ProcessTelemetryIdInformation = 64,
|
||||
ProcessCommitReleaseInformation = 65,
|
||||
ProcessReserved1Information = 66,
|
||||
ProcessReserved2Information = 67,
|
||||
ProcessSubsystemProcess = 68,
|
||||
ProcessInPrivate = 70,
|
||||
ProcessRaiseUMExceptionOnInvalidHandleClose = 71,
|
||||
ProcessSubsystemInformation = 75,
|
||||
ProcessWin32kSyscallFilterInformation = 79,
|
||||
ProcessEnergyTrackingState = 82,
|
||||
MaxProcessInfoClass // MaxProcessInfoClass should always be the last enum
|
||||
} PROCESSINFOCLASS;
|
||||
|
||||
// GetProcessInfo
|
||||
typedef enum _PROCESS_INFORMATION_CLASS {
|
||||
ProcessMemoryPriority,
|
||||
ProcessMemoryExhaustionInfo,
|
||||
ProcessAppMemoryInfo,
|
||||
ProcessInPrivateInfo,
|
||||
ProcessPowerThrottling,
|
||||
ProcessReservedValue1,
|
||||
ProcessTelemetryCoverageInfo,
|
||||
ProcessProtectionLevelInfo,
|
||||
ProcessLeapSecondInfo,
|
||||
ProcessMachineTypeInfo, // Map to 0xe6(230) for the syscall NtQueryInformationProcess
|
||||
ProcessOverrideSubsequentPrefetchParameter,
|
||||
ProcessMaxOverridePrefetchParameter,
|
||||
ProcessInformationClassMax
|
||||
} PROCESS_INFORMATION_CLASS;
|
||||
@@ -0,0 +1,11 @@
|
||||
typedef enum _MACHINE_ATTRIBUTES {
|
||||
UserEnabled = 0x00000001,
|
||||
KernelEnabled = 0x00000002,
|
||||
Wow64Container = 0x00000004
|
||||
} MACHINE_ATTRIBUTES;
|
||||
|
||||
typedef struct _PROCESS_MACHINE_INFORMATION {
|
||||
USHORT ProcessMachine;
|
||||
USHORT Res0;
|
||||
MACHINE_ATTRIBUTES MachineAttributes;
|
||||
} PROCESS_MACHINE_INFORMATION;
|
||||
@@ -67,3 +67,22 @@ typedef enum _COMPUTER_NAME_FORMAT {
|
||||
ComputerNamePhysicalDnsFullyQualified,
|
||||
ComputerNameMax
|
||||
} COMPUTER_NAME_FORMAT;
|
||||
|
||||
typedef struct _SYSTEM_INFO {
|
||||
union {
|
||||
DWORD dwOemId;
|
||||
struct {
|
||||
WORD wProcessorArchitecture;
|
||||
WORD wReserved;
|
||||
} DUMMYSTRUCTNAME;
|
||||
} DUMMYUNIONNAME;
|
||||
DWORD dwPageSize;
|
||||
LPVOID lpMinimumApplicationAddress;
|
||||
LPVOID lpMaximumApplicationAddress;
|
||||
DWORD_PTR dwActiveProcessorMask;
|
||||
DWORD dwNumberOfProcessors;
|
||||
DWORD dwProcessorType;
|
||||
DWORD dwAllocationGranularity;
|
||||
WORD wProcessorLevel;
|
||||
WORD wProcessorRevision;
|
||||
} SYSTEM_INFO, *LPSYSTEM_INFO;
|
||||
@@ -0,0 +1,347 @@
|
||||
typedef union _ARM64_NT_NEON128 {
|
||||
struct {
|
||||
ULONGLONG Low;
|
||||
LONGLONG High;
|
||||
} DUMMYSTRUCTNAME;
|
||||
DOUBLE D[2];
|
||||
FLOAT S[4];
|
||||
WORD H[8];
|
||||
BYTE B[16];
|
||||
} ARM64_NT_NEON128, *PARM64_NT_NEON128;
|
||||
|
||||
typedef struct _ARM64_NT_CONTEXT {
|
||||
|
||||
//
|
||||
// Control flags.
|
||||
//
|
||||
|
||||
/* +0x000 */ DWORD ContextFlags;
|
||||
|
||||
//
|
||||
// Integer registers
|
||||
//
|
||||
|
||||
/* +0x004 */ DWORD Cpsr; // NZVF + DAIF + CurrentEL + SPSel
|
||||
/* +0x008 */ union {
|
||||
struct {
|
||||
DWORD64 X0;
|
||||
DWORD64 X1;
|
||||
DWORD64 X2;
|
||||
DWORD64 X3;
|
||||
DWORD64 X4;
|
||||
DWORD64 X5;
|
||||
DWORD64 X6;
|
||||
DWORD64 X7;
|
||||
DWORD64 X8;
|
||||
DWORD64 X9;
|
||||
DWORD64 X10;
|
||||
DWORD64 X11;
|
||||
DWORD64 X12;
|
||||
DWORD64 X13;
|
||||
DWORD64 X14;
|
||||
DWORD64 X15;
|
||||
DWORD64 X16;
|
||||
DWORD64 X17;
|
||||
DWORD64 X18;
|
||||
DWORD64 X19;
|
||||
DWORD64 X20;
|
||||
DWORD64 X21;
|
||||
DWORD64 X22;
|
||||
DWORD64 X23;
|
||||
DWORD64 X24;
|
||||
DWORD64 X25;
|
||||
DWORD64 X26;
|
||||
DWORD64 X27;
|
||||
DWORD64 X28;
|
||||
/* +0x0f0 */ DWORD64 Fp;
|
||||
/* +0x0f8 */ DWORD64 Lr;
|
||||
} DUMMYSTRUCTNAME;
|
||||
DWORD64 X[31];
|
||||
} DUMMYUNIONNAME;
|
||||
/* +0x100 */ DWORD64 Sp;
|
||||
/* +0x108 */ DWORD64 Pc;
|
||||
|
||||
//
|
||||
// Floating Point/NEON Registers
|
||||
//
|
||||
|
||||
/* +0x110 */ ARM64_NT_NEON128 V[32];
|
||||
/* +0x310 */ DWORD Fpcr;
|
||||
/* +0x314 */ DWORD Fpsr;
|
||||
|
||||
//
|
||||
// Debug registers
|
||||
//
|
||||
|
||||
/* +0x318 */ DWORD Bcr[ARM64_MAX_BREAKPOINTS];
|
||||
/* +0x338 */ DWORD64 Bvr[ARM64_MAX_BREAKPOINTS];
|
||||
/* +0x378 */ DWORD Wcr[ARM64_MAX_WATCHPOINTS];
|
||||
/* +0x380 */ DWORD64 Wvr[ARM64_MAX_WATCHPOINTS];
|
||||
/* +0x390 */
|
||||
|
||||
} ARM64_NT_CONTEXT, *PARM64_NT_CONTEXT;
|
||||
|
||||
|
||||
|
||||
|
||||
typedef struct _FLOATING_SAVE_AREA {
|
||||
DWORD ControlWord;
|
||||
DWORD StatusWord;
|
||||
DWORD TagWord;
|
||||
DWORD ErrorOffset;
|
||||
DWORD ErrorSelector;
|
||||
DWORD DataOffset;
|
||||
DWORD DataSelector;
|
||||
BYTE RegisterArea[80];
|
||||
DWORD Cr0NpxState;
|
||||
} FLOATING_SAVE_AREA;
|
||||
|
||||
typedef struct _CONTEXT32 {
|
||||
|
||||
DWORD ContextFlags;
|
||||
|
||||
DWORD Dr0;
|
||||
DWORD Dr1;
|
||||
DWORD Dr2;
|
||||
DWORD Dr3;
|
||||
DWORD Dr6;
|
||||
DWORD Dr7;
|
||||
|
||||
FLOATING_SAVE_AREA FloatSave;
|
||||
|
||||
DWORD SegGs;
|
||||
DWORD SegFs;
|
||||
DWORD SegEs;
|
||||
DWORD SegDs;
|
||||
|
||||
DWORD Edi;
|
||||
DWORD Esi;
|
||||
DWORD Ebx;
|
||||
DWORD Edx;
|
||||
DWORD Ecx;
|
||||
DWORD Eax;
|
||||
|
||||
DWORD Ebp;
|
||||
DWORD Eip;
|
||||
DWORD SegCs;
|
||||
DWORD EFlags;
|
||||
DWORD Esp;
|
||||
DWORD SegSs;
|
||||
|
||||
BYTE ExtendedRegisters[512];
|
||||
|
||||
} CONTEXT32, *PCONTEXT32, *LPCONTEXT32;
|
||||
|
||||
typedef struct _WOW64_FLOATING_SAVE_AREA {
|
||||
DWORD ControlWord;
|
||||
DWORD StatusWord;
|
||||
DWORD TagWord;
|
||||
DWORD ErrorOffset;
|
||||
DWORD ErrorSelector;
|
||||
DWORD DataOffset;
|
||||
DWORD DataSelector;
|
||||
BYTE RegisterArea[WOW64_SIZE_OF_80387_REGISTERS];
|
||||
DWORD Cr0NpxState;
|
||||
} WOW64_FLOATING_SAVE_AREA;
|
||||
|
||||
typedef struct _WOW64_CONTEXT {
|
||||
|
||||
DWORD ContextFlags;
|
||||
|
||||
DWORD Dr0;
|
||||
DWORD Dr1;
|
||||
DWORD Dr2;
|
||||
DWORD Dr3;
|
||||
DWORD Dr6;
|
||||
DWORD Dr7;
|
||||
|
||||
WOW64_FLOATING_SAVE_AREA FloatSave;
|
||||
|
||||
DWORD SegGs;
|
||||
DWORD SegFs;
|
||||
DWORD SegEs;
|
||||
DWORD SegDs;
|
||||
|
||||
DWORD Edi;
|
||||
DWORD Esi;
|
||||
DWORD Ebx;
|
||||
DWORD Edx;
|
||||
DWORD Ecx;
|
||||
DWORD Eax;
|
||||
DWORD Ebp;
|
||||
DWORD Eip;
|
||||
DWORD SegCs;
|
||||
DWORD EFlags;
|
||||
DWORD Esp;
|
||||
DWORD SegSs;
|
||||
|
||||
BYTE ExtendedRegisters[WOW64_MAXIMUM_SUPPORTED_EXTENSION];
|
||||
|
||||
} WOW64_CONTEXT, *PWOW64_CONTEXT;
|
||||
|
||||
|
||||
typedef struct _M128A {
|
||||
ULONGLONG Low;
|
||||
LONGLONG High;
|
||||
} M128A, *PM128A;
|
||||
|
||||
typedef struct _XSAVE_FORMAT_64 {
|
||||
WORD ControlWord;
|
||||
WORD StatusWord;
|
||||
BYTE TagWord;
|
||||
BYTE Reserved1;
|
||||
WORD ErrorOpcode;
|
||||
DWORD ErrorOffset;
|
||||
WORD ErrorSelector;
|
||||
WORD Reserved2;
|
||||
DWORD DataOffset;
|
||||
WORD DataSelector;
|
||||
WORD Reserved3;
|
||||
DWORD MxCsr;
|
||||
DWORD MxCsr_Mask;
|
||||
M128A FloatRegisters[8];
|
||||
M128A XmmRegisters[16];
|
||||
BYTE Reserved4[96];
|
||||
} XSAVE_FORMAT_64, *PXSAVE_FORMAT_64;
|
||||
|
||||
typedef struct _XSAVE_FORMAT_32 {
|
||||
WORD ControlWord;
|
||||
WORD StatusWord;
|
||||
BYTE TagWord;
|
||||
BYTE Reserved1;
|
||||
WORD ErrorOpcode;
|
||||
DWORD ErrorOffset;
|
||||
WORD ErrorSelector;
|
||||
WORD Reserved2;
|
||||
DWORD DataOffset;
|
||||
WORD DataSelector;
|
||||
WORD Reserved3;
|
||||
DWORD MxCsr;
|
||||
DWORD MxCsr_Mask;
|
||||
M128A FloatRegisters[8];
|
||||
M128A XmmRegisters[8];
|
||||
BYTE Reserved4[192];
|
||||
DWORD StackControl[7];
|
||||
DWORD Cr0NpxState;
|
||||
} XSAVE_FORMAT_32, *PXSAVE_FORMAT_32;
|
||||
|
||||
|
||||
typedef struct _CONTEXT64 {
|
||||
|
||||
//
|
||||
// Register parameter home addresses.
|
||||
//
|
||||
// N.B. These fields are for convience - they could be used to extend the
|
||||
// context record in the future.
|
||||
//
|
||||
|
||||
DWORD64 P1Home;
|
||||
DWORD64 P2Home;
|
||||
DWORD64 P3Home;
|
||||
DWORD64 P4Home;
|
||||
DWORD64 P5Home;
|
||||
DWORD64 P6Home;
|
||||
|
||||
//
|
||||
// Control flags.
|
||||
//
|
||||
|
||||
DWORD ContextFlags;
|
||||
DWORD MxCsr;
|
||||
|
||||
//
|
||||
// Segment Registers and processor flags.
|
||||
//
|
||||
|
||||
WORD SegCs;
|
||||
WORD SegDs;
|
||||
WORD SegEs;
|
||||
WORD SegFs;
|
||||
WORD SegGs;
|
||||
WORD SegSs;
|
||||
DWORD EFlags;
|
||||
|
||||
//
|
||||
// Debug registers
|
||||
//
|
||||
|
||||
DWORD64 Dr0;
|
||||
DWORD64 Dr1;
|
||||
DWORD64 Dr2;
|
||||
DWORD64 Dr3;
|
||||
DWORD64 Dr6;
|
||||
DWORD64 Dr7;
|
||||
|
||||
//
|
||||
// Integer registers.
|
||||
//
|
||||
|
||||
DWORD64 Rax;
|
||||
DWORD64 Rcx;
|
||||
DWORD64 Rdx;
|
||||
DWORD64 Rbx;
|
||||
DWORD64 Rsp;
|
||||
DWORD64 Rbp;
|
||||
DWORD64 Rsi;
|
||||
DWORD64 Rdi;
|
||||
DWORD64 R8;
|
||||
DWORD64 R9;
|
||||
DWORD64 R10;
|
||||
DWORD64 R11;
|
||||
DWORD64 R12;
|
||||
DWORD64 R13;
|
||||
DWORD64 R14;
|
||||
DWORD64 R15;
|
||||
|
||||
//
|
||||
// Program counter.
|
||||
//
|
||||
|
||||
DWORD64 Rip;
|
||||
|
||||
//
|
||||
// Floating point state.
|
||||
//
|
||||
|
||||
union {
|
||||
XSAVE_FORMAT_64 FltSave;
|
||||
struct {
|
||||
M128A Header[2];
|
||||
M128A Legacy[8];
|
||||
M128A Xmm0;
|
||||
M128A Xmm1;
|
||||
M128A Xmm2;
|
||||
M128A Xmm3;
|
||||
M128A Xmm4;
|
||||
M128A Xmm5;
|
||||
M128A Xmm6;
|
||||
M128A Xmm7;
|
||||
M128A Xmm8;
|
||||
M128A Xmm9;
|
||||
M128A Xmm10;
|
||||
M128A Xmm11;
|
||||
M128A Xmm12;
|
||||
M128A Xmm13;
|
||||
M128A Xmm14;
|
||||
M128A Xmm15;
|
||||
} DUMMYSTRUCTNAME;
|
||||
} DUMMYUNIONNAME;
|
||||
|
||||
//
|
||||
// Vector registers.
|
||||
//
|
||||
|
||||
M128A VectorRegister[26];
|
||||
DWORD64 VectorControl;
|
||||
|
||||
//
|
||||
// Special debug control registers.
|
||||
//
|
||||
|
||||
DWORD64 DebugControl;
|
||||
DWORD64 LastBranchToRip;
|
||||
DWORD64 LastBranchFromRip;
|
||||
DWORD64 LastExceptionToRip;
|
||||
DWORD64 LastExceptionFromRip;
|
||||
|
||||
} CONTEXT64, *PCONTEXT64, *LPCONTEXT64;
|
||||
@@ -380,112 +380,7 @@ typedef enum _SECTION_INHERIT {
|
||||
ViewUnmap = 2
|
||||
} SECTION_INHERIT;
|
||||
|
||||
typedef enum _PROCESSINFOCLASS {
|
||||
ProcessBasicInformation = 0,
|
||||
ProcessQuotaLimits = 1,
|
||||
ProcessIoCounters = 2,
|
||||
ProcessVmCounters = 3,
|
||||
ProcessTimes = 4,
|
||||
ProcessBasePriority = 5,
|
||||
ProcessRaisePriority = 6,
|
||||
ProcessDebugPort = 7,
|
||||
ProcessExceptionPort = 8,
|
||||
ProcessAccessToken = 9,
|
||||
ProcessLdtInformation = 10,
|
||||
ProcessLdtSize = 11,
|
||||
ProcessDefaultHardErrorMode = 12,
|
||||
ProcessIoPortHandlers = 13, // Note: this is kernel mode only
|
||||
ProcessPooledUsageAndLimits = 14,
|
||||
ProcessWorkingSetWatch = 15,
|
||||
ProcessUserModeIOPL = 16,
|
||||
ProcessEnableAlignmentFaultFixup = 17,
|
||||
ProcessPriorityClass = 18,
|
||||
ProcessWx86Information = 19,
|
||||
ProcessHandleCount = 20,
|
||||
ProcessAffinityMask = 21,
|
||||
ProcessPriorityBoost = 22,
|
||||
ProcessDeviceMap = 23,
|
||||
ProcessSessionInformation = 24,
|
||||
ProcessForegroundInformation = 25,
|
||||
ProcessWow64Information = 26,
|
||||
ProcessImageFileName = 27,
|
||||
ProcessLUIDDeviceMapsEnabled = 28,
|
||||
ProcessBreakOnTermination = 29,
|
||||
ProcessDebugObjectHandle = 30,
|
||||
ProcessDebugFlags = 31,
|
||||
ProcessHandleTracing = 32,
|
||||
ProcessIoPriority = 33,
|
||||
ProcessExecuteFlags = 34,
|
||||
ProcessTlsInformation = 35,
|
||||
ProcessCookie = 36,
|
||||
ProcessImageInformation = 37,
|
||||
ProcessCycleTime = 38,
|
||||
ProcessPagePriority = 39,
|
||||
ProcessInstrumentationCallback = 40,
|
||||
ProcessThreadStackAllocation = 41,
|
||||
ProcessWorkingSetWatchEx = 42,
|
||||
ProcessImageFileNameWin32 = 43,
|
||||
ProcessImageFileMapping = 44,
|
||||
ProcessAffinityUpdateMode = 45,
|
||||
ProcessMemoryAllocationMode = 46,
|
||||
ProcessGroupInformation = 47,
|
||||
ProcessTokenVirtualizationEnabled = 48,
|
||||
ProcessOwnerInformation = 49,
|
||||
ProcessWindowInformation = 50,
|
||||
ProcessHandleInformation = 51,
|
||||
ProcessMitigationPolicy = 52,
|
||||
ProcessDynamicFunctionTableInformation = 53,
|
||||
ProcessHandleCheckingMode = 54,
|
||||
ProcessKeepAliveCount = 55,
|
||||
ProcessRevokeFileHandles = 56,
|
||||
ProcessWorkingSetControl = 57,
|
||||
ProcessHandleTable = 58,
|
||||
ProcessCheckStackExtentsMode = 59,
|
||||
ProcessCommandLineInformation = 60,
|
||||
ProcessProtectionInformation = 61,
|
||||
ProcessMemoryExhaustion = 62,
|
||||
ProcessFaultInformation = 63,
|
||||
ProcessTelemetryIdInformation = 64,
|
||||
ProcessCommitReleaseInformation = 65,
|
||||
ProcessReserved1Information = 66,
|
||||
ProcessReserved2Information = 67,
|
||||
ProcessSubsystemProcess = 68,
|
||||
ProcessInPrivate = 70,
|
||||
ProcessRaiseUMExceptionOnInvalidHandleClose = 71,
|
||||
ProcessSubsystemInformation = 75,
|
||||
ProcessWin32kSyscallFilterInformation = 79,
|
||||
ProcessEnergyTrackingState = 82,
|
||||
MaxProcessInfoClass // MaxProcessInfoClass should always be the last enum
|
||||
} PROCESSINFOCLASS;
|
||||
|
||||
typedef enum _MEMORY_INFORMATION_CLASS {
|
||||
MemoryBasicInformation,
|
||||
MemoryWorkingSetList,
|
||||
MemorySectionName,
|
||||
MemoryBasicVlmInformation,
|
||||
MemoryWorkingSetListEx
|
||||
} MEMORY_INFORMATION_CLASS;
|
||||
|
||||
typedef enum _THREAD_INFORMATION_CLASS {
|
||||
ThreadBasicInformation,
|
||||
ThreadTimes,
|
||||
ThreadPriority,
|
||||
ThreadBasePriority,
|
||||
ThreadAffinityMask,
|
||||
ThreadImpersonationToken,
|
||||
ThreadDescriptorTableEntry,
|
||||
ThreadEnableAlignmentFaultFixup,
|
||||
ThreadEventPair,
|
||||
ThreadQuerySetWin32StartAddress,
|
||||
ThreadZeroTlsCell,
|
||||
ThreadPerformanceCount,
|
||||
ThreadAmILastThread,
|
||||
ThreadIdealProcessor,
|
||||
ThreadPriorityBoost,
|
||||
ThreadSetTlsArrayAddress,
|
||||
ThreadIsIoPending,
|
||||
ThreadHideFromDebugger
|
||||
} THREAD_INFORMATION_CLASS, *PTHREAD_INFORMATION_CLASS;
|
||||
|
||||
|
||||
|
||||
@@ -842,232 +737,7 @@ typedef struct _PROCESS_INFORMATION {
|
||||
} PROCESS_INFORMATION, *PPROCESS_INFORMATION, *LPPROCESS_INFORMATION;
|
||||
|
||||
|
||||
typedef struct _FLOATING_SAVE_AREA {
|
||||
DWORD ControlWord;
|
||||
DWORD StatusWord;
|
||||
DWORD TagWord;
|
||||
DWORD ErrorOffset;
|
||||
DWORD ErrorSelector;
|
||||
DWORD DataOffset;
|
||||
DWORD DataSelector;
|
||||
BYTE RegisterArea[80];
|
||||
DWORD Cr0NpxState;
|
||||
} FLOATING_SAVE_AREA;
|
||||
|
||||
typedef struct _CONTEXT32 {
|
||||
|
||||
DWORD ContextFlags;
|
||||
|
||||
DWORD Dr0;
|
||||
DWORD Dr1;
|
||||
DWORD Dr2;
|
||||
DWORD Dr3;
|
||||
DWORD Dr6;
|
||||
DWORD Dr7;
|
||||
|
||||
FLOATING_SAVE_AREA FloatSave;
|
||||
|
||||
DWORD SegGs;
|
||||
DWORD SegFs;
|
||||
DWORD SegEs;
|
||||
DWORD SegDs;
|
||||
|
||||
DWORD Edi;
|
||||
DWORD Esi;
|
||||
DWORD Ebx;
|
||||
DWORD Edx;
|
||||
DWORD Ecx;
|
||||
DWORD Eax;
|
||||
|
||||
DWORD Ebp;
|
||||
DWORD Eip;
|
||||
DWORD SegCs;
|
||||
DWORD EFlags;
|
||||
DWORD Esp;
|
||||
DWORD SegSs;
|
||||
|
||||
BYTE ExtendedRegisters[512];
|
||||
|
||||
} CONTEXT32, *PCONTEXT32, *LPCONTEXT32;
|
||||
|
||||
typedef struct _WOW64_FLOATING_SAVE_AREA {
|
||||
DWORD ControlWord;
|
||||
DWORD StatusWord;
|
||||
DWORD TagWord;
|
||||
DWORD ErrorOffset;
|
||||
DWORD ErrorSelector;
|
||||
DWORD DataOffset;
|
||||
DWORD DataSelector;
|
||||
BYTE RegisterArea[WOW64_SIZE_OF_80387_REGISTERS];
|
||||
DWORD Cr0NpxState;
|
||||
} WOW64_FLOATING_SAVE_AREA;
|
||||
|
||||
typedef struct _WOW64_CONTEXT {
|
||||
|
||||
DWORD ContextFlags;
|
||||
|
||||
DWORD Dr0;
|
||||
DWORD Dr1;
|
||||
DWORD Dr2;
|
||||
DWORD Dr3;
|
||||
DWORD Dr6;
|
||||
DWORD Dr7;
|
||||
|
||||
WOW64_FLOATING_SAVE_AREA FloatSave;
|
||||
|
||||
DWORD SegGs;
|
||||
DWORD SegFs;
|
||||
DWORD SegEs;
|
||||
DWORD SegDs;
|
||||
|
||||
DWORD Edi;
|
||||
DWORD Esi;
|
||||
DWORD Ebx;
|
||||
DWORD Edx;
|
||||
DWORD Ecx;
|
||||
DWORD Eax;
|
||||
DWORD Ebp;
|
||||
DWORD Eip;
|
||||
DWORD SegCs;
|
||||
DWORD EFlags;
|
||||
DWORD Esp;
|
||||
DWORD SegSs;
|
||||
|
||||
BYTE ExtendedRegisters[WOW64_MAXIMUM_SUPPORTED_EXTENSION];
|
||||
|
||||
} WOW64_CONTEXT, *PWOW64_CONTEXT;
|
||||
|
||||
|
||||
typedef struct _M128A {
|
||||
ULONGLONG Low;
|
||||
LONGLONG High;
|
||||
} M128A, *PM128A;
|
||||
|
||||
typedef struct _XSAVE_FORMAT_64 {
|
||||
WORD ControlWord;
|
||||
WORD StatusWord;
|
||||
BYTE TagWord;
|
||||
BYTE Reserved1;
|
||||
WORD ErrorOpcode;
|
||||
DWORD ErrorOffset;
|
||||
WORD ErrorSelector;
|
||||
WORD Reserved2;
|
||||
DWORD DataOffset;
|
||||
WORD DataSelector;
|
||||
WORD Reserved3;
|
||||
DWORD MxCsr;
|
||||
DWORD MxCsr_Mask;
|
||||
M128A FloatRegisters[8];
|
||||
M128A XmmRegisters[16];
|
||||
BYTE Reserved4[96];
|
||||
} XSAVE_FORMAT_64, *PXSAVE_FORMAT_64;
|
||||
|
||||
typedef struct _XSAVE_FORMAT_32 {
|
||||
WORD ControlWord;
|
||||
WORD StatusWord;
|
||||
BYTE TagWord;
|
||||
BYTE Reserved1;
|
||||
WORD ErrorOpcode;
|
||||
DWORD ErrorOffset;
|
||||
WORD ErrorSelector;
|
||||
WORD Reserved2;
|
||||
DWORD DataOffset;
|
||||
WORD DataSelector;
|
||||
WORD Reserved3;
|
||||
DWORD MxCsr;
|
||||
DWORD MxCsr_Mask;
|
||||
M128A FloatRegisters[8];
|
||||
M128A XmmRegisters[8];
|
||||
BYTE Reserved4[192];
|
||||
DWORD StackControl[7];
|
||||
DWORD Cr0NpxState;
|
||||
} XSAVE_FORMAT_32, *PXSAVE_FORMAT_32;
|
||||
|
||||
typedef struct _TMP_DUMMYSTRUCTNAME {
|
||||
M128A Header[2];
|
||||
M128A Legacy[8];
|
||||
M128A Xmm0;
|
||||
M128A Xmm1;
|
||||
M128A Xmm2;
|
||||
M128A Xmm3;
|
||||
M128A Xmm4;
|
||||
M128A Xmm5;
|
||||
M128A Xmm6;
|
||||
M128A Xmm7;
|
||||
M128A Xmm8;
|
||||
M128A Xmm9;
|
||||
M128A Xmm10;
|
||||
M128A Xmm11;
|
||||
M128A Xmm12;
|
||||
M128A Xmm13;
|
||||
M128A Xmm14;
|
||||
M128A Xmm15;
|
||||
} TMP_DUMMYSTRUCTNAME;
|
||||
|
||||
|
||||
typedef union _TMP_CONTEXT64_SUBUNION {
|
||||
XSAVE_FORMAT_64 FltSave;
|
||||
TMP_DUMMYSTRUCTNAME DUMMYSTRUCTNAME;
|
||||
} TMP_CONTEXT64_SUBUNION;
|
||||
|
||||
typedef struct _CONTEXT64 {
|
||||
|
||||
DWORD64 P1Home;
|
||||
DWORD64 P2Home;
|
||||
DWORD64 P3Home;
|
||||
DWORD64 P4Home;
|
||||
DWORD64 P5Home;
|
||||
DWORD64 P6Home;
|
||||
|
||||
DWORD ContextFlags;
|
||||
DWORD MxCsr;
|
||||
|
||||
WORD SegCs;
|
||||
WORD SegDs;
|
||||
WORD SegEs;
|
||||
WORD SegFs;
|
||||
WORD SegGs;
|
||||
WORD SegSs;
|
||||
DWORD EFlags;
|
||||
|
||||
DWORD64 Dr0;
|
||||
DWORD64 Dr1;
|
||||
DWORD64 Dr2;
|
||||
DWORD64 Dr3;
|
||||
DWORD64 Dr6;
|
||||
DWORD64 Dr7;
|
||||
|
||||
|
||||
DWORD64 Rax;
|
||||
DWORD64 Rcx;
|
||||
DWORD64 Rdx;
|
||||
DWORD64 Rbx;
|
||||
DWORD64 Rsp;
|
||||
DWORD64 Rbp;
|
||||
DWORD64 Rsi;
|
||||
DWORD64 Rdi;
|
||||
DWORD64 R8;
|
||||
DWORD64 R9;
|
||||
DWORD64 R10;
|
||||
DWORD64 R11;
|
||||
DWORD64 R12;
|
||||
DWORD64 R13;
|
||||
DWORD64 R14;
|
||||
DWORD64 R15;
|
||||
|
||||
DWORD64 Rip;
|
||||
|
||||
TMP_CONTEXT64_SUBUNION DUMMYUNIONNAME;
|
||||
|
||||
M128A VectorRegister[26];
|
||||
DWORD64 VectorControl;
|
||||
|
||||
DWORD64 DebugControl;
|
||||
DWORD64 LastBranchToRip;
|
||||
DWORD64 LastBranchFromRip;
|
||||
DWORD64 LastExceptionToRip;
|
||||
DWORD64 LastExceptionFromRip;
|
||||
} CONTEXT64, *PCONTEXT64, *LPCONTEXT64;
|
||||
|
||||
|
||||
typedef struct tagPROCESSENTRY32W
|
||||
|
||||
Vendored
+1
-1
@@ -1,4 +1,4 @@
|
||||
# Sphinx build info version 1
|
||||
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
|
||||
config: 79eb4f6d749f8afd0854dfaf20582dd7
|
||||
config: 0e250b469303f551736a785b66f0d36c
|
||||
tags: 645f666f9bcd5a90fca523b33c5a78b7
|
||||
|
||||
Vendored
+4
-4
@@ -4,12 +4,12 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Overview: module code — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>Overview: module code — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="../_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="../_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="../_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<li class="right" >
|
||||
<a href="../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">Overview: module code</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -115,7 +115,7 @@
|
||||
<li class="right" >
|
||||
<a href="../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">Overview: module code</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
+11
-5
@@ -4,12 +4,12 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>windows.com — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>windows.com — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="../../_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="../../_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="../../_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="../../_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="../../_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../index.html" accesskey="U">Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.com</a></li>
|
||||
</ul>
|
||||
@@ -75,7 +75,13 @@
|
||||
|
||||
|
||||
<span class="k">def</span> <span class="nf">initsecurity</span><span class="p">():</span> <span class="c1"># Should take some parameters..</span>
|
||||
<span class="k">return</span> <span class="n">winproxy</span><span class="o">.</span><span class="n">CoInitializeSecurity</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="kc">None</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">RPC_C_IMP_LEVEL_IMPERSONATE</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="n">winproxy</span><span class="o">.</span><span class="n">CoInitializeSecurity</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="kc">None</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">RPC_C_IMP_LEVEL_IMPERSONATE</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span>
|
||||
<span class="k">except</span> <span class="ne">OSError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">e</span><span class="o">.</span><span class="n">winerror</span> <span class="o">&</span> <span class="mh">0xFFFFFFFF</span> <span class="o">!=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">RPC_E_TOO_LATE</span><span class="p">:</span>
|
||||
<span class="c1"># RPC_E_TOO_LATE can happen when the python environment invokes CoInitializeSecurity before we get to it</span>
|
||||
<span class="c1"># mspython builds do this consistently.</span>
|
||||
<span class="k">raise</span> <span class="n">e</span>
|
||||
|
||||
|
||||
<span class="k">class</span> <span class="nc">Dispatch</span><span class="p">(</span><span class="n">interfaces</span><span class="o">.</span><span class="n">IDispatch</span><span class="p">):</span>
|
||||
@@ -489,7 +495,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../index.html" >Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.com</a></li>
|
||||
</ul>
|
||||
|
||||
+39
-7
@@ -4,12 +4,12 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>windows.crypto.certificate — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>windows.crypto.certificate — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="../../../_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.crypto.certificate</a></li>
|
||||
</ul>
|
||||
@@ -45,7 +45,7 @@
|
||||
<span class="kn">import</span> <span class="nn">windows.generated_def</span> <span class="k">as</span> <span class="nn">gdef</span>
|
||||
|
||||
<span class="kn">from</span> <span class="nn">windows.crypto</span> <span class="kn">import</span> <span class="n">DEFAULT_ENCODING</span>
|
||||
<span class="kn">from</span> <span class="nn">windows.pycompat</span> <span class="kn">import</span> <span class="n">urepr_encode</span>
|
||||
<span class="kn">from</span> <span class="nn">windows.pycompat</span> <span class="kn">import</span> <span class="n">urepr_encode</span><span class="p">,</span> <span class="n">unicode_type</span>
|
||||
|
||||
<span class="kn">import</span> <span class="nn">windows.crypto.cryptmsg</span>
|
||||
|
||||
@@ -99,7 +99,8 @@
|
||||
<span class="n">gdef</span><span class="o">.</span><span class="n">LPWSTR</span><span class="p">(</span><span class="n">filename</span><span class="p">),</span>
|
||||
<span class="c1"># filename,</span>
|
||||
<span class="n">content_type</span><span class="p">,</span>
|
||||
<span class="n">gdef</span><span class="o">.</span><span class="n">CERT_QUERY_FORMAT_FLAG_BINARY</span><span class="p">,</span>
|
||||
<span class="c1"># gdef.CERT_QUERY_FORMAT_FLAG_BINARY,</span>
|
||||
<span class="n">gdef</span><span class="o">.</span><span class="n">CERT_QUERY_FORMAT_FLAG_ALL</span><span class="p">,</span>
|
||||
<span class="mi">0</span><span class="p">,</span>
|
||||
<span class="n">dwEncoding</span><span class="p">,</span>
|
||||
<span class="n">dwContentType</span><span class="p">,</span>
|
||||
@@ -201,7 +202,22 @@
|
||||
<span class="w"> </span><span class="sd">"""Create a new :class:`CertificateStore` from system store ``store_name``</span>
|
||||
<span class="sd"> (see `System Store Locations <https://msdn.microsoft.com/en-us/library/windows/desktop/aa388136(v=vs.85).aspx>`_)</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">res</span> <span class="o">=</span> <span class="n">winproxy</span><span class="o">.</span><span class="n">CertOpenStore</span><span class="p">(</span><span class="n">gdef</span><span class="o">.</span><span class="n">CERT_STORE_PROV_SYSTEM_A</span><span class="p">,</span> <span class="n">DEFAULT_ENCODING</span><span class="p">,</span> <span class="kc">None</span><span class="p">,</span> <span class="n">gdef</span><span class="o">.</span><span class="n">CERT_SYSTEM_STORE_LOCAL_MACHINE</span> <span class="o">|</span> <span class="n">gdef</span><span class="o">.</span><span class="n">CERT_STORE_READONLY_FLAG</span><span class="p">,</span> <span class="n">store_name</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">store_name</span><span class="p">,</span> <span class="n">unicode_type</span><span class="p">):</span>
|
||||
<span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"store_name should be an unicode string not </span><span class="si">{0}</span><span class="s2">"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">store_name</span><span class="p">)))</span>
|
||||
<span class="n">res</span> <span class="o">=</span> <span class="n">winproxy</span><span class="o">.</span><span class="n">CertOpenStore</span><span class="p">(</span><span class="n">gdef</span><span class="o">.</span><span class="n">CERT_STORE_PROV_SYSTEM_W</span><span class="p">,</span> <span class="n">DEFAULT_ENCODING</span><span class="p">,</span> <span class="kc">None</span><span class="p">,</span> <span class="n">gdef</span><span class="o">.</span><span class="n">CERT_SYSTEM_STORE_LOCAL_MACHINE</span> <span class="o">|</span> <span class="n">gdef</span><span class="o">.</span><span class="n">CERT_STORE_READONLY_FLAG</span><span class="p">,</span> <span class="n">store_name</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">cast</span><span class="p">(</span><span class="n">res</span><span class="p">,</span> <span class="bp">cls</span><span class="p">)</span></div>
|
||||
|
||||
|
||||
<div class="viewcode-block" id="CertificateStore.from_user_store">
|
||||
<a class="viewcode-back" href="../../../crypto.html#windows.crypto.CertificateStore.from_user_store">[docs]</a>
|
||||
<span class="nd">@classmethod</span>
|
||||
<span class="k">def</span> <span class="nf">from_user_store</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">store_name</span><span class="p">,</span> <span class="n">user</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""Create a new :class:`CertificateStore` from system store ``store_name``</span>
|
||||
<span class="sd"> (see `System Store Locations <https://msdn.microsoft.com/en-us/library/windows/desktop/aa388136(v=vs.85).aspx>`_)</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">store_name</span><span class="p">,</span> <span class="n">unicode_type</span><span class="p">):</span>
|
||||
<span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"store_name should be an unicode string not </span><span class="si">{0}</span><span class="s2">"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">store_name</span><span class="p">)))</span>
|
||||
<span class="n">res</span> <span class="o">=</span> <span class="n">winproxy</span><span class="o">.</span><span class="n">CertOpenStore</span><span class="p">(</span><span class="n">gdef</span><span class="o">.</span><span class="n">CERT_STORE_PROV_SYSTEM_W</span><span class="p">,</span> <span class="n">DEFAULT_ENCODING</span><span class="p">,</span> <span class="kc">None</span><span class="p">,</span> <span class="n">gdef</span><span class="o">.</span><span class="n">CERT_SYSTEM_STORE_CURRENT_USER</span> <span class="o">|</span> <span class="n">gdef</span><span class="o">.</span><span class="n">CERT_STORE_READONLY_FLAG</span><span class="p">,</span> <span class="n">store_name</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">cast</span><span class="p">(</span><span class="n">res</span><span class="p">,</span> <span class="bp">cls</span><span class="p">)</span></div>
|
||||
|
||||
|
||||
@@ -508,6 +524,22 @@
|
||||
<span class="k">return</span> <span class="nb">bytearray</span><span class="p">(</span><span class="n">buf</span><span class="p">)</span></div>
|
||||
|
||||
|
||||
<div class="viewcode-block" id="Certificate.get_private_key">
|
||||
<a class="viewcode-back" href="../../../crypto.html#windows.crypto.Certificate.get_private_key">[docs]</a>
|
||||
<span class="k">def</span> <span class="nf">get_private_key</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">flags</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""Tmp API: return value will change"""</span>
|
||||
<span class="n">keyhandle</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">HCRYPTPROV_OR_NCRYPT_KEY_HANDLE</span><span class="p">()</span>
|
||||
<span class="n">keyspec</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">DWORD</span><span class="p">()</span>
|
||||
<span class="n">must_free_handle</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">BOOL</span><span class="p">()</span>
|
||||
<span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">CryptAcquireCertificatePrivateKey</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">flags</span><span class="p">,</span> <span class="kc">None</span><span class="p">,</span> <span class="n">keyhandle</span><span class="p">,</span> <span class="n">keyspec</span><span class="p">,</span> <span class="n">must_free_handle</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="p">(</span><span class="n">keyhandle</span><span class="p">,</span> <span class="n">keyspec</span><span class="p">,</span> <span class="n">must_free_handle</span><span class="p">)</span></div>
|
||||
|
||||
|
||||
<span class="nd">@property</span>
|
||||
<span class="k">def</span> <span class="nf">private_key</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""Tmp API: return value will change"""</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_private_key</span><span class="p">(</span><span class="n">flags</span><span class="o">=</span><span class="n">gdef</span><span class="o">.</span><span class="n">CRYPT_ACQUIRE_COMPARE_KEY_FLAG</span> <span class="o">|</span> <span class="n">gdef</span><span class="o">.</span><span class="n">CRYPT_ACQUIRE_ALLOW_NCRYPT_KEY_FLAG</span> <span class="o">|</span> <span class="n">gdef</span><span class="o">.</span><span class="n">CRYPT_ACQUIRE_USE_PROV_INFO_FLAG</span><span class="p">)</span>
|
||||
|
||||
|
||||
<span class="nd">@property</span>
|
||||
<span class="k">def</span> <span class="nf">encoded</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
@@ -697,7 +729,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.crypto.certificate</a></li>
|
||||
</ul>
|
||||
|
||||
+9
-5
@@ -4,12 +4,12 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>windows.crypto.cryptmsg — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>windows.crypto.cryptmsg — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="../../../_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.crypto.cryptmsg</a></li>
|
||||
</ul>
|
||||
@@ -156,10 +156,14 @@
|
||||
<span class="k">def</span> <span class="nf">content</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_param</span><span class="p">(</span><span class="n">gdef</span><span class="o">.</span><span class="n">CMSG_CONTENT_PARAM</span><span class="p">)[:]</span>
|
||||
|
||||
<span class="nd">@property</span>
|
||||
<span class="k">def</span> <span class="nf">bare_content</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_param</span><span class="p">(</span><span class="n">gdef</span><span class="o">.</span><span class="n">CMSG_BARE_CONTENT_PARAM</span><span class="p">)[:]</span>
|
||||
|
||||
<span class="nd">@property</span>
|
||||
<span class="k">def</span> <span class="nf">content_type</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_param</span><span class="p">(</span><span class="n">gdef</span><span class="o">.</span><span class="n">CMSG_INNER_CONTENT_TYPE_PARAM</span><span class="p">)</span>
|
||||
<span class="k">assert</span> <span class="n">data</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">==</span> <span class="s2">"</span><span class="se">\x00</span><span class="s2">"</span><span class="p">,</span> <span class="s2">"CMSG_INNER_CONTENT_TYPE_PARAM not NULL TERMINATED"</span>
|
||||
<span class="k">assert</span> <span class="n">data</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">==</span> <span class="sa">b</span><span class="s2">"</span><span class="se">\x00</span><span class="s2">"</span><span class="p">,</span> <span class="s2">"CMSG_INNER_CONTENT_TYPE_PARAM not NULL TERMINATED"</span>
|
||||
<span class="k">return</span> <span class="n">data</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
|
||||
|
||||
|
||||
@@ -216,7 +220,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.crypto.cryptmsg</a></li>
|
||||
</ul>
|
||||
|
||||
+9
-15
@@ -4,12 +4,12 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>windows.debug.breakpoints — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>windows.debug.breakpoints — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="../../../_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.debug.breakpoints</a></li>
|
||||
</ul>
|
||||
@@ -190,17 +190,11 @@
|
||||
<span class="n">t</span> <span class="o">=</span> <span class="n">rt</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">cproc</span><span class="p">)</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">t</span> <span class="o">=</span> <span class="n">rt</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
|
||||
|
||||
<span class="n">content</span> <span class="o">=</span> <span class="kc">None</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="n">content</span> <span class="o">=</span> <span class="n">t</span><span class="o">.</span><span class="n">contents</span>
|
||||
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
||||
<span class="c1"># contents will fail on basic type</span>
|
||||
<span class="c1"># Not really an expected behavior</span>
|
||||
<span class="c1"># But it works for now.. (and since a while)</span>
|
||||
<span class="k">pass</span>
|
||||
<span class="k">if</span> <span class="n">content</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||
<span class="n">t</span> <span class="o">=</span> <span class="n">t</span><span class="o">.</span><span class="n">value</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">t</span><span class="p">,</span> <span class="s2">"contents"</span><span class="p">):</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="n">t</span> <span class="o">=</span> <span class="n">t</span><span class="o">.</span><span class="n">value</span>
|
||||
<span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span>
|
||||
<span class="k">pass</span>
|
||||
<span class="n">res</span><span class="p">[</span><span class="n">name</span><span class="p">[</span><span class="mi">1</span><span class="p">]]</span> <span class="o">=</span> <span class="n">t</span>
|
||||
<span class="k">return</span> <span class="n">res</span>
|
||||
|
||||
@@ -365,7 +359,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.debug.breakpoints</a></li>
|
||||
</ul>
|
||||
|
||||
+23
-8
@@ -4,12 +4,12 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>windows.debug.debugger — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>windows.debug.debugger — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="../../../_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.debug.debugger</a></li>
|
||||
</ul>
|
||||
@@ -475,8 +475,9 @@
|
||||
<span class="k">return</span> <span class="kc">True</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_restore_breakpoint_MEMBP</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bp</span><span class="p">,</span> <span class="n">target</span><span class="p">):</span>
|
||||
<span class="p">(</span><span class="n">page_addr</span><span class="p">,</span> <span class="n">page_prot</span><span class="p">)</span> <span class="o">=</span> <span class="n">bp</span><span class="o">.</span><span class="n">_reput_page</span>
|
||||
<span class="k">return</span> <span class="n">target</span><span class="o">.</span><span class="n">virtual_protect</span><span class="p">(</span><span class="n">page_addr</span><span class="p">,</span> <span class="n">PAGE_SIZE</span><span class="p">,</span> <span class="n">page_prot</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
|
||||
<span class="k">for</span> <span class="p">(</span><span class="n">page_addr</span><span class="p">,</span> <span class="n">page_prot</span><span class="p">)</span> <span class="ow">in</span> <span class="n">bp</span><span class="o">.</span><span class="n">_reput_pages</span><span class="p">:</span>
|
||||
<span class="n">target</span><span class="o">.</span><span class="n">virtual_protect</span><span class="p">(</span><span class="n">page_addr</span><span class="p">,</span> <span class="n">PAGE_SIZE</span><span class="p">,</span> <span class="n">page_prot</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
|
||||
<span class="k">del</span> <span class="n">bp</span><span class="o">.</span><span class="n">_reput_pages</span><span class="p">[:]</span>
|
||||
|
||||
|
||||
<span class="k">def</span> <span class="nf">_remove_breakpoint_MEMBP</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">bp</span><span class="p">,</span> <span class="n">target</span><span class="p">):</span>
|
||||
@@ -595,7 +596,7 @@
|
||||
<span class="n">ctx</span> <span class="o">=</span> <span class="n">thread</span><span class="o">.</span><span class="n">context</span>
|
||||
<span class="n">ctx</span><span class="o">.</span><span class="n">EEFlags</span><span class="o">.</span><span class="n">TF</span> <span class="o">=</span> <span class="mi">1</span>
|
||||
<span class="n">thread</span><span class="o">.</span><span class="n">set_context</span><span class="p">(</span><span class="n">ctx</span><span class="p">)</span>
|
||||
<span class="n">bp</span><span class="o">.</span><span class="n">_reput_page</span> <span class="o">=</span> <span class="p">(</span><span class="n">fault_page</span><span class="p">,</span> <span class="n">page_prot</span><span class="o">.</span><span class="n">value</span><span class="p">)</span>
|
||||
<span class="n">bp</span><span class="o">.</span><span class="n">_reput_pages</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">fault_page</span><span class="p">,</span> <span class="n">page_prot</span><span class="o">.</span><span class="n">value</span><span class="p">))</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_breakpoint_to_reput</span><span class="p">[</span><span class="n">cp</span><span class="o">.</span><span class="n">pid</span><span class="p">]</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">bp</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># debug event handlers</span>
|
||||
@@ -718,6 +719,7 @@
|
||||
<span class="n">fault_type</span> <span class="o">=</span> <span class="n">exception</span><span class="o">.</span><span class="n">ExceptionRecord</span><span class="o">.</span><span class="n">ExceptionInformation</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="n">fault_addr</span> <span class="o">=</span> <span class="n">exception</span><span class="o">.</span><span class="n">ExceptionRecord</span><span class="o">.</span><span class="n">ExceptionInformation</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
|
||||
<span class="n">pc_addr</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">current_thread</span><span class="o">.</span><span class="n">context</span><span class="o">.</span><span class="n">pc</span>
|
||||
<span class="n">dbgprint</span><span class="p">(</span><span class="s2">"Handling access_violation at pc=</span><span class="si">{0:#x}</span><span class="s2"> addr=</span><span class="si">{1:#x}</span><span class="s2">"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">pc_addr</span><span class="p">,</span> <span class="n">fault_addr</span><span class="p">),</span> <span class="s2">"DBG"</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">fault_addr</span> <span class="o">==</span> <span class="n">pc_addr</span><span class="p">:</span>
|
||||
<span class="n">fault_type</span> <span class="o">=</span> <span class="n">EXEC</span>
|
||||
<span class="n">event</span> <span class="o">=</span> <span class="n">EVENT_STR</span><span class="p">[</span><span class="n">fault_type</span><span class="p">]</span>
|
||||
@@ -736,11 +738,24 @@
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_pass_memory_breakpoint</span><span class="p">(</span><span class="n">bp</span><span class="p">,</span> <span class="n">original_prot</span><span class="p">,</span> <span class="n">fault_page</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">DBG_CONTINUE</span>
|
||||
|
||||
<span class="c1"># We may have setup the "EEFlags.TF" ourself if the membreakpoint triggered twice on the same instruction</span>
|
||||
<span class="c1"># Ex: write on two pages handled by our breakpoint (unaligned write on 0xfff-0x1000)</span>
|
||||
|
||||
<span class="n">originalctx</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">current_thread</span><span class="o">.</span><span class="n">context</span>
|
||||
<span class="n">original_tf</span> <span class="o">=</span> <span class="n">originalctx</span><span class="o">.</span><span class="n">EEFlags</span><span class="o">.</span><span class="n">TF</span>
|
||||
<span class="c1"># Temporary disable EEFlags.TF to see if user callback explicit ask for it</span>
|
||||
<span class="n">originalctx</span><span class="o">.</span><span class="n">EEFlags</span><span class="o">.</span><span class="n">TF</span> <span class="o">=</span> <span class="mi">0</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">current_thread</span><span class="o">.</span><span class="n">set_context</span><span class="p">(</span><span class="n">originalctx</span><span class="p">)</span>
|
||||
|
||||
<span class="k">with</span> <span class="bp">self</span><span class="o">.</span><span class="n">DisabledMemoryBreakpoint</span><span class="p">():</span>
|
||||
<span class="n">continue_flag</span> <span class="o">=</span> <span class="n">mem_bp</span><span class="o">.</span><span class="n">trigger</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">exception</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_killed_in_action</span><span class="p">():</span>
|
||||
<span class="k">return</span> <span class="n">continue_flag</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_explicit_single_step</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">current_thread</span><span class="o">.</span><span class="n">tid</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">current_thread</span><span class="o">.</span><span class="n">context</span><span class="o">.</span><span class="n">EEFlags</span><span class="o">.</span><span class="n">TF</span>
|
||||
<span class="c1"># Update explicit trigger based on new value of EEFlags.TF</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">_explicit_single_step</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">current_thread</span><span class="o">.</span><span class="n">tid</span><span class="p">]</span> <span class="o">|=</span> <span class="bp">self</span><span class="o">.</span><span class="n">current_thread</span><span class="o">.</span><span class="n">context</span><span class="o">.</span><span class="n">EEFlags</span><span class="o">.</span><span class="n">TF</span>
|
||||
<span class="c1"># Reupdate the real EEFlags.TF based on its current value and the original one</span>
|
||||
<span class="k">if</span> <span class="n">original_tf</span> <span class="o">!=</span> <span class="mi">0</span> <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">current_thread</span><span class="o">.</span><span class="n">context</span><span class="o">.</span><span class="n">EEFlags</span><span class="o">.</span><span class="n">TF</span><span class="p">:</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">single_step</span><span class="p">()</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_explicit_single_step</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">current_thread</span><span class="o">.</span><span class="n">tid</span><span class="p">]:</span>
|
||||
<span class="n">dbgprint</span><span class="p">(</span><span class="s2">"Someone ask for an explicit Single step - 5"</span><span class="p">,</span> <span class="s2">"DBG"</span><span class="p">)</span>
|
||||
<span class="c1"># If BP has not been removed in trigger, pas it</span>
|
||||
@@ -1300,7 +1315,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.debug.debugger</a></li>
|
||||
</ul>
|
||||
|
||||
+13
-15
@@ -4,12 +4,12 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>windows.debug.symbols — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>windows.debug.symbols — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="../../../_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.debug.symbols</a></li>
|
||||
</ul>
|
||||
@@ -54,7 +54,7 @@
|
||||
<div class="viewcode-block" id="set_dbghelp_path">
|
||||
<a class="viewcode-back" href="../../../debug.html#windows.debug.symbols.set_dbghelp_path">[docs]</a>
|
||||
<span class="k">def</span> <span class="nf">set_dbghelp_path</span><span class="p">(</span><span class="n">path</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""Set the path of the ``dbghelp.dll`` file to use. It allow to configure a different version of the DLL handling PDB downloading.</span>
|
||||
<span class="w"> </span><span class="sa">r</span><span class="sd">"""Set the path of the ``dbghelp.dll`` file to use. It allow to configure a different version of the DLL handling PDB downloading.</span>
|
||||
|
||||
<span class="sd"> If ``path`` is a directory, the final ``dbghelp.dll`` will be computed as</span>
|
||||
<span class="sd"> ``path\<current_process_bitness>\dbghelp.dll``.</span>
|
||||
@@ -169,7 +169,7 @@
|
||||
|
||||
|
||||
<span class="k">class</span> <span class="nc">SymbolInfoW</span><span class="p">(</span><span class="n">gdef</span><span class="o">.</span><span class="n">SYMBOL_INFOW</span><span class="p">,</span> <span class="n">SymbolInfoBase</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""Represent a Symbol.</span>
|
||||
<span class="w"> </span><span class="sa">r</span><span class="sd">"""Represent a Symbol.</span>
|
||||
<span class="sd"> This class in based on the class `SYMBOL_INFO <https://docs.microsoft.com/en-us/windows/win32/api/dbghelp/ns-dbghelp-symbol_info>`_</span>
|
||||
<span class="sd"> with the handling on displacement embeded into it.s</span>
|
||||
|
||||
@@ -222,6 +222,10 @@
|
||||
<span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">LocalFree</span><span class="p">(</span><span class="n">res</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">newres</span>
|
||||
|
||||
<span class="nd">@property</span>
|
||||
<span class="k">def</span> <span class="nf">module</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">resolver</span><span class="o">.</span><span class="n">get_module</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">modbase</span><span class="p">)</span>
|
||||
|
||||
<span class="nd">@property</span>
|
||||
<span class="k">def</span> <span class="nf">name</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_type_info</span><span class="p">(</span><span class="n">gdef</span><span class="o">.</span><span class="n">TI_GET_SYMNAME</span><span class="p">)</span>
|
||||
@@ -373,7 +377,7 @@
|
||||
|
||||
<span class="nd">@property</span>
|
||||
<span class="k">def</span> <span class="nf">pdb</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""The local path of the loaded PDB if present</span>
|
||||
<span class="w"> </span><span class="sa">r</span><span class="sd">"""The local path of the loaded PDB if present</span>
|
||||
|
||||
<span class="sd"> Exemple:</span>
|
||||
<span class="sd"> >>> sh = windows.debug.symbols.VirtualSymbolHandler()</span>
|
||||
@@ -503,7 +507,7 @@
|
||||
<span class="k">return</span> <span class="n">sym</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">resolve</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name_or_addr</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""Resolve ``name_or_addr``.</span>
|
||||
<span class="w"> </span><span class="sa">r</span><span class="sd">"""Resolve ``name_or_addr``.</span>
|
||||
|
||||
<span class="sd"> If its an int -> Return the :class:`SymbolInfo` at the address.</span>
|
||||
<span class="sd"> If its a string -> Return the :class:`SymbolInfo` corresponding to the symbol name</span>
|
||||
@@ -552,7 +556,7 @@
|
||||
<span class="k">return</span> <span class="kc">True</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">search</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">mask</span><span class="p">,</span> <span class="n">mod</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">tag</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">options</span><span class="o">=</span><span class="n">gdef</span><span class="o">.</span><span class="n">SYMSEARCH_ALLITEMS</span><span class="p">,</span> <span class="n">callback</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""Search the symbols matching ``mask`` (``Windbg`` like).</span>
|
||||
<span class="w"> </span><span class="sa">r</span><span class="sd">"""Search the symbols matching ``mask`` (``Windbg`` like).</span>
|
||||
|
||||
<span class="sd"> :return: [:class:`SymbolInfo`] -- A list of :class:`SymbolInfo`</span>
|
||||
|
||||
@@ -605,12 +609,6 @@
|
||||
<span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">SymGetTypeFromNameW</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">mod</span><span class="p">,</span> <span class="n">name</span><span class="p">,</span> <span class="n">buff</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">SymbolType</span><span class="o">.</span><span class="n">from_symbol_info</span><span class="p">(</span><span class="n">buff</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">resolver</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span>
|
||||
|
||||
<span class="c1">#</span>
|
||||
<span class="k">def</span> <span class="nf">types</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">mod</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
<span class="n">typeslist</span> <span class="o">=</span> <span class="p">[]</span> <span class="c1"># Iter on types of all modules if None provided ?</span>
|
||||
<span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">SymEnumTypes</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">mod</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">simple_aggregator</span><span class="p">,</span> <span class="n">typeslist</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="p">[</span><span class="n">SymbolType</span><span class="o">.</span><span class="n">from_symbol_info</span><span class="p">(</span><span class="n">t</span><span class="p">,</span> <span class="n">resolver</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">typeslist</span><span class="p">]</span>
|
||||
|
||||
|
||||
<span class="c1"># TODO: mets de l'huile pour w4kfu</span>
|
||||
<span class="k">class</span> <span class="nc">StackWalker</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
|
||||
@@ -869,7 +867,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.debug.symbols</a></li>
|
||||
</ul>
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>windows.generated_def.flag — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>windows.generated_def.flag — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="../../../_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.generated_def.flag</a></li>
|
||||
</ul>
|
||||
@@ -145,7 +145,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.generated_def.flag</a></li>
|
||||
</ul>
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>windows.generated_def.interfaces — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>windows.generated_def.interfaces — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="../../../_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.generated_def.interfaces</a></li>
|
||||
</ul>
|
||||
@@ -3998,7 +3998,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.generated_def.interfaces</a></li>
|
||||
</ul>
|
||||
|
||||
+1241
-850
File diff suppressed because one or more lines are too long
+8
-7
@@ -4,12 +4,12 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>windows.pe_parse — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>windows.pe_parse — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="../../_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="../../_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="../../_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="../../_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="../../_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../index.html" accesskey="U">Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.pe_parse</a></li>
|
||||
</ul>
|
||||
@@ -42,6 +42,7 @@
|
||||
<span class="kn">import</span> <span class="nn">windows.hooks</span> <span class="k">as</span> <span class="nn">hooks</span>
|
||||
<span class="kn">import</span> <span class="nn">windows.utils</span> <span class="k">as</span> <span class="nn">utils</span>
|
||||
|
||||
<span class="kn">import</span> <span class="nn">windows.generated_def</span> <span class="k">as</span> <span class="nn">gdef</span>
|
||||
<span class="kn">from</span> <span class="nn">windows.generated_def.winstructs</span> <span class="kn">import</span> <span class="o">*</span>
|
||||
<span class="kn">from</span> <span class="nn">windows.utils</span> <span class="kn">import</span> <span class="n">transform_ctypes_fields</span>
|
||||
<span class="kn">import</span> <span class="nn">windows.remotectypes</span> <span class="k">as</span> <span class="nn">rctypes</span>
|
||||
@@ -77,9 +78,9 @@
|
||||
<span class="c1"># We can force bitness as the field we access are bitness-independant</span>
|
||||
<span class="n">pe</span> <span class="o">=</span> <span class="n">GetPEFile</span><span class="p">(</span><span class="n">baseaddr</span><span class="p">,</span> <span class="n">target</span><span class="p">,</span> <span class="n">force_bitness</span><span class="o">=</span><span class="mi">32</span><span class="p">)</span>
|
||||
<span class="n">machine</span> <span class="o">=</span> <span class="n">pe</span><span class="o">.</span><span class="n">get_NT_HEADER</span><span class="p">()</span><span class="o">.</span><span class="n">FileHeader</span><span class="o">.</span><span class="n">Machine</span>
|
||||
<span class="k">if</span> <span class="n">machine</span> <span class="o">==</span> <span class="mh">0x14c</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">machine</span> <span class="o">==</span> <span class="n">gdef</span><span class="o">.</span><span class="n">IMAGE_FILE_MACHINE_I386</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="mi">32</span>
|
||||
<span class="k">elif</span> <span class="n">machine</span> <span class="o">==</span> <span class="mh">0x8664</span><span class="p">:</span>
|
||||
<span class="k">elif</span> <span class="n">machine</span> <span class="ow">in</span> <span class="p">(</span><span class="n">gdef</span><span class="o">.</span><span class="n">IMAGE_FILE_MACHINE_AMD64</span><span class="p">,</span> <span class="n">gdef</span><span class="o">.</span><span class="n">IMAGE_FILE_MACHINE_ARM64</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="mi">64</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"Unknow PE target machine <0x</span><span class="si">{0:x}</span><span class="s2">>"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">machine</span><span class="p">))</span>
|
||||
@@ -150,7 +151,7 @@
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">target</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||
<span class="n">name</span> <span class="o">=</span> <span class="n">get_string</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">target</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">addressof</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">Name</span><span class="p">))[:</span><span class="mi">8</span><span class="p">]</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">name</span> <span class="o">=</span> <span class="n">get_string</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">target</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_base_addr</span><span class="p">)[:</span><span class="mi">8</span><span class="p">]</span>
|
||||
<span class="n">name</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">target</span><span class="o">.</span><span class="n">read_memory</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_base_addr</span><span class="p">,</span> <span class="mi">8</span><span class="p">)</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="sa">b</span><span class="s2">"</span><span class="se">\x00</span><span class="s2">"</span><span class="p">,</span> <span class="mi">1</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s2">"ascii"</span><span class="p">)</span>
|
||||
<span class="c1"># Decode as UTF-8 as the MS doc say ?</span>
|
||||
<span class="k">return</span> <span class="n">name</span>
|
||||
|
||||
@@ -549,7 +550,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../index.html" >Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.pe_parse</a></li>
|
||||
</ul>
|
||||
|
||||
+4
-4
@@ -4,12 +4,12 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>windows.remotectypes — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>windows.remotectypes — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="../../_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="../../_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="../../_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="../../_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="../../_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../index.html" accesskey="U">Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.remotectypes</a></li>
|
||||
</ul>
|
||||
@@ -599,7 +599,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../index.html" >Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.remotectypes</a></li>
|
||||
</ul>
|
||||
|
||||
+36
-25
@@ -216,7 +216,7 @@
|
||||
<span class="n">this</span><span class="o">.</span><span class="n">version</span> <span class="o">=</span> <span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="mi">7</span><span class="p">)</span>
|
||||
<span class="n">this</span><span class="o">.</span><span class="n">flags</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">ORPCF_LOCAL</span>
|
||||
<span class="c1"># Returned correct type with mandatory fields filed</span>
|
||||
<span class="n">lthis</span> <span class="o">=</span> <span class="n">find_correct_localthis_for_version</span><span class="p">()</span>
|
||||
<span class="n">lthis</span> <span class="o">=</span> <span class="n">fill_correct_localthis_for_version</span><span class="p">()</span>
|
||||
<span class="k">return</span> <span class="n">buffer</span><span class="p">(</span><span class="n">req</span><span class="p">)[:]</span> <span class="o">+</span> <span class="n">buffer</span><span class="p">(</span><span class="n">this</span><span class="p">)[:]</span> <span class="o">+</span> <span class="n">buffer</span><span class="p">(</span><span class="n">lthis</span><span class="p">)[:]</span> <span class="o">+</span> <span class="n">params</span>
|
||||
<span class="k">return</span> <span class="n">buffer</span><span class="p">(</span><span class="n">req</span><span class="p">)[:]</span> <span class="o">+</span> <span class="n">params</span>
|
||||
|
||||
@@ -255,8 +255,11 @@
|
||||
<span class="s2">"raise if request_type == RESPONSE_TYPE_FAIL"</span>
|
||||
<span class="n">request_type</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s2">"<I"</span><span class="p">,</span> <span class="n">response</span><span class="o">.</span><span class="n">data</span><span class="p">[:</span><span class="mi">4</span><span class="p">])[</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="k">if</span> <span class="n">request_type</span> <span class="o">==</span> <span class="n">gdef</span><span class="o">.</span><span class="n">RPC_RESPONSE_TYPE_FAIL</span><span class="p">:</span>
|
||||
<span class="n">error_code</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s2">"<5I"</span><span class="p">,</span> <span class="n">response</span><span class="o">.</span><span class="n">data</span><span class="p">)[</span><span class="mi">2</span><span class="p">]</span>
|
||||
<span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"RPC Response error </span><span class="si">{0}</span><span class="s2"> (</span><span class="si">{1!r}</span><span class="s2">)"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">error_code</span><span class="p">,</span> <span class="n">KNOWN_RPC_ERROR_CODE</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">error_code</span><span class="p">,</span> <span class="n">error_code</span><span class="p">)))</span>
|
||||
<span class="n">effective_error_code</span> <span class="o">=</span> <span class="n">error_code</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s2">"<5I"</span><span class="p">,</span> <span class="n">response</span><span class="o">.</span><span class="n">data</span><span class="p">)[</span><span class="mi">2</span><span class="p">]</span>
|
||||
<span class="c1"># https://learn.microsoft.com/en-us/windows/win32/com/structure-of-com-error-codes</span>
|
||||
<span class="k">if</span> <span class="n">gdef</span><span class="o">.</span><span class="n">HRESULT_FACILITY</span><span class="p">(</span><span class="n">error_code</span><span class="p">)</span> <span class="o">==</span> <span class="n">gdef</span><span class="o">.</span><span class="n">FACILITY_WIN32</span><span class="p">:</span>
|
||||
<span class="n">effective_error_code</span> <span class="o">=</span> <span class="n">effective_error_code</span> <span class="o">&</span> <span class="mh">0xffff</span>
|
||||
<span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"RPC Response error </span><span class="si">{0:#x}</span><span class="s2"> (</span><span class="si">{1!r}</span><span class="s2">)"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">error_code</span><span class="p">,</span> <span class="n">KNOWN_RPC_ERROR_CODE</span><span class="p">[</span><span class="n">effective_error_code</span><span class="p">]))</span>
|
||||
<span class="k">return</span> <span class="n">request_type</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_get_response_effective_data</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">response</span><span class="p">):</span>
|
||||
@@ -267,33 +270,41 @@
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">data</span><span class="p">[</span><span class="n">ctypes</span><span class="o">.</span><span class="n">sizeof</span><span class="p">(</span><span class="n">ALPC_RPC_RESPONSE</span><span class="p">):]</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="c1"># Response in view M extract size from PORT_MESSAGE & read data from view</span>
|
||||
<span class="k">assert</span> <span class="n">response</span><span class="o">.</span><span class="n">port_message</span><span class="o">.</span><span class="n">u1</span><span class="o">.</span><span class="n">s1</span><span class="o">.</span><span class="n">TotalLength</span> <span class="o">>=</span> <span class="mh">0x48</span> <span class="c1"># At least 0x20 of data</span>
|
||||
<span class="k">assert</span> <span class="n">response</span><span class="o">.</span><span class="n">port_message</span><span class="o">.</span><span class="n">u1</span><span class="o">.</span><span class="n">s1</span><span class="o">.</span><span class="n">DataLength</span> <span class="o">>=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">sizeof</span><span class="p">(</span><span class="n">ALPC_RPC_RESPONSE</span><span class="p">)</span> <span class="c1"># 0x20</span>
|
||||
<span class="n">rpcdatasize</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s2">"<I"</span><span class="p">,</span> <span class="n">response</span><span class="o">.</span><span class="n">data</span><span class="p">[</span><span class="mh">0x18</span><span class="p">:</span><span class="mh">0x1c</span><span class="p">])[</span><span class="mi">0</span><span class="p">]</span> <span class="c1"># ctypes.sizeof(ALPC_RPC_RESPONSE)</span>
|
||||
<span class="n">viewattr</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">view_attribute</span>
|
||||
<span class="k">assert</span> <span class="n">viewattr</span><span class="o">.</span><span class="n">ViewSize</span> <span class="o">>=</span> <span class="n">rpcdatasize</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_process</span><span class="o">.</span><span class="n">read_memory</span><span class="p">(</span><span class="n">viewattr</span><span class="o">.</span><span class="n">ViewBase</span><span class="p">,</span> <span class="n">rpcdatasize</span><span class="p">)</span>
|
||||
<span class="c1"># We have copied the data from the view: free it</span>
|
||||
<span class="c1"># It looks like:</span>
|
||||
<span class="c1"># windows.winproxy.NtAlpcDeleteSectionView(self.alpc_client.handle, 0, viewattr.ViewBase)</span>
|
||||
<span class="c1"># Will ne be enough, as it will wait for the message to be reused to unmap the section..</span>
|
||||
<span class="c1"># And the current architecture encourage creating new message every time</span>
|
||||
<span class="k">if</span> <span class="n">response_header</span><span class="o">.</span><span class="n">request_id</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">REQUEST_IDENTIFIER_ORPC</span><span class="p">:</span>
|
||||
<span class="c1"># Parse & remove ORPC headers (orpcthat + LocalThat)</span>
|
||||
<span class="n">orpcthat</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">ORPCTHAT32</span><span class="o">.</span><span class="n">from_buffer_copy</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="n">ctypes</span><span class="o">.</span><span class="n">sizeof</span><span class="p">(</span><span class="n">orpcthat</span><span class="p">):]</span>
|
||||
<span class="k">if</span> <span class="n">orpcthat</span><span class="o">.</span><span class="n">extensions</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s2">"Parsing extension !"</span><span class="p">)</span>
|
||||
<span class="c1"># Parse extension : code have not been tested a lot</span>
|
||||
<span class="n">write_array_extend</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">WireExtentArray</span><span class="o">.</span><span class="n">from_buffer_copy</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="n">ctypes</span><span class="o">.</span><span class="n">sizeof</span><span class="p">(</span><span class="n">gdef</span><span class="o">.</span><span class="n">WireExtentArray</span><span class="p">):]</span>
|
||||
<span class="k">if</span> <span class="n">write_array_extend</span><span class="o">.</span><span class="n">rounded_size</span> <span class="o">!=</span> <span class="mi">2</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s2">"orpcthat.extensions: WireExtentArray.rounded_size != 2"</span><span class="p">)</span>
|
||||
<span class="k">for</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">write_array_extend</span><span class="o">.</span><span class="n">unique_flag</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">value</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pass_wire_extend</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
|
||||
<span class="n">localthat_type</span> <span class="o">=</span> <span class="n">find_correct_localthat_for_version</span><span class="p">()</span>
|
||||
<span class="k">if</span> <span class="n">localthat_type</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
|
||||
<span class="n">localthat</span> <span class="o">=</span> <span class="n">localthat_type</span><span class="o">.</span><span class="n">from_buffer_copy</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
|
||||
<span class="c1"># Check localthat pointers are empty</span>
|
||||
<span class="k">for</span> <span class="n">field</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">"pAsyncResponseBlock"</span><span class="p">,</span> <span class="s2">"containerErrorInformation"</span><span class="p">,</span> <span class="s2">"containerPassthroughData"</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">localthat</span><span class="p">,</span> <span class="n">field</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s2">"ORPC Response with localthat.</span><span class="si">{0}</span><span class="s2"> != 0"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">field</span><span class="p">))</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="n">ctypes</span><span class="o">.</span><span class="n">sizeof</span><span class="p">(</span><span class="n">localthat</span><span class="p">):]</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pass_orpc_response_structures</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">data</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_pass_orpc_response_structures</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data</span><span class="p">):</span>
|
||||
<span class="n">orpcthat</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">ORPCTHAT32</span><span class="o">.</span><span class="n">from_buffer_copy</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="n">ctypes</span><span class="o">.</span><span class="n">sizeof</span><span class="p">(</span><span class="n">orpcthat</span><span class="p">):]</span>
|
||||
<span class="k">if</span> <span class="n">orpcthat</span><span class="o">.</span><span class="n">extensions</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="c1"># Parse extension : code have not been tested a lot</span>
|
||||
<span class="n">write_array_extend</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">WireExtentArray</span><span class="o">.</span><span class="n">from_buffer_copy</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="n">ctypes</span><span class="o">.</span><span class="n">sizeof</span><span class="p">(</span><span class="n">gdef</span><span class="o">.</span><span class="n">WireExtentArray</span><span class="p">):]</span>
|
||||
<span class="k">if</span> <span class="n">write_array_extend</span><span class="o">.</span><span class="n">rounded_size</span> <span class="o">!=</span> <span class="mi">2</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s2">"orpcthat.extensions: WireExtentArray.rounded_size != 2"</span><span class="p">)</span>
|
||||
<span class="k">for</span> <span class="n">value</span> <span class="ow">in</span> <span class="n">write_array_extend</span><span class="o">.</span><span class="n">unique_flag</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">value</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_pass_wire_extend</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
|
||||
<span class="n">localthat_type</span> <span class="o">=</span> <span class="n">find_correct_localthat_for_version</span><span class="p">()</span>
|
||||
<span class="k">if</span> <span class="n">localthat_type</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
|
||||
<span class="n">localthat</span> <span class="o">=</span> <span class="n">localthat_type</span><span class="o">.</span><span class="n">from_buffer_copy</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
|
||||
<span class="c1"># Check localthat pointers are empty</span>
|
||||
<span class="k">for</span> <span class="n">field</span> <span class="ow">in</span> <span class="p">(</span><span class="s2">"pAsyncResponseBlock"</span><span class="p">,</span> <span class="s2">"containerErrorInformation"</span><span class="p">,</span> <span class="s2">"containerPassthroughData"</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">localthat</span><span class="p">,</span> <span class="n">field</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s2">"ORPC Response with localthat.</span><span class="si">{0}</span><span class="s2"> != 0"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">field</span><span class="p">))</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="n">ctypes</span><span class="o">.</span><span class="n">sizeof</span><span class="p">(</span><span class="n">localthat</span><span class="p">):]</span>
|
||||
<span class="k">return</span> <span class="n">data</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_pass_wire_extend</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data</span><span class="p">):</span>
|
||||
@@ -319,7 +330,7 @@
|
||||
<span class="c1"># Nb fields: 7</span>
|
||||
<span class="c1"># 10.0.16299.1 -> 10.0.26100.2454</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">find_correct_localthis_for_version</span><span class="p">():</span>
|
||||
<span class="k">def</span> <span class="nf">fill_correct_localthis_for_version</span><span class="p">():</span>
|
||||
<span class="n">vmaj</span><span class="p">,</span> <span class="n">vmin</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">system</span><span class="o">.</span><span class="n">version</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="n">vmaj</span><span class="p">,</span> <span class="n">vmin</span><span class="p">)</span> <span class="o"><</span> <span class="p">(</span><span class="mi">6</span><span class="p">,</span> <span class="mi">1</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="kc">None</span>
|
||||
|
||||
+13
-7
@@ -4,12 +4,12 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>windows.rpc.ndr — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>windows.rpc.ndr — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="../../../_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.rpc.ndr</a></li>
|
||||
</ul>
|
||||
@@ -229,6 +229,8 @@
|
||||
<span class="k">assert</span> <span class="n">size1</span> <span class="o">==</span> <span class="n">size2</span>
|
||||
<span class="k">assert</span> <span class="n">zero</span> <span class="o">==</span> <span class="mi">0</span>
|
||||
<span class="n">s</span> <span class="o">=</span> <span class="n">stream</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="n">size1</span> <span class="o">*</span> <span class="mi">2</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">stream</span><span class="o">.</span><span class="n">use_memoryview</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="nb">bytearray</span><span class="p">(</span><span class="n">s</span><span class="p">)</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s2">"utf-16-le"</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">s</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s2">"utf-16-le"</span><span class="p">)</span>
|
||||
|
||||
<span class="nd">@classmethod</span>
|
||||
@@ -652,10 +654,14 @@
|
||||
<a class="viewcode-back" href="../../../rpc.html#windows.rpc.ndr.NdrStream">[docs]</a>
|
||||
<span class="k">class</span> <span class="nc">NdrStream</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""A stream of bytes used for NDR unpacking"""</span>
|
||||
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data</span><span class="p">):</span>
|
||||
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data</span><span class="p">,</span> <span class="n">use_memoryview</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">""""""</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">fulldata</span> <span class="o">=</span> <span class="n">data</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">data</span> <span class="o">=</span> <span class="n">data</span>
|
||||
<span class="c1"># self.data = memoryview(data) # FAST but need some code rewrite at some places</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">use_memoryview</span> <span class="o">=</span> <span class="n">use_memoryview</span>
|
||||
<span class="k">if</span> <span class="n">use_memoryview</span><span class="p">:</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">data</span> <span class="o">=</span> <span class="nb">memoryview</span><span class="p">(</span><span class="n">data</span><span class="p">)</span> <span class="c1"># FAST but need some code rewrite at some places</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">data</span> <span class="o">=</span> <span class="n">data</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">partial_unpack</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="nb">format</span><span class="p">):</span>
|
||||
<span class="n">size</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">calcsize</span><span class="p">(</span><span class="nb">format</span><span class="p">)</span>
|
||||
@@ -757,7 +763,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.rpc.ndr</a></li>
|
||||
</ul>
|
||||
|
||||
+15
-14
@@ -4,12 +4,12 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>windows.syswow64 — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>windows.syswow64 — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="../../_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="../../_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="../../_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="../../_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="../../_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../index.html" accesskey="U">Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.syswow64</a></li>
|
||||
</ul>
|
||||
@@ -212,19 +212,20 @@
|
||||
|
||||
<span class="k">def</span> <span class="nf">get_current_process_syswow_peb</span><span class="p">():</span>
|
||||
<span class="n">current_process</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_process</span>
|
||||
|
||||
<span class="k">class</span> <span class="nc">CurrentProcessReadSyswow</span><span class="p">(</span><span class="n">process</span><span class="o">.</span><span class="n">Process</span><span class="p">):</span>
|
||||
<span class="n">bitness</span> <span class="o">=</span> <span class="mi">64</span>
|
||||
<span class="k">def</span> <span class="nf">_get_handle</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="n">winproxy</span><span class="o">.</span><span class="n">OpenProcess</span><span class="p">(</span><span class="n">dwProcessId</span><span class="o">=</span><span class="n">current_process</span><span class="o">.</span><span class="n">pid</span><span class="p">)</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">read_memory</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">addr</span><span class="p">,</span> <span class="n">size</span><span class="p">):</span>
|
||||
<span class="n">buffer_addr</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">create_string_buffer</span><span class="p">(</span><span class="n">size</span><span class="p">)</span>
|
||||
<span class="n">winproxy</span><span class="o">.</span><span class="n">NtWow64ReadVirtualMemory64</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">addr</span><span class="p">,</span> <span class="n">buffer_addr</span><span class="p">,</span> <span class="n">size</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">buffer_addr</span><span class="p">[:]</span>
|
||||
<span class="n">peb_addr</span> <span class="o">=</span> <span class="n">get_current_process_syswow_peb_addr</span><span class="p">()</span>
|
||||
<span class="k">return</span> <span class="n">windows</span><span class="o">.</span><span class="n">winobject</span><span class="o">.</span><span class="n">process</span><span class="o">.</span><span class="n">RemotePEB64</span><span class="p">(</span><span class="n">peb_addr</span><span class="p">,</span> <span class="n">CurrentProcessReadSyswow</span><span class="p">())</span>
|
||||
|
||||
<span class="k">class</span> <span class="nc">CurrentProcessReadSyswow</span><span class="p">(</span><span class="n">process</span><span class="o">.</span><span class="n">Process</span><span class="p">):</span>
|
||||
<span class="n">bitness</span> <span class="o">=</span> <span class="mi">64</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_get_handle</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="c1"># GetCurrentProcess() is not accepted for NtWow64ReadVirtualMemory64 :(</span>
|
||||
<span class="k">return</span> <span class="n">winproxy</span><span class="o">.</span><span class="n">OpenProcess</span><span class="p">(</span><span class="n">dwProcessId</span><span class="o">=</span><span class="n">windows</span><span class="o">.</span><span class="n">current_process</span><span class="o">.</span><span class="n">pid</span><span class="p">)</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">read_memory</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">addr</span><span class="p">,</span> <span class="n">size</span><span class="p">):</span>
|
||||
<span class="n">buffer_addr</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">create_string_buffer</span><span class="p">(</span><span class="n">size</span><span class="p">)</span>
|
||||
<span class="n">winproxy</span><span class="o">.</span><span class="n">NtWow64ReadVirtualMemory64</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">addr</span><span class="p">,</span> <span class="n">buffer_addr</span><span class="p">,</span> <span class="n">size</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">buffer_addr</span><span class="p">[:]</span>
|
||||
|
||||
<span class="k">class</span> <span class="nc">ReadSyswow64Process</span><span class="p">(</span><span class="n">process</span><span class="o">.</span><span class="n">Process</span><span class="p">):</span>
|
||||
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">target</span><span class="p">):</span>
|
||||
@@ -432,7 +433,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../index.html" >Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.syswow64</a></li>
|
||||
</ul>
|
||||
|
||||
+50
-22
@@ -4,12 +4,12 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>windows.utils.winutils — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>windows.utils.winutils — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="../../../_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.utils.winutils</a></li>
|
||||
</ul>
|
||||
@@ -75,19 +75,6 @@
|
||||
<span class="k">return</span> <span class="n">mod</span><span class="o">.</span><span class="n">pe</span><span class="o">.</span><span class="n">exports</span><span class="p">[</span><span class="n">func_name</span><span class="p">]</span>
|
||||
|
||||
|
||||
<span class="k">def</span> <span class="nf">is_wow_64</span><span class="p">(</span><span class="n">hProcess</span><span class="p">):</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="n">fnIsWow64Process</span> <span class="o">=</span> <span class="n">get_func_addr</span><span class="p">(</span><span class="s2">"kernel32.dll"</span><span class="p">,</span> <span class="s2">"IsWow64Process"</span><span class="p">)</span>
|
||||
<span class="k">except</span> <span class="n">winproxy</span><span class="o">.</span><span class="n">WinproxyError</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="kc">False</span>
|
||||
<span class="n">IsWow64Process</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">WINFUNCTYPE</span><span class="p">(</span><span class="n">BOOL</span><span class="p">,</span> <span class="n">HANDLE</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">POINTER</span><span class="p">(</span><span class="n">BOOL</span><span class="p">))(</span><span class="n">fnIsWow64Process</span><span class="p">)</span>
|
||||
<span class="n">Wow64Process</span> <span class="o">=</span> <span class="n">BOOL</span><span class="p">()</span>
|
||||
<span class="n">res</span> <span class="o">=</span> <span class="n">IsWow64Process</span><span class="p">(</span><span class="n">hProcess</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">Wow64Process</span><span class="p">))</span>
|
||||
<span class="k">if</span> <span class="n">res</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="nb">bool</span><span class="p">(</span><span class="n">Wow64Process</span><span class="p">)</span>
|
||||
<span class="k">raise</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">WinError</span><span class="p">()</span>
|
||||
|
||||
|
||||
<div class="viewcode-block" id="create_file_from_handle">
|
||||
<a class="viewcode-back" href="../../../utils.html#windows.utils.create_file_from_handle">[docs]</a>
|
||||
<span class="k">def</span> <span class="nf">create_file_from_handle</span><span class="p">(</span><span class="n">handle</span><span class="p">,</span> <span class="n">mode</span><span class="o">=</span><span class="s2">"r"</span><span class="p">):</span>
|
||||
@@ -136,14 +123,35 @@
|
||||
|
||||
<div class="viewcode-block" id="create_process">
|
||||
<a class="viewcode-back" href="../../../utils.html#windows.utils.create_process">[docs]</a>
|
||||
<span class="k">def</span> <span class="nf">create_process</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">args</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">dwCreationFlags</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">show_windows</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""A convenient wrapper arround :func:`windows.winproxy.CreateProcessW`"""</span>
|
||||
<span class="k">def</span> <span class="nf">create_process</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">args</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">dwCreationFlags</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">show_windows</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">machine</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""A convenient wrapper arround :func:`windows.winproxy.CreateProcessW`</span>
|
||||
<span class="sd"> ..note:</span>
|
||||
<span class="sd"> The machine param only works starting at vista and should be used on arm64 computer</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">proc_info</span> <span class="o">=</span> <span class="n">PROCESS_INFORMATION</span><span class="p">()</span>
|
||||
<span class="n">StartupInfo</span> <span class="o">=</span> <span class="kc">None</span>
|
||||
<span class="n">lpStartupInfo</span> <span class="o">=</span> <span class="kc">None</span>
|
||||
|
||||
<span class="k">if</span> <span class="n">machine</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
|
||||
<span class="n">buffer</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">create_string_buffer</span><span class="p">(</span><span class="mh">0x100</span><span class="p">)</span>
|
||||
<span class="n">size</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">DWORD64</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">buffer</span><span class="p">))</span>
|
||||
<span class="n">machine</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">WORD</span><span class="p">(</span><span class="n">machine</span><span class="p">)</span>
|
||||
<span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">InitializeProcThreadAttributeList</span><span class="p">(</span><span class="n">buffer</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">size</span><span class="p">)</span>
|
||||
<span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">UpdateProcThreadAttribute</span><span class="p">(</span><span class="n">buffer</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">gdef</span><span class="o">.</span><span class="n">PROC_THREAD_ATTRIBUTE_MACHINE_TYPE</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">addressof</span><span class="p">(</span><span class="n">machine</span><span class="p">),</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">sizeof</span><span class="p">(</span><span class="n">machine</span><span class="p">),</span> <span class="kc">None</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span>
|
||||
|
||||
<span class="n">startup_infoex</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">STARTUPINFOEXW</span><span class="p">()</span>
|
||||
<span class="n">startup_infoex</span><span class="o">.</span><span class="n">StartupInfo</span><span class="o">.</span><span class="n">cb</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">sizeof</span><span class="p">(</span><span class="n">gdef</span><span class="o">.</span><span class="n">STARTUPINFOEXW</span><span class="p">)</span>
|
||||
<span class="n">startup_infoex</span><span class="o">.</span><span class="n">lpAttributeList</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">cast</span><span class="p">(</span><span class="n">buffer</span><span class="p">,</span> <span class="n">gdef</span><span class="o">.</span><span class="n">PVOID</span><span class="p">)</span>
|
||||
<span class="n">StartupInfo</span> <span class="o">=</span> <span class="n">startup_infoex</span><span class="o">.</span><span class="n">StartupInfo</span>
|
||||
|
||||
<span class="n">dwCreationFlags</span> <span class="o">|=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">EXTENDED_STARTUPINFO_PRESENT</span>
|
||||
|
||||
<span class="k">if</span> <span class="n">show_windows</span><span class="p">:</span>
|
||||
<span class="n">StartupInfo</span> <span class="o">=</span> <span class="n">STARTUPINFOW</span><span class="p">()</span>
|
||||
<span class="n">StartupInfo</span><span class="o">.</span><span class="n">cb</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">sizeof</span><span class="p">(</span><span class="n">StartupInfo</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">StartupInfo</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||
<span class="n">StartupInfo</span> <span class="o">=</span> <span class="n">STARTUPINFOW</span><span class="p">()</span>
|
||||
<span class="n">StartupInfo</span><span class="o">.</span><span class="n">cb</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">sizeof</span><span class="p">(</span><span class="n">StartupInfo</span><span class="p">)</span>
|
||||
<span class="n">StartupInfo</span><span class="o">.</span><span class="n">dwFlags</span> <span class="o">=</span> <span class="mi">0</span>
|
||||
<span class="k">if</span> <span class="n">StartupInfo</span><span class="p">:</span>
|
||||
<span class="n">lpStartupInfo</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">StartupInfo</span><span class="p">)</span>
|
||||
<span class="n">lpCommandLine</span> <span class="o">=</span> <span class="kc">None</span>
|
||||
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="nb">bytes</span><span class="p">):</span>
|
||||
@@ -160,6 +168,8 @@
|
||||
<span class="n">dbgprint</span><span class="p">(</span><span class="s2">"CreateProcessW new thread handle </span><span class="si">{:#x}</span><span class="s2">"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">proc_info</span><span class="o">.</span><span class="n">hThread</span><span class="p">),</span> <span class="s2">"HANDLE"</span><span class="p">)</span>
|
||||
<span class="n">dbgprint</span><span class="p">(</span><span class="s2">"Automatic close of thread handle </span><span class="si">{:#x}</span><span class="s2">"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">proc_info</span><span class="o">.</span><span class="n">hThread</span><span class="p">),</span> <span class="s2">"HANDLE"</span><span class="p">)</span>
|
||||
<span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">CloseHandle</span><span class="p">(</span><span class="n">proc_info</span><span class="o">.</span><span class="n">hThread</span><span class="p">)</span> <span class="c1"># Give access to a WinThread in addition of the WinProcess ?</span>
|
||||
<span class="k">if</span> <span class="n">machine</span><span class="p">:</span>
|
||||
<span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">DeleteProcThreadAttributeList</span><span class="p">(</span><span class="n">buffer</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">windows</span><span class="o">.</span><span class="n">winobject</span><span class="o">.</span><span class="n">process</span><span class="o">.</span><span class="n">WinProcess</span><span class="p">(</span><span class="n">pid</span><span class="o">=</span><span class="n">proc_info</span><span class="o">.</span><span class="n">dwProcessId</span><span class="p">,</span> <span class="n">handle</span><span class="o">=</span><span class="n">proc_info</span><span class="o">.</span><span class="n">hProcess</span><span class="p">)</span></div>
|
||||
|
||||
|
||||
@@ -360,6 +370,16 @@
|
||||
<span class="n">microsecond</span><span class="o">=</span><span class="n">systime</span><span class="o">.</span><span class="n">wMilliseconds</span> <span class="o">*</span> <span class="mi">1000</span><span class="p">,</span>
|
||||
<span class="p">)</span>
|
||||
|
||||
<span class="n">IMAGE_FILE_MACHINE_TO_PROC_ARCH</span> <span class="o">=</span> <span class="p">{</span>
|
||||
<span class="n">gdef</span><span class="o">.</span><span class="n">IMAGE_FILE_MACHINE_I386</span><span class="p">:</span> <span class="n">gdef</span><span class="o">.</span><span class="n">PROCESSOR_ARCHITECTURE_INTEL</span><span class="p">,</span>
|
||||
<span class="n">gdef</span><span class="o">.</span><span class="n">IMAGE_FILE_MACHINE_AMD64</span><span class="p">:</span> <span class="n">gdef</span><span class="o">.</span><span class="n">PROCESSOR_ARCHITECTURE_AMD64</span><span class="p">,</span>
|
||||
<span class="n">gdef</span><span class="o">.</span><span class="n">IMAGE_FILE_MACHINE_ARM64</span><span class="p">:</span> <span class="n">gdef</span><span class="o">.</span><span class="n">PROCESSOR_ARCHITECTURE_ARM64</span><span class="p">,</span>
|
||||
<span class="n">gdef</span><span class="o">.</span><span class="n">IMAGE_FILE_MACHINE_UNKNOWN</span><span class="p">:</span> <span class="n">gdef</span><span class="o">.</span><span class="n">PROCESSOR_ARCHITECTURE_UNKNOWN</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">image_file_machine_to_processor_architecture</span><span class="p">(</span><span class="n">image_file_machine</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="n">IMAGE_FILE_MACHINE_TO_PROC_ARCH</span><span class="p">[</span><span class="n">image_file_machine</span><span class="p">]</span>
|
||||
|
||||
<span class="k">class</span> <span class="nc">FixedInteractiveConsole</span><span class="p">(</span><span class="n">code</span><span class="o">.</span><span class="n">InteractiveConsole</span><span class="p">):</span>
|
||||
<span class="k">def</span> <span class="nf">raw_input</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">prompt</span><span class="o">=</span><span class="s2">">>>"</span><span class="p">):</span>
|
||||
<span class="n">sys</span><span class="o">.</span><span class="n">stdout</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">prompt</span><span class="p">)</span>
|
||||
@@ -626,6 +646,14 @@
|
||||
<span class="c1"># addr = windows.winproxy.MapViewOfFile(h, dwDesiredAccess=FILE_MAP_READ, dwNumberOfBytesToMap=1)</span>
|
||||
<span class="c1"># return addr</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">get_system_info</span><span class="p">(</span><span class="n">native</span><span class="o">=</span><span class="kc">False</span><span class="p">):</span>
|
||||
<span class="n">res</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">SYSTEM_INFO</span><span class="p">()</span>
|
||||
<span class="k">if</span> <span class="n">native</span><span class="p">:</span>
|
||||
<span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">GetNativeSystemInfo</span><span class="p">(</span><span class="n">res</span><span class="p">)</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">GetSystemInfo</span><span class="p">(</span><span class="n">res</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">res</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">decompress_buffer</span><span class="p">(</span><span class="n">buffer</span><span class="p">,</span> <span class="n">comptype</span><span class="o">=</span><span class="n">gdef</span><span class="o">.</span><span class="n">COMPRESSION_FORMAT_LZNT1</span><span class="p">,</span> <span class="n">uncompress_size</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="n">uncompress_size</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||
<span class="n">uncompress_size</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">buffer</span><span class="p">)</span> <span class="o">*</span> <span class="mi">10</span>
|
||||
@@ -700,7 +728,7 @@
|
||||
<div class="viewcode-block" id="DisableWow64FsRedirection">
|
||||
<a class="viewcode-back" href="../../../utils.html#windows.utils.DisableWow64FsRedirection">[docs]</a>
|
||||
<span class="k">class</span> <span class="nc">DisableWow64FsRedirection</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""</span>
|
||||
<span class="w"> </span><span class="sa">r</span><span class="sd">"""</span>
|
||||
<span class="sd"> A context manager that disable the SysWow64 Filesystem Redirection ::</span>
|
||||
|
||||
<span class="sd"> if is_process_32_bits:</span>
|
||||
@@ -752,7 +780,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.utils.winutils</a></li>
|
||||
</ul>
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>windows.winobject.event_log — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>windows.winobject.event_log — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="../../../_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.winobject.event_log</a></li>
|
||||
</ul>
|
||||
@@ -1279,7 +1279,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.winobject.event_log</a></li>
|
||||
</ul>
|
||||
|
||||
+6
-4
@@ -4,12 +4,12 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>windows.winobject.handle — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>windows.winobject.handle — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="../../../_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.winobject.handle</a></li>
|
||||
</ul>
|
||||
@@ -186,6 +186,8 @@
|
||||
|
||||
|
||||
<span class="k">def</span> <span class="nf">enumerate_handles_syswow64</span><span class="p">():</span>
|
||||
<span class="k">if</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_process</span><span class="o">.</span><span class="n">_is_x86_on_arm64</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s2">"Crossing heaven gate x86 -> arm64 not implemented"</span><span class="p">)</span>
|
||||
<span class="n">size_needed</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">ULONG</span><span class="p">()</span>
|
||||
<span class="c1"># Should at least be sizeof(gdef.SYSTEM_HANDLE_INFORMATION)</span>
|
||||
<span class="n">tmp_buffer</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">utils</span><span class="o">.</span><span class="n">BUFFER</span><span class="p">(</span><span class="n">gdef</span><span class="o">.</span><span class="n">SYSTEM_HANDLE_INFORMATION64</span><span class="p">)()</span>
|
||||
@@ -267,7 +269,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.winobject.handle</a></li>
|
||||
</ul>
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>windows.winobject.object_manager — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>windows.winobject.object_manager — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="../../../_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.winobject.object_manager</a></li>
|
||||
</ul>
|
||||
@@ -224,13 +224,13 @@
|
||||
<div class="viewcode-block" id="KernelObject.__getitem__">
|
||||
<a class="viewcode-back" href="../../../object_manager.html#windows.winobject.object_manager.KernelObject.__getitem__">[docs]</a>
|
||||
<span class="k">def</span> <span class="fm">__getitem__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""Query object ``name`` from the directory, split and subquery on ``\\``::</span>
|
||||
<span class="w"> </span><span class="sa">r</span><span class="sd">"""Query object ``name`` from the directory, split and subquery on ``\``::</span>
|
||||
|
||||
<span class="sd"> >>> obj</span>
|
||||
<span class="sd"> <KernelObject "\Windows" (type="Directory")></span>
|
||||
<span class="sd"> >>> obj["WindowStations"]["WinSta0"]</span>
|
||||
<span class="sd"> <KernelObject "\Windows\WindowStations" (type="Directory")></span>
|
||||
<span class="sd"> >>> obj["WindowStations\\WinSta0"]</span>
|
||||
<span class="sd"> >>> obj[r"WindowStations\\WinSta0"]</span>
|
||||
<span class="sd"> <KernelObject "\Windows\WindowStations" (type="Directory")></span>
|
||||
|
||||
<span class="sd"> :rtype: :class:`KernelObject`</span>
|
||||
@@ -317,7 +317,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.winobject.object_manager</a></li>
|
||||
</ul>
|
||||
|
||||
+211
-106
@@ -4,12 +4,12 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>windows.winobject.process — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>windows.winobject.process — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="../../../_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.winobject.process</a></li>
|
||||
</ul>
|
||||
@@ -51,6 +51,7 @@
|
||||
<span class="kn">import</span> <span class="nn">windows</span>
|
||||
<span class="kn">import</span> <span class="nn">windows.native_exec.simple_x86</span> <span class="k">as</span> <span class="nn">x86</span>
|
||||
<span class="kn">import</span> <span class="nn">windows.native_exec.simple_x64</span> <span class="k">as</span> <span class="nn">x64</span>
|
||||
<span class="kn">import</span> <span class="nn">windows.native_exec.simple_arm64</span> <span class="k">as</span> <span class="nn">arm64</span>
|
||||
<span class="kn">import</span> <span class="nn">windows.remotectypes</span> <span class="k">as</span> <span class="nn">rctypes</span>
|
||||
<span class="kn">import</span> <span class="nn">windows.generated_def</span> <span class="k">as</span> <span class="nn">gdef</span>
|
||||
|
||||
@@ -106,27 +107,82 @@
|
||||
|
||||
|
||||
<span class="k">class</span> <span class="nc">Process</span><span class="p">(</span><span class="n">utils</span><span class="o">.</span><span class="n">AutoHandle</span><span class="p">):</span>
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedpropety</span>
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedproperty</span>
|
||||
<span class="k">def</span> <span class="nf">is_wow_64</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""``True`` if the process is a SysWow64 process (32bit process on 64bits system).</span>
|
||||
|
||||
<span class="sd"> :type: :class:`bool`</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="c1"># return utils.is_wow_64(self.handle)</span>
|
||||
<span class="k">return</span> <span class="n">utils</span><span class="o">.</span><span class="n">is_wow_64</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">limited_handle</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">is_implemented</span><span class="p">(</span><span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">IsWow64Process</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="kc">False</span>
|
||||
<span class="n">Wow64Process</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">BOOL</span><span class="p">()</span>
|
||||
<span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">IsWow64Process</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">Wow64Process</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="nb">bool</span><span class="p">(</span><span class="n">Wow64Process</span><span class="p">)</span>
|
||||
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedpropety</span>
|
||||
|
||||
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedproperty</span>
|
||||
<span class="k">def</span> <span class="nf">is_wow_64_2</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">is_implemented</span><span class="p">(</span><span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">IsWow64Process2</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="kc">None</span><span class="p">,</span> <span class="kc">None</span>
|
||||
<span class="n">processMachine</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">USHORT</span><span class="p">()</span>
|
||||
<span class="n">nativeMachine</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">USHORT</span><span class="p">()</span>
|
||||
<span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">IsWow64Process2</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">processMachine</span><span class="p">,</span> <span class="n">nativeMachine</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="p">(</span><span class="n">gdef</span><span class="o">.</span><span class="n">IMAGE_FILE_MACHINE_MAPPER</span><span class="p">[</span><span class="n">processMachine</span><span class="o">.</span><span class="n">value</span><span class="p">],</span>
|
||||
<span class="n">gdef</span><span class="o">.</span><span class="n">IMAGE_FILE_MACHINE_MAPPER</span><span class="p">[</span><span class="n">nativeMachine</span><span class="o">.</span><span class="n">value</span><span class="p">])</span>
|
||||
|
||||
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedproperty</span>
|
||||
<span class="k">def</span> <span class="nf">bitness</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""The bitness of the process</span>
|
||||
|
||||
<span class="sd"> :returns: :class:`int` -- 32 or 64</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">if</span> <span class="n">windows</span><span class="o">.</span><span class="n">system</span><span class="o">.</span><span class="n">bitness</span> <span class="o">==</span> <span class="mi">32</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="mi">32</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_wow_64</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">windows</span><span class="o">.</span><span class="n">system</span><span class="o">.</span><span class="n">bitness</span> <span class="o">==</span> <span class="mi">32</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_wow_64</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="mi">32</span>
|
||||
<span class="k">return</span> <span class="mi">64</span>
|
||||
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedproperty</span>
|
||||
<span class="k">def</span> <span class="nf">architecture</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="c1"># Syswow2 will exactly tell us the architecture</span>
|
||||
<span class="k">if</span> <span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">is_implemented</span><span class="p">(</span><span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">IsWow64Process2</span><span class="p">):</span>
|
||||
<span class="n">process_machine</span><span class="p">,</span> <span class="n">native_machine</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_wow_64_2</span>
|
||||
<span class="k">if</span> <span class="n">process_machine</span> <span class="o">!=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">IMAGE_FILE_MACHINE_UNKNOWN</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="n">process_machine</span>
|
||||
|
||||
<span class="k">if</span> <span class="n">windows</span><span class="o">.</span><span class="n">system</span><span class="o">.</span><span class="n">architecture</span> <span class="o">==</span> <span class="n">gdef</span><span class="o">.</span><span class="n">PROCESSOR_ARCHITECTURE_ARM64</span><span class="p">:</span>
|
||||
<span class="c1"># May be ARM64 or AMD64 as X64TA64 is not considered WOW64</span>
|
||||
<span class="c1"># ProcessMachineTypeInfo is from build 22000</span>
|
||||
<span class="c1"># What if not implemented ? parse target main binary PE ?</span>
|
||||
<span class="n">machine_archi</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">PROCESS_MACHINE_INFORMATION</span><span class="p">()</span>
|
||||
<span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">GetProcessInformation</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">gdef</span><span class="o">.</span><span class="n">ProcessMachineTypeInfo</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">machine_archi</span><span class="p">),</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">sizeof</span><span class="p">(</span><span class="n">machine_archi</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="n">gdef</span><span class="o">.</span><span class="n">IMAGE_FILE_MACHINE_MAPPER</span><span class="p">[</span><span class="n">machine_archi</span><span class="o">.</span><span class="n">ProcessMachine</span><span class="p">]</span>
|
||||
|
||||
<span class="c1"># No IsWow64Process2 -> No ARM</span>
|
||||
<span class="c1"># So its up on x86 -> x64 based on process bitness</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">bitness</span> <span class="o">==</span> <span class="mi">32</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="n">gdef</span><span class="o">.</span><span class="n">IMAGE_FILE_MACHINE_I386</span>
|
||||
<span class="k">return</span> <span class="n">gdef</span><span class="o">.</span><span class="n">IMAGE_FILE_MACHINE_AMD64</span>
|
||||
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedproperty</span>
|
||||
<span class="k">def</span> <span class="nf">_is_x86_on_arm64</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="p">(</span><span class="n">windows</span><span class="o">.</span><span class="n">system</span><span class="o">.</span><span class="n">architecture</span> <span class="o">==</span> <span class="n">gdef</span><span class="o">.</span><span class="n">PROCESSOR_ARCHITECTURE_ARM64</span> <span class="ow">and</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">architecture</span> <span class="o">==</span> <span class="n">gdef</span><span class="o">.</span><span class="n">IMAGE_FILE_MACHINE_I386</span><span class="p">)</span>
|
||||
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedproperty</span>
|
||||
<span class="k">def</span> <span class="nf">_is_x86_on_x64</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="p">(</span><span class="n">windows</span><span class="o">.</span><span class="n">system</span><span class="o">.</span><span class="n">architecture</span> <span class="o">==</span> <span class="n">gdef</span><span class="o">.</span><span class="n">PROCESSOR_ARCHITECTURE_AMD64</span> <span class="ow">and</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">architecture</span> <span class="o">==</span> <span class="n">gdef</span><span class="o">.</span><span class="n">IMAGE_FILE_MACHINE_I386</span><span class="p">)</span>
|
||||
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedproperty</span>
|
||||
<span class="k">def</span> <span class="nf">_is_native_architecture</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="p">((</span><span class="n">windows</span><span class="o">.</span><span class="n">system</span><span class="o">.</span><span class="n">architecture</span> <span class="o">==</span> <span class="n">gdef</span><span class="o">.</span><span class="n">PROCESSOR_ARCHITECTURE_INTEL</span> <span class="ow">and</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">architecture</span> <span class="o">==</span> <span class="n">gdef</span><span class="o">.</span><span class="n">IMAGE_FILE_MACHINE_I386</span><span class="p">)</span> <span class="ow">or</span>
|
||||
<span class="p">(</span><span class="n">windows</span><span class="o">.</span><span class="n">system</span><span class="o">.</span><span class="n">architecture</span> <span class="o">==</span> <span class="n">gdef</span><span class="o">.</span><span class="n">PROCESSOR_ARCHITECTURE_AMD64</span> <span class="ow">and</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">architecture</span> <span class="o">==</span> <span class="n">gdef</span><span class="o">.</span><span class="n">IMAGE_FILE_MACHINE_AMD64</span><span class="p">)</span> <span class="ow">or</span>
|
||||
<span class="p">(</span><span class="n">windows</span><span class="o">.</span><span class="n">system</span><span class="o">.</span><span class="n">architecture</span> <span class="o">==</span> <span class="n">gdef</span><span class="o">.</span><span class="n">PROCESSOR_ARCHITECTURE_ARM64</span> <span class="ow">and</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">architecture</span> <span class="o">==</span> <span class="n">gdef</span><span class="o">.</span><span class="n">IMAGE_FILE_MACHINE_ARM64</span><span class="p">))</span>
|
||||
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedpropety</span>
|
||||
<span class="k">def</span> <span class="nf">limited_handle</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="n">windows</span><span class="o">.</span><span class="n">system</span><span class="o">.</span><span class="n">version</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o"><=</span> <span class="mi">5</span><span class="p">:</span>
|
||||
@@ -134,14 +190,26 @@
|
||||
<span class="k">return</span> <span class="n">winproxy</span><span class="o">.</span><span class="n">OpenProcess</span><span class="p">(</span><span class="n">PROCESS_QUERY_INFORMATION</span><span class="p">,</span> <span class="n">dwProcessId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">pid</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">winproxy</span><span class="o">.</span><span class="n">OpenProcess</span><span class="p">(</span><span class="n">PROCESS_QUERY_LIMITED_INFORMATION</span><span class="p">,</span> <span class="n">dwProcessId</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">pid</span><span class="p">)</span>
|
||||
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedproperty</span>
|
||||
<span class="k">def</span> <span class="nf">name</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""Name of the process</span>
|
||||
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedpropety</span>
|
||||
<span class="sd"> :type: :class:`str`</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">buffer</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">create_unicode_buffer</span><span class="p">(</span><span class="mh">0x1024</span><span class="p">)</span>
|
||||
<span class="n">rsize</span> <span class="o">=</span> <span class="n">winproxy</span><span class="o">.</span><span class="n">GetProcessImageFileNameW</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">limited_handle</span><span class="p">,</span> <span class="n">buffer</span><span class="p">)</span>
|
||||
<span class="c1"># GetProcessImageFileNameW returns the fullpath</span>
|
||||
<span class="k">return</span> <span class="n">buffer</span><span class="p">[:</span><span class="n">rsize</span><span class="p">]</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">"</span><span class="se">\\</span><span class="s2">"</span><span class="p">)[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
|
||||
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedproperty</span>
|
||||
<span class="k">def</span> <span class="nf">ppid</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""Parent Process ID</span>
|
||||
|
||||
<span class="sd"> :type: :class:`int`</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">if</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_process</span><span class="o">.</span><span class="n">bitness</span> <span class="o">==</span> <span class="mi">32</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">bitness</span> <span class="o">==</span> <span class="mi">64</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_process</span><span class="o">.</span><span class="n">_is_x86_on_arm64</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s2">"Crossing heaven gate x86 -> arm64 not implemented"</span><span class="p">)</span>
|
||||
<span class="n">xtype</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">remotectypes</span><span class="o">.</span><span class="n">transform_type_to_remote64bits</span><span class="p">(</span><span class="n">PROCESS_BASIC_INFORMATION</span><span class="p">)</span>
|
||||
<span class="c1"># Fuck-it <3</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="p">(</span><span class="n">ctypes</span><span class="o">.</span><span class="n">c_char</span> <span class="o">*</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">sizeof</span><span class="p">(</span><span class="n">xtype</span><span class="p">))()</span>
|
||||
@@ -212,6 +280,8 @@
|
||||
<span class="k">def</span> <span class="nf">virtual_protect</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">addr</span><span class="p">,</span> <span class="n">size</span><span class="p">,</span> <span class="n">protect</span><span class="p">,</span> <span class="n">old_protect</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""Change the access right of one or more page of the process"""</span>
|
||||
<span class="k">if</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_process</span><span class="o">.</span><span class="n">bitness</span> <span class="o">==</span> <span class="mi">32</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">bitness</span> <span class="o">==</span> <span class="mi">64</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_process</span><span class="o">.</span><span class="n">_is_x86_on_arm64</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s2">"Crossing heaven gate x86 -> arm64 not implemented"</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">size</span> <span class="o">&</span> <span class="mh">0x0fff</span><span class="p">:</span>
|
||||
<span class="n">size</span> <span class="o">=</span> <span class="p">((</span><span class="n">size</span> <span class="o">>></span> <span class="mi">12</span><span class="p">)</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span> <span class="o"><<</span> <span class="mi">12</span>
|
||||
<span class="k">if</span> <span class="n">old_protect</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||
@@ -242,6 +312,8 @@
|
||||
<span class="sd"> :rtype: :class:`~windows.generated_def.winstructs.MEMORY_BASIC_INFORMATION`</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">if</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_process</span><span class="o">.</span><span class="n">bitness</span> <span class="o">==</span> <span class="mi">32</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">bitness</span> <span class="o">==</span> <span class="mi">64</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_process</span><span class="o">.</span><span class="n">_is_x86_on_arm64</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s2">"Crossing heaven gate x86 -> arm64 not implemented"</span><span class="p">)</span>
|
||||
<span class="n">res</span> <span class="o">=</span> <span class="n">MEMORY_BASIC_INFORMATION64</span><span class="p">()</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="n">v</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">syswow64</span><span class="o">.</span><span class="n">NtQueryVirtualMemory_32_to_64</span><span class="p">(</span><span class="n">ProcessHandle</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">BaseAddress</span><span class="o">=</span><span class="n">addr</span><span class="p">,</span> <span class="n">MemoryInformationClass</span><span class="o">=</span><span class="n">MemoryBasicInformation</span><span class="p">,</span> <span class="n">MemoryInformation</span><span class="o">=</span><span class="n">res</span><span class="p">)</span>
|
||||
@@ -322,6 +394,8 @@
|
||||
<span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">data</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">info_array</span><span class="p">):</span>
|
||||
<span class="n">info_array</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">VirtualAddress</span> <span class="o">=</span> <span class="n">addresses</span><span class="p">[</span><span class="n">i</span><span class="p">]</span>
|
||||
<span class="k">if</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_process</span><span class="o">.</span><span class="n">bitness</span> <span class="o">==</span> <span class="mi">32</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">bitness</span> <span class="o">==</span> <span class="mi">64</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_process</span><span class="o">.</span><span class="n">_is_x86_on_arm64</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s2">"Crossing heaven gate x86 -> arm64 not implemented"</span><span class="p">)</span>
|
||||
<span class="n">windows</span><span class="o">.</span><span class="n">syswow64</span><span class="o">.</span><span class="n">NtQueryVirtualMemory_32_to_64</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">MemoryWorkingSetListEx</span><span class="p">,</span> <span class="n">info_array</span><span class="p">)</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">winproxy</span><span class="o">.</span><span class="n">QueryWorkingSetEx</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">info_array</span><span class="p">),</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">sizeof</span><span class="p">(</span><span class="n">info_array</span><span class="p">))</span>
|
||||
@@ -552,11 +626,12 @@
|
||||
<span class="k">return</span> <span class="p">[</span><span class="n">h</span> <span class="k">for</span> <span class="n">h</span> <span class="ow">in</span> <span class="n">windows</span><span class="o">.</span><span class="n">system</span><span class="o">.</span><span class="n">handles</span> <span class="k">if</span> <span class="n">h</span><span class="o">.</span><span class="n">dwProcessId</span> <span class="o">==</span> <span class="n">pid</span><span class="p">]</span>
|
||||
|
||||
<span class="k">def</span> <span class="fm">__del__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="nb">super</span><span class="p">(</span><span class="n">Process</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__del__</span><span class="p">()</span>
|
||||
<span class="c1"># Same logic that AutoHandle.__del__ for Process.limited_handle</span>
|
||||
<span class="c1"># Assert that Process inherit AutoHandle</span>
|
||||
<span class="c1"># sys.path is not None -> check if python shutdown</span>
|
||||
<span class="k">if</span> <span class="n">sys</span><span class="o">.</span><span class="n">path</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="ow">and</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s2">"_limited_handle"</span><span class="p">)</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">_limited_handle</span><span class="p">:</span>
|
||||
<span class="c1"># Same logic that AutoHandle.__del__ for Process.limited_handle</span>
|
||||
<span class="c1"># Assert that Process inherit AutoHandle</span>
|
||||
<span class="c1"># Call super after check as Process could be None during destruction</span>
|
||||
<span class="nb">super</span><span class="p">(</span><span class="n">Process</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__del__</span><span class="p">()</span>
|
||||
<span class="c1"># Prevent some bug where dbgprint might be None when __del__ is called in a closing process</span>
|
||||
<span class="c1"># This line is bad -> it reopens a handle closed by 'super(Process, self).__del__()' ._.</span>
|
||||
<span class="n">dbgprint</span><span class="p">(</span><span class="s2">"Closing limited handle </span><span class="si">{0}</span><span class="s2"> for </span><span class="si">{1}</span><span class="s2">"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">hex</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_limited_handle</span><span class="p">),</span> <span class="bp">self</span><span class="p">),</span> <span class="s2">"HANDLE"</span><span class="p">)</span> <span class="k">if</span> <span class="n">dbgprint</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="k">else</span> <span class="kc">None</span>
|
||||
@@ -603,7 +678,14 @@
|
||||
<a class="viewcode-back" href="../../../process.html#windows.winobject.process.CurrentThread">[docs]</a>
|
||||
<span class="k">class</span> <span class="nc">CurrentThread</span><span class="p">(</span><span class="n">Thread</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""The current thread"""</span>
|
||||
<span class="nd">@property</span> <span class="c1">#It's not a fixedpropety because executing thread might change</span>
|
||||
|
||||
<span class="n">get_teb_code_by_architecture</span> <span class="o">=</span> <span class="p">{</span>
|
||||
<span class="n">gdef</span><span class="o">.</span><span class="n">IMAGE_FILE_MACHINE_I386</span><span class="p">:</span> <span class="n">x86</span><span class="o">.</span><span class="n">assemble</span><span class="p">(</span><span class="s2">"mov eax, fs:[0x18]; ret"</span><span class="p">),</span>
|
||||
<span class="n">gdef</span><span class="o">.</span><span class="n">IMAGE_FILE_MACHINE_AMD64</span><span class="p">:</span> <span class="n">x64</span><span class="o">.</span><span class="n">assemble</span><span class="p">(</span><span class="s2">"mov rax, gs:[0x30]; ret"</span><span class="p">),</span>
|
||||
<span class="n">gdef</span><span class="o">.</span><span class="n">IMAGE_FILE_MACHINE_ARM64</span><span class="p">:</span> <span class="n">arm64</span><span class="o">.</span><span class="n">assemble</span><span class="p">(</span><span class="s2">"mov x0, x18; ret"</span><span class="p">)</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="nd">@property</span> <span class="c1">#It's not a fixedproperty because executing thread might change</span>
|
||||
<span class="k">def</span> <span class="nf">tid</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""Thread ID</span>
|
||||
|
||||
@@ -611,6 +693,15 @@
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">return</span> <span class="n">winproxy</span><span class="o">.</span><span class="n">GetCurrentThreadId</span><span class="p">()</span>
|
||||
|
||||
<span class="nd">@property</span> <span class="c1">#It's not a fixedproperty because executing thread might change</span>
|
||||
<span class="k">def</span> <span class="nf">teb_base</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="n">get_teb_base_code</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_teb_code_by_architecture</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">owner</span><span class="o">.</span><span class="n">architecture</span><span class="p">]</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">owner</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">get_teb_base_code</span><span class="p">)</span>
|
||||
|
||||
<span class="nd">@property</span>
|
||||
<span class="k">def</span> <span class="nf">teb</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="n">TEB</span><span class="o">.</span><span class="n">from_address</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">teb_base</span><span class="p">)</span>
|
||||
|
||||
<span class="nd">@property</span>
|
||||
<span class="k">def</span> <span class="nf">owner</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""The current process</span>
|
||||
@@ -632,8 +723,6 @@
|
||||
<span class="k">return</span> <span class="n">winproxy</span><span class="o">.</span><span class="n">ExitThread</span><span class="p">(</span><span class="n">code</span><span class="p">)</span></div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="viewcode-block" id="CurrentThread.wait">
|
||||
<a class="viewcode-back" href="../../../process.html#windows.winobject.process.CurrentThread.wait">[docs]</a>
|
||||
<span class="k">def</span> <span class="nf">wait</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">timeout</span><span class="o">=</span><span class="n">INFINITE</span><span class="p">):</span>
|
||||
@@ -647,37 +736,12 @@
|
||||
<a class="viewcode-back" href="../../../process.html#windows.winobject.process.CurrentProcess">[docs]</a>
|
||||
<span class="k">class</span> <span class="nc">CurrentProcess</span><span class="p">(</span><span class="n">Process</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""The current process"""</span>
|
||||
<span class="n">get_peb</span> <span class="o">=</span> <span class="kc">None</span>
|
||||
|
||||
<span class="n">get_peb_32_code</span> <span class="o">=</span> <span class="n">x86</span><span class="o">.</span><span class="n">MultipleInstr</span><span class="p">()</span>
|
||||
<span class="n">get_peb_32_code</span> <span class="o">+=</span> <span class="n">x86</span><span class="o">.</span><span class="n">Mov</span><span class="p">(</span><span class="s1">'EAX'</span><span class="p">,</span> <span class="n">x86</span><span class="o">.</span><span class="n">mem</span><span class="p">(</span><span class="s1">'fs:[0x30]'</span><span class="p">))</span>
|
||||
<span class="n">get_peb_32_code</span> <span class="o">+=</span> <span class="n">x86</span><span class="o">.</span><span class="n">Ret</span><span class="p">()</span>
|
||||
<span class="n">get_peb_32_code</span> <span class="o">=</span> <span class="n">get_peb_32_code</span><span class="o">.</span><span class="n">get_code</span><span class="p">()</span>
|
||||
|
||||
<span class="n">get_peb_64_code</span> <span class="o">=</span> <span class="n">x64</span><span class="o">.</span><span class="n">MultipleInstr</span><span class="p">()</span>
|
||||
<span class="n">get_peb_64_code</span> <span class="o">+=</span> <span class="n">x64</span><span class="o">.</span><span class="n">Mov</span><span class="p">(</span><span class="s1">'RAX'</span><span class="p">,</span> <span class="n">x64</span><span class="o">.</span><span class="n">mem</span><span class="p">(</span><span class="s1">'gs:[0x60]'</span><span class="p">))</span>
|
||||
<span class="n">get_peb_64_code</span> <span class="o">+=</span> <span class="n">x64</span><span class="o">.</span><span class="n">Ret</span><span class="p">()</span>
|
||||
<span class="n">get_peb_64_code</span> <span class="o">=</span> <span class="n">get_peb_64_code</span><span class="o">.</span><span class="n">get_code</span><span class="p">()</span>
|
||||
|
||||
<span class="n">allocator</span> <span class="o">=</span> <span class="n">native_exec</span><span class="o">.</span><span class="n">native_function</span><span class="o">.</span><span class="n">allocator</span>
|
||||
|
||||
<span class="n">name</span> <span class="o">=</span> <span class="s2">"CurrentProcess"</span> <span class="c1"># Used by Winthread for __repr__</span>
|
||||
|
||||
<span class="c1"># Use RtlGetCurrentPeb ?</span>
|
||||
<span class="k">def</span> <span class="nf">get_peb_builtin</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_peb</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_peb</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">bitness</span> <span class="o">==</span> <span class="mi">32</span><span class="p">:</span>
|
||||
<span class="n">get_peb</span> <span class="o">=</span> <span class="n">native_exec</span><span class="o">.</span><span class="n">create_function</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">get_peb_32_code</span><span class="p">,</span> <span class="p">[</span><span class="n">PVOID</span><span class="p">])</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">get_peb</span> <span class="o">=</span> <span class="n">native_exec</span><span class="o">.</span><span class="n">create_function</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">get_peb_64_code</span><span class="p">,</span> <span class="p">[</span><span class="n">PVOID</span><span class="p">])</span>
|
||||
<span class="bp">self</span><span class="o">.</span><span class="n">get_peb</span> <span class="o">=</span> <span class="n">get_peb</span>
|
||||
<span class="k">return</span> <span class="n">get_peb</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_get_handle</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="n">winproxy</span><span class="o">.</span><span class="n">GetCurrentProcess</span><span class="p">()</span>
|
||||
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedpropety</span>
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedproperty</span>
|
||||
<span class="k">def</span> <span class="nf">limited_handle</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="n">winproxy</span><span class="o">.</span><span class="n">GetCurrentProcess</span><span class="p">()</span>
|
||||
|
||||
@@ -693,33 +757,32 @@
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">return</span> <span class="n">os</span><span class="o">.</span><span class="n">getpid</span><span class="p">()</span>
|
||||
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedpropety</span> <span class="c1"># leave it has fixed property as we don't care if CurrentProcess is never collected</span>
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedproperty</span> <span class="c1"># leave it has fixed property as we don't care if CurrentProcess is never collected</span>
|
||||
<span class="k">def</span> <span class="nf">peb</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""The Process Environment Block of the current process</span>
|
||||
|
||||
<span class="sd"> :type: :class:`PEB`</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">return</span> <span class="n">PEB</span><span class="o">.</span><span class="n">from_address</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">get_peb_builtin</span><span class="p">()())</span>
|
||||
<span class="k">return</span> <span class="n">PEB</span><span class="o">.</span><span class="n">from_address</span><span class="p">(</span><span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">RtlGetCurrentPeb</span><span class="p">())</span>
|
||||
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedpropety</span>
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedproperty</span>
|
||||
<span class="k">def</span> <span class="nf">bitness</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""The bitness of the process</span>
|
||||
|
||||
<span class="sd"> :type: :class:`int` -- 32 or 64</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="kn">import</span> <span class="nn">platform</span>
|
||||
<span class="n">bits</span> <span class="o">=</span> <span class="n">platform</span><span class="o">.</span><span class="n">architecture</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="k">return</span> <span class="nb">int</span><span class="p">(</span><span class="n">bits</span><span class="p">[:</span><span class="mi">2</span><span class="p">])</span>
|
||||
<span class="k">return</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">sizeof</span><span class="p">(</span><span class="n">gdef</span><span class="o">.</span><span class="n">PVOID</span><span class="p">)</span> <span class="o">*</span> <span class="mi">8</span> <span class="c1"># byte to bits</span>
|
||||
|
||||
|
||||
<div class="viewcode-block" id="CurrentProcess.virtual_alloc">
|
||||
<a class="viewcode-back" href="../../../process.html#windows.winobject.process.CurrentProcess.virtual_alloc">[docs]</a>
|
||||
<span class="k">def</span> <span class="nf">virtual_alloc</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">size</span><span class="p">,</span> <span class="n">prot</span><span class="o">=</span><span class="n">PAGE_EXECUTE_READWRITE</span><span class="p">):</span>
|
||||
<span class="k">def</span> <span class="nf">virtual_alloc</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">size</span><span class="p">,</span> <span class="n">prot</span><span class="o">=</span><span class="n">PAGE_EXECUTE_READWRITE</span><span class="p">,</span> <span class="n">addr</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="n">gdef</span><span class="o">.</span><span class="n">MEM_COMMIT</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""Allocate memory in the process</span>
|
||||
|
||||
<span class="sd"> :return: The address of the allocated memory</span>
|
||||
<span class="sd"> :rtype: :class:`int`</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">return</span> <span class="n">winproxy</span><span class="o">.</span><span class="n">VirtualAlloc</span><span class="p">(</span><span class="n">dwSize</span><span class="o">=</span><span class="n">size</span><span class="p">,</span> <span class="n">flProtect</span><span class="o">=</span><span class="n">prot</span><span class="p">)</span></div>
|
||||
<span class="k">return</span> <span class="n">winproxy</span><span class="o">.</span><span class="n">VirtualAlloc</span><span class="p">(</span><span class="n">lpAddress</span><span class="o">=</span><span class="n">addr</span><span class="p">,</span> <span class="n">dwSize</span><span class="o">=</span><span class="n">size</span><span class="p">,</span> <span class="n">flAllocationType</span><span class="o">=</span><span class="nb">type</span><span class="p">,</span> <span class="n">flProtect</span><span class="o">=</span><span class="n">prot</span><span class="p">)</span></div>
|
||||
|
||||
|
||||
<div class="viewcode-block" id="CurrentProcess.virtual_free">
|
||||
@@ -798,7 +861,7 @@
|
||||
<span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"wait() on current thread"</span><span class="p">)</span></div>
|
||||
|
||||
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedpropety</span>
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedproperty</span>
|
||||
<span class="k">def</span> <span class="nf">peb_syswow</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""The 64bits PEB of a SysWow64 process</span>
|
||||
|
||||
@@ -806,6 +869,8 @@
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_wow_64</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"Not a syswow process"</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_process</span><span class="o">.</span><span class="n">_is_x86_on_arm64</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s2">"Crossing heaven gate x86 -> arm64 not implemented"</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">windows</span><span class="o">.</span><span class="n">syswow64</span><span class="o">.</span><span class="n">get_current_process_syswow_peb</span><span class="p">()</span>
|
||||
|
||||
<span class="c1"># TODO: use ctypes.string_at / ctypes.wstring_at for read_string / read_wstring ?</span>
|
||||
@@ -850,21 +915,21 @@
|
||||
<span class="c1"># Create a DeadThread if thread is already dead ?</span>
|
||||
<span class="k">return</span> <span class="n">WinThread</span><span class="p">(</span><span class="n">handle</span><span class="o">=</span><span class="n">handle</span><span class="p">)</span>
|
||||
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedpropety</span>
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedproperty</span>
|
||||
<span class="k">def</span> <span class="nf">tid</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""Thread ID</span>
|
||||
|
||||
<span class="sd"> :type: :class:`int`"""</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_thread_id</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">)</span>
|
||||
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedpropety</span>
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedproperty</span>
|
||||
<span class="k">def</span> <span class="nf">owner_pid</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="n">res</span> <span class="o">=</span> <span class="n">THREAD_BASIC_INFORMATION</span><span class="p">()</span>
|
||||
<span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">NtQueryInformationThread</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">ThreadBasicInformation</span><span class="p">,</span> <span class="n">byref</span><span class="p">(</span><span class="n">res</span><span class="p">),</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">sizeof</span><span class="p">(</span><span class="n">res</span><span class="p">))</span>
|
||||
<span class="n">owner_id</span> <span class="o">=</span> <span class="n">res</span><span class="o">.</span><span class="n">ClientId</span><span class="o">.</span><span class="n">UniqueProcess</span>
|
||||
<span class="k">return</span> <span class="n">owner_id</span>
|
||||
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedpropety</span>
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedproperty</span>
|
||||
<span class="k">def</span> <span class="nf">owner</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""The Process owning the thread</span>
|
||||
|
||||
@@ -947,6 +1012,8 @@
|
||||
<span class="sd"> :type: :class:`int`</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">if</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_process</span><span class="o">.</span><span class="n">bitness</span> <span class="o">==</span> <span class="mi">32</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">owner</span><span class="o">.</span><span class="n">bitness</span> <span class="o">==</span> <span class="mi">64</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_process</span><span class="o">.</span><span class="n">_is_x86_on_arm64</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s2">"Crossing heaven gate x86 -> arm64 not implemented"</span><span class="p">)</span>
|
||||
<span class="n">res</span> <span class="o">=</span> <span class="n">ULONGLONG</span><span class="p">()</span>
|
||||
<span class="n">windows</span><span class="o">.</span><span class="n">syswow64</span><span class="o">.</span><span class="n">NtQueryInformationThread_32_to_64</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">ThreadQuerySetWin32StartAddress</span><span class="p">,</span> <span class="n">byref</span><span class="p">(</span><span class="n">res</span><span class="p">),</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">sizeof</span><span class="p">(</span><span class="n">res</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="n">res</span><span class="o">.</span><span class="n">value</span>
|
||||
@@ -966,6 +1033,9 @@
|
||||
<span class="c1"># - Want the TEB of a 64b process</span>
|
||||
<span class="c1"># - Want the TEB64 of a Wowprocess</span>
|
||||
<span class="c1"># It's the same code for both</span>
|
||||
<span class="k">if</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_process</span><span class="o">.</span><span class="n">_is_x86_on_arm64</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s2">"Crossing heaven gate x86 -> arm64 not implemented"</span><span class="p">)</span>
|
||||
|
||||
<span class="k">if</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_process</span><span class="o">.</span><span class="n">is_wow_64</span><span class="p">:</span>
|
||||
<span class="n">restype</span> <span class="o">=</span> <span class="n">rctypes</span><span class="o">.</span><span class="n">transform_type_to_remote64bits</span><span class="p">(</span><span class="n">THREAD_BASIC_INFORMATION</span><span class="p">)</span>
|
||||
<span class="n">ressize</span> <span class="o">=</span> <span class="p">(</span><span class="n">ctypes</span><span class="o">.</span><span class="n">sizeof</span><span class="p">(</span><span class="n">restype</span><span class="p">))</span>
|
||||
@@ -995,7 +1065,11 @@
|
||||
<span class="c1"># TebBase->NtTib.ExceptionList = (PVOID)Teb32Base;</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">owner</span><span class="o">.</span><span class="n">read_dword</span><span class="p">(</span><span class="n">main_teb_addr</span><span class="p">)</span>
|
||||
|
||||
|
||||
<span class="nd">@property</span>
|
||||
<span class="k">def</span> <span class="nf">teb</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">owner</span><span class="o">.</span><span class="n">bitness</span> <span class="o">==</span> <span class="mi">32</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="n">RemoteTEB32</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">teb_base</span><span class="p">,</span> <span class="n">target</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">owner</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">RemoteTEB64</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">teb_base</span><span class="p">,</span> <span class="n">target</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">owner</span><span class="p">)</span>
|
||||
|
||||
<span class="nd">@property</span>
|
||||
<span class="k">def</span> <span class="nf">teb_syswow_base</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
@@ -1008,6 +1082,12 @@
|
||||
<span class="c1"># just return the main TEB</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_principal_teb_addr</span><span class="p">()</span>
|
||||
|
||||
<span class="nd">@property</span>
|
||||
<span class="k">def</span> <span class="nf">teb_syswow</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_process</span><span class="o">.</span><span class="n">bitness</span> <span class="o">==</span> <span class="mi">64</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="n">RemoteTEB64</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">teb_syswow_base</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">owner</span><span class="p">)</span>
|
||||
<span class="k">else</span><span class="p">:</span> <span class="c1">#current is 32bits</span>
|
||||
<span class="k">return</span> <span class="n">RemoteTEB64</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">teb_syswow_base</span><span class="p">,</span> <span class="n">windows</span><span class="o">.</span><span class="n">syswow64</span><span class="o">.</span><span class="n">ReadSyswow64Process</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">owner</span><span class="p">))</span>
|
||||
|
||||
<div class="viewcode-block" id="WinThread.exit">
|
||||
<a class="viewcode-back" href="../../../process.html#windows.winobject.process.WinThread.exit">[docs]</a>
|
||||
@@ -1069,8 +1149,6 @@
|
||||
|
||||
<span class="nd">@staticmethod</span>
|
||||
<span class="k">def</span> <span class="nf">_get_thread_id_manual</span><span class="p">(</span><span class="n">handle</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_process</span><span class="o">.</span><span class="n">bitness</span> <span class="o">==</span> <span class="mi">32</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">owner</span><span class="o">.</span><span class="n">bitness</span> <span class="o">==</span> <span class="mi">64</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s2">"[_get_thread_id_manual] 32 -> 64 (XP64 bits + Syswow process ?)"</span><span class="p">)</span>
|
||||
<span class="n">res</span> <span class="o">=</span> <span class="n">THREAD_BASIC_INFORMATION</span><span class="p">()</span>
|
||||
<span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">NtQueryInformationThread</span><span class="p">(</span><span class="n">handle</span><span class="p">,</span> <span class="n">ThreadBasicInformation</span><span class="p">,</span> <span class="n">byref</span><span class="p">(</span><span class="n">res</span><span class="p">),</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">sizeof</span><span class="p">(</span><span class="n">res</span><span class="p">))</span>
|
||||
<span class="n">id2</span> <span class="o">=</span> <span class="n">res</span><span class="o">.</span><span class="n">ClientId</span><span class="o">.</span><span class="n">UniqueThread</span>
|
||||
@@ -1113,18 +1191,7 @@
|
||||
<span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">pid</span><span class="o">=</span><span class="n">pid</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="n">name</span><span class="p">,</span> <span class="n">ppid</span><span class="o">=</span><span class="n">ppid</span><span class="p">)</span>
|
||||
|
||||
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedpropety</span>
|
||||
<span class="k">def</span> <span class="nf">name</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""Name of the process</span>
|
||||
|
||||
<span class="sd"> :type: :class:`str`</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">buffer</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">create_unicode_buffer</span><span class="p">(</span><span class="mh">0x1024</span><span class="p">)</span>
|
||||
<span class="n">rsize</span> <span class="o">=</span> <span class="n">winproxy</span><span class="o">.</span><span class="n">GetProcessImageFileNameW</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">limited_handle</span><span class="p">,</span> <span class="n">buffer</span><span class="p">)</span>
|
||||
<span class="c1"># GetProcessImageFileNameW returns the fullpath</span>
|
||||
<span class="k">return</span> <span class="n">buffer</span><span class="p">[:</span><span class="n">rsize</span><span class="p">]</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">"</span><span class="se">\\</span><span class="s2">"</span><span class="p">)[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
|
||||
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedpropety</span>
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedproperty</span>
|
||||
<span class="k">def</span> <span class="nf">pid</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""Process ID</span>
|
||||
|
||||
@@ -1149,13 +1216,13 @@
|
||||
|
||||
<div class="viewcode-block" id="WinProcess.virtual_alloc">
|
||||
<a class="viewcode-back" href="../../../process.html#windows.winobject.process.WinProcess.virtual_alloc">[docs]</a>
|
||||
<span class="k">def</span> <span class="nf">virtual_alloc</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">size</span><span class="p">,</span> <span class="n">prot</span><span class="o">=</span><span class="n">PAGE_EXECUTE_READWRITE</span><span class="p">,</span> <span class="n">addr</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
<span class="k">def</span> <span class="nf">virtual_alloc</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">size</span><span class="p">,</span> <span class="n">prot</span><span class="o">=</span><span class="n">PAGE_EXECUTE_READWRITE</span><span class="p">,</span> <span class="n">addr</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="n">gdef</span><span class="o">.</span><span class="n">MEM_COMMIT</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""Allocate memory in the process</span>
|
||||
|
||||
<span class="sd"> :return: The address of the allocated memory</span>
|
||||
<span class="sd"> :rtype: :class:`int`</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">return</span> <span class="n">winproxy</span><span class="o">.</span><span class="n">VirtualAllocEx</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">lpAddress</span><span class="o">=</span><span class="n">addr</span><span class="p">,</span> <span class="n">dwSize</span><span class="o">=</span><span class="n">size</span><span class="p">,</span> <span class="n">flProtect</span><span class="o">=</span><span class="n">prot</span><span class="p">)</span></div>
|
||||
<span class="k">return</span> <span class="n">winproxy</span><span class="o">.</span><span class="n">VirtualAllocEx</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">lpAddress</span><span class="o">=</span><span class="n">addr</span><span class="p">,</span> <span class="n">dwSize</span><span class="o">=</span><span class="n">size</span><span class="p">,</span> <span class="n">flAllocationType</span><span class="o">=</span><span class="nb">type</span><span class="p">,</span> <span class="n">flProtect</span><span class="o">=</span><span class="n">prot</span><span class="p">)</span></div>
|
||||
|
||||
|
||||
<div class="viewcode-block" id="WinProcess.virtual_free">
|
||||
@@ -1236,11 +1303,16 @@
|
||||
|
||||
<span class="sd"> :rtype: :class:`WinThread` or :class:`DeadThread`</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="c1"># We are using NtCreateThreadEx as its more permissive about cross-bitness / cross-architecture</span>
|
||||
<span class="c1"># And we can asume we known what we are doing -> So no safeguard ;)</span>
|
||||
<span class="n">thread_handle</span> <span class="o">=</span> <span class="n">HANDLE</span><span class="p">()</span>
|
||||
<span class="k">if</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_process</span><span class="o">.</span><span class="n">bitness</span> <span class="o">==</span> <span class="mi">32</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">bitness</span> <span class="o">==</span> <span class="mi">64</span><span class="p">:</span>
|
||||
<span class="n">thread_handle</span> <span class="o">=</span> <span class="n">HANDLE</span><span class="p">()</span>
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_is_x86_on_arm64</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s2">"Crossing heaven gate x86 -> arm64 not implemented"</span><span class="p">)</span>
|
||||
<span class="n">windows</span><span class="o">.</span><span class="n">syswow64</span><span class="o">.</span><span class="n">NtCreateThreadEx_32_to_64</span><span class="p">(</span><span class="n">ThreadHandle</span><span class="o">=</span><span class="n">byref</span><span class="p">(</span><span class="n">thread_handle</span><span class="p">)</span> <span class="p">,</span><span class="n">ProcessHandle</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">lpStartAddress</span><span class="o">=</span><span class="n">addr</span><span class="p">,</span> <span class="n">lpParameter</span><span class="o">=</span><span class="n">param</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">WinThread</span><span class="o">.</span><span class="n">_from_handle</span><span class="p">(</span><span class="n">thread_handle</span><span class="o">.</span><span class="n">value</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">WinThread</span><span class="o">.</span><span class="n">_from_handle</span><span class="p">(</span><span class="n">winproxy</span><span class="o">.</span><span class="n">CreateRemoteThread</span><span class="p">(</span><span class="n">hProcess</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">lpStartAddress</span><span class="o">=</span><span class="n">addr</span><span class="p">,</span> <span class="n">lpParameter</span><span class="o">=</span><span class="n">param</span><span class="p">))</span></div>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">NtCreateThreadEx</span><span class="p">(</span><span class="n">ThreadHandle</span><span class="o">=</span><span class="n">byref</span><span class="p">(</span><span class="n">thread_handle</span><span class="p">)</span> <span class="p">,</span><span class="n">ProcessHandle</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">lpStartAddress</span><span class="o">=</span><span class="n">addr</span><span class="p">,</span> <span class="n">lpParameter</span><span class="o">=</span><span class="n">param</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">WinThread</span><span class="o">.</span><span class="n">_from_handle</span><span class="p">(</span><span class="n">thread_handle</span><span class="o">.</span><span class="n">value</span><span class="p">)</span></div>
|
||||
|
||||
|
||||
<div class="viewcode-block" id="WinProcess.load_library">
|
||||
@@ -1257,55 +1329,62 @@
|
||||
<div class="viewcode-block" id="WinProcess.execute_python">
|
||||
<a class="viewcode-back" href="../../../process.html#windows.winobject.process.WinProcess.execute_python">[docs]</a>
|
||||
<span class="k">def</span> <span class="nf">execute_python</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">pycode</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""Execute Python code into the remote process.</span>
|
||||
<span class="w"> </span><span class="sd">"""Execute Python code in the remote process.</span>
|
||||
|
||||
<span class="sd"> This function waits for the remote process to end and</span>
|
||||
<span class="sd"> raises an exception if the remote thread raised one</span>
|
||||
<span class="sd"> """</span>
|
||||
|
||||
<span class="sd"> .. note::</span>
|
||||
<span class="sd"> This method is incompatible with Microsoft Store builds of python, as the interpreter DLLs do not grant execute to Users.</span>
|
||||
<span class="sd"> See workaround: https://hakril.github.io/PythonForWindows/build/html/sample.html#microsoft-store-python-injection</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">return</span> <span class="n">injection</span><span class="o">.</span><span class="n">safe_execute_python</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">pycode</span><span class="p">)</span></div>
|
||||
|
||||
|
||||
<div class="viewcode-block" id="WinProcess.execute_python_unsafe">
|
||||
<a class="viewcode-back" href="../../../process.html#windows.winobject.process.WinProcess.execute_python_unsafe">[docs]</a>
|
||||
<span class="k">def</span> <span class="nf">execute_python_unsafe</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">pycode</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""Execute Python code into the remote process.</span>
|
||||
<span class="w"> </span><span class="sd">"""Execute Python code in the remote process.</span>
|
||||
|
||||
<span class="sd"> :rtype: :rtype: :class:`WinThread` or :class:`DeadThread` : The thread executing the python code</span>
|
||||
|
||||
<span class="sd"> .. note::</span>
|
||||
<span class="sd"> This method is incompatible with Microsoft Store builds of python, as the interpreter DLLs do not grant execute to Users.</span>
|
||||
<span class="sd"> See workaround: https://hakril.github.io/PythonForWindows/build/html/sample.html#microsoft-store-python-injection</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">return</span> <span class="n">injection</span><span class="o">.</span><span class="n">execute_python_code</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">pycode</span><span class="p">)</span></div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedpropety</span>
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedproperty</span>
|
||||
<span class="k">def</span> <span class="nf">peb_addr</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""The address of the PEB</span>
|
||||
<span class="w"> </span><span class="sd">"""The address of the PEB.</span>
|
||||
|
||||
<span class="sd"> :type: :class:`int`</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="k">if</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_process</span><span class="o">.</span><span class="n">bitness</span> <span class="o">==</span> <span class="mi">32</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">bitness</span> <span class="o">==</span> <span class="mi">64</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_process</span><span class="o">.</span><span class="n">_is_x86_on_arm64</span> <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">bitness</span> <span class="o">==</span> <span class="mi">32</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s2">"Crossing heaven gate x86 -> arm64 not implemented"</span><span class="p">)</span>
|
||||
|
||||
<span class="k">if</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_process</span><span class="o">.</span><span class="n">bitness</span> <span class="o">==</span> <span class="mi">32</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">bitness</span> <span class="o">==</span> <span class="mi">64</span><span class="p">:</span> <span class="c1"># Intel to Intel</span>
|
||||
<span class="n">x</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">remotectypes</span><span class="o">.</span><span class="n">transform_type_to_remote64bits</span><span class="p">(</span><span class="n">PROCESS_BASIC_INFORMATION</span><span class="p">)</span>
|
||||
<span class="c1"># Fuck-it <3</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="p">(</span><span class="n">ctypes</span><span class="o">.</span><span class="n">c_char</span> <span class="o">*</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">sizeof</span><span class="p">(</span><span class="n">x</span><span class="p">))()</span>
|
||||
<span class="n">windows</span><span class="o">.</span><span class="n">syswow64</span><span class="o">.</span><span class="n">NtQueryInformationProcess_32_to_64</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">ProcessInformation</span><span class="o">=</span><span class="n">data</span><span class="p">,</span> <span class="n">ProcessInformationLength</span><span class="o">=</span><span class="n">ctypes</span><span class="o">.</span><span class="n">sizeof</span><span class="p">(</span><span class="n">x</span><span class="p">))</span>
|
||||
<span class="n">windows</span><span class="o">.</span><span class="n">syswow64</span><span class="o">.</span><span class="n">NtQueryInformationProcess_32_to_64</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">gdef</span><span class="o">.</span><span class="n">ProcessBasicInformation</span><span class="p">,</span> <span class="n">ProcessInformation</span><span class="o">=</span><span class="n">data</span><span class="p">)</span>
|
||||
<span class="n">peb_offset</span> <span class="o">=</span> <span class="n">x</span><span class="o">.</span><span class="n">PebBaseAddress</span><span class="o">.</span><span class="n">offset</span>
|
||||
<span class="n">peb_addr</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s2">"<Q"</span><span class="p">,</span> <span class="n">data</span><span class="p">[</span><span class="n">x</span><span class="o">.</span><span class="n">PebBaseAddress</span><span class="o">.</span><span class="n">offset</span><span class="p">:</span> <span class="n">x</span><span class="o">.</span><span class="n">PebBaseAddress</span><span class="o">.</span><span class="n">offset</span><span class="o">+</span><span class="mi">8</span><span class="p">])[</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="k">elif</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_process</span><span class="o">.</span><span class="n">bitness</span> <span class="o">==</span> <span class="mi">64</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">bitness</span> <span class="o">==</span> <span class="mi">32</span><span class="p">:</span>
|
||||
<span class="n">information_type</span> <span class="o">=</span> <span class="mi">26</span>
|
||||
<span class="n">y</span> <span class="o">=</span> <span class="n">ULONGLONG</span><span class="p">()</span>
|
||||
<span class="n">winproxy</span><span class="o">.</span><span class="n">NtQueryInformationProcess</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">information_type</span><span class="p">,</span> <span class="n">byref</span><span class="p">(</span><span class="n">y</span><span class="p">),</span> <span class="n">sizeof</span><span class="p">(</span><span class="n">y</span><span class="p">))</span>
|
||||
<span class="n">winproxy</span><span class="o">.</span><span class="n">NtQueryInformationProcess</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">gdef</span><span class="o">.</span><span class="n">ProcessWow64Information</span><span class="p">,</span> <span class="n">byref</span><span class="p">(</span><span class="n">y</span><span class="p">),</span> <span class="n">sizeof</span><span class="p">(</span><span class="n">y</span><span class="p">))</span>
|
||||
<span class="n">peb_addr</span> <span class="o">=</span> <span class="n">y</span><span class="o">.</span><span class="n">value</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">information_type</span> <span class="o">=</span> <span class="mi">0</span>
|
||||
<span class="n">x</span> <span class="o">=</span> <span class="n">PROCESS_BASIC_INFORMATION</span><span class="p">()</span>
|
||||
<span class="n">winproxy</span><span class="o">.</span><span class="n">NtQueryInformationProcess</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">information_type</span><span class="p">,</span> <span class="n">x</span><span class="p">)</span>
|
||||
<span class="n">winproxy</span><span class="o">.</span><span class="n">NtQueryInformationProcess</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">gdef</span><span class="o">.</span><span class="n">ProcessBasicInformation</span><span class="p">,</span> <span class="n">x</span><span class="p">)</span>
|
||||
<span class="n">peb_addr</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">cast</span><span class="p">(</span><span class="n">x</span><span class="o">.</span><span class="n">PebBaseAddress</span><span class="p">,</span> <span class="n">PVOID</span><span class="p">)</span><span class="o">.</span><span class="n">value</span>
|
||||
<span class="k">if</span> <span class="n">peb_addr</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"Could not get peb addr of process </span><span class="si">{0}</span><span class="s2">"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">name</span><span class="p">))</span>
|
||||
<span class="k">return</span> <span class="n">peb_addr</span>
|
||||
|
||||
<span class="c1"># Not a fixedpropety to prevent ref-cycle and uncollectable WinProcess</span>
|
||||
<span class="c1"># Not a fixedproperty to prevent ref-cycle and uncollectable WinProcess</span>
|
||||
<span class="c1"># Try with a weakref ?</span>
|
||||
<span class="nd">@property</span>
|
||||
<span class="k">def</span> <span class="nf">peb</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
@@ -1319,10 +1398,14 @@
|
||||
<span class="k">return</span> <span class="n">RemotePEB32</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">peb_addr</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">RemotePEB</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">peb_addr</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span>
|
||||
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedpropety</span>
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedproperty</span>
|
||||
<span class="k">def</span> <span class="nf">peb_syswow_addr</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">is_wow_64</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"Not a syswow process"</span><span class="p">)</span>
|
||||
|
||||
<span class="k">if</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_process</span><span class="o">.</span><span class="n">_is_x86_on_arm64</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s2">"Crossing heaven gate x86 -> arm64 not implemented"</span><span class="p">)</span>
|
||||
|
||||
<span class="k">if</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_process</span><span class="o">.</span><span class="n">bitness</span> <span class="o">==</span> <span class="mi">64</span><span class="p">:</span>
|
||||
<span class="n">information_type</span> <span class="o">=</span> <span class="mi">0</span>
|
||||
<span class="n">x</span> <span class="o">=</span> <span class="n">PROCESS_BASIC_INFORMATION</span><span class="p">()</span>
|
||||
@@ -1338,7 +1421,7 @@
|
||||
<span class="n">peb_addr</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s2">"<Q"</span><span class="p">,</span> <span class="n">data</span><span class="p">[</span><span class="n">x</span><span class="o">.</span><span class="n">PebBaseAddress</span><span class="o">.</span><span class="n">offset</span><span class="p">:</span> <span class="n">x</span><span class="o">.</span><span class="n">PebBaseAddress</span><span class="o">.</span><span class="n">offset</span><span class="o">+</span><span class="mi">8</span><span class="p">])[</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="k">return</span> <span class="n">peb_addr</span>
|
||||
|
||||
<span class="c1"># Not a fixedpropety to prevent ref-cycle and uncollectable WinProcess</span>
|
||||
<span class="c1"># Not a fixedproperty to prevent ref-cycle and uncollectable WinProcess</span>
|
||||
<span class="c1"># Try with a weakref ?</span>
|
||||
<span class="nd">@property</span>
|
||||
<span class="k">def</span> <span class="nf">peb_syswow</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
@@ -1362,8 +1445,6 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<span class="k">def</span> <span class="nf">transform_ctypes_fields</span><span class="p">(</span><span class="n">struct</span><span class="p">,</span> <span class="n">replacement</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="p">[(</span><span class="n">name</span><span class="p">,</span> <span class="n">replacement</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="nb">type</span><span class="p">))</span> <span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="nb">type</span> <span class="ow">in</span> <span class="n">struct</span><span class="o">.</span><span class="n">_fields_</span><span class="p">]</span>
|
||||
|
||||
@@ -1409,11 +1490,6 @@
|
||||
|
||||
|
||||
|
||||
<span class="k">class</span> <span class="nc">LIST_ENTRY_PTR</span><span class="p">(</span><span class="n">PVOID</span><span class="p">):</span>
|
||||
<span class="k">def</span> <span class="nf">TO_LDR_ENTRY</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="n">LDR_DATA_TABLE_ENTRY</span><span class="o">.</span><span class="n">from_address</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">value</span> <span class="o">-</span> <span class="n">sizeof</span><span class="p">(</span><span class="n">PVOID</span><span class="p">)</span> <span class="o">*</span> <span class="mi">2</span><span class="p">)</span>
|
||||
|
||||
|
||||
<div class="viewcode-block" id="PEB">
|
||||
<a class="viewcode-back" href="../../../process.html#windows.winobject.process.PEB">[docs]</a>
|
||||
<span class="k">class</span> <span class="nc">PEB</span><span class="p">(</span><span class="n">gdef</span><span class="o">.</span><span class="n">PEB</span><span class="p">):</span>
|
||||
@@ -1450,13 +1526,13 @@
|
||||
<span class="sd"> :type: [:class:`LoadedModule`] -- List of loaded modules</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">res</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="n">list_entry_ptr</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">cast</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">Ldr</span><span class="o">.</span><span class="n">contents</span><span class="o">.</span><span class="n">InMemoryOrderModuleList</span><span class="o">.</span><span class="n">Flink</span><span class="p">,</span> <span class="n">LIST_ENTRY_PTR</span><span class="p">)</span>
|
||||
<span class="n">current_dll</span> <span class="o">=</span> <span class="n">list_entry_ptr</span><span class="o">.</span><span class="n">TO_LDR_ENTRY</span><span class="p">()</span>
|
||||
<span class="n">first_flink</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">Ldr</span><span class="o">.</span><span class="n">contents</span><span class="o">.</span><span class="n">InMemoryOrderModuleList</span><span class="o">.</span><span class="n">Flink</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="n">current_dll</span> <span class="o">=</span> <span class="n">first_flink</span><span class="o">.</span><span class="n">get_real_struct</span><span class="p">(</span><span class="n">LoadedModule</span><span class="p">,</span> <span class="n">LoadedModule</span><span class="o">.</span><span class="n">InMemoryOrderLinks</span><span class="p">)</span>
|
||||
<span class="k">while</span> <span class="n">current_dll</span><span class="o">.</span><span class="n">DllBase</span><span class="p">:</span>
|
||||
<span class="n">res</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">current_dll</span><span class="p">)</span>
|
||||
<span class="n">list_entry_ptr</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">cast</span><span class="p">(</span><span class="n">current_dll</span><span class="o">.</span><span class="n">InMemoryOrderLinks</span><span class="o">.</span><span class="n">Flink</span><span class="p">,</span> <span class="n">LIST_ENTRY_PTR</span><span class="p">)</span>
|
||||
<span class="n">current_dll</span> <span class="o">=</span> <span class="n">list_entry_ptr</span><span class="o">.</span><span class="n">TO_LDR_ENTRY</span><span class="p">()</span>
|
||||
<span class="k">return</span> <span class="p">[</span><span class="n">LoadedModule</span><span class="o">.</span><span class="n">from_address</span><span class="p">(</span><span class="n">addressof</span><span class="p">(</span><span class="n">LDR</span><span class="p">))</span> <span class="k">for</span> <span class="n">LDR</span> <span class="ow">in</span> <span class="n">res</span><span class="p">]</span>
|
||||
<span class="n">next_flink</span> <span class="o">=</span> <span class="n">current_dll</span><span class="o">.</span><span class="n">InMemoryOrderLinks</span><span class="o">.</span><span class="n">Flink</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="n">current_dll</span> <span class="o">=</span> <span class="n">next_flink</span><span class="o">.</span><span class="n">get_real_struct</span><span class="p">(</span><span class="n">LoadedModule</span><span class="p">,</span> <span class="n">LoadedModule</span><span class="o">.</span><span class="n">InMemoryOrderLinks</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">res</span>
|
||||
|
||||
<span class="nd">@staticmethod</span>
|
||||
<span class="k">def</span> <span class="nf">_extract_environment</span><span class="p">(</span><span class="n">env_block_addr</span><span class="p">,</span> <span class="n">target</span><span class="p">):</span>
|
||||
@@ -1487,7 +1563,6 @@
|
||||
<span class="k">return</span> <span class="n">apisetmap</span><span class="o">.</span><span class="n">get_api_set_map_for_current_process</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ApiSetMap</span><span class="p">)</span></div>
|
||||
|
||||
|
||||
|
||||
<span class="c1"># Memory stuff</span>
|
||||
|
||||
<span class="k">class</span> <span class="nc">EPSAPI_WORKING_SET_BLOCK_BASE</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
|
||||
@@ -1599,9 +1674,24 @@
|
||||
<span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s2">"ApiSetMap for remote process not implemented yet"</span><span class="p">)</span>
|
||||
|
||||
|
||||
<span class="c1"># TEB enhanced, same bitness as PEB (current process)</span>
|
||||
<span class="k">class</span> <span class="nc">TEB</span><span class="p">(</span><span class="n">gdef</span><span class="o">.</span><span class="n">TEB</span><span class="p">):</span>
|
||||
<span class="nd">@property</span>
|
||||
<span class="k">def</span> <span class="nf">peb</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">cast</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ProcessEnvironmentBlock</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">POINTER</span><span class="p">(</span><span class="n">PEB</span><span class="p">))[</span><span class="mi">0</span><span class="p">]</span>
|
||||
|
||||
<span class="c1"># mote TEB enhanced, same bitness as PEB (current process)</span>
|
||||
<span class="k">class</span> <span class="nc">RemoteTEB</span><span class="p">(</span><span class="n">rctypes</span><span class="o">.</span><span class="n">RemoteStructure</span><span class="o">.</span><span class="n">from_structure</span><span class="p">(</span><span class="n">TEB</span><span class="p">)):</span>
|
||||
<span class="nd">@property</span>
|
||||
<span class="k">def</span> <span class="nf">peb</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="n">ctypes_peb</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">ProcessEnvironmentBlock</span><span class="o">.</span><span class="n">value</span>
|
||||
<span class="k">return</span> <span class="n">RemotePEB</span><span class="p">(</span><span class="n">ctypes_peb</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_target</span><span class="p">)</span>
|
||||
|
||||
<span class="k">if</span> <span class="n">CurrentProcess</span><span class="p">()</span><span class="o">.</span><span class="n">bitness</span> <span class="o">==</span> <span class="mi">32</span><span class="p">:</span>
|
||||
<span class="n">RemoteLoadedModule32</span> <span class="o">=</span> <span class="n">RemoteLoadedModule</span>
|
||||
<span class="n">RemotePEB32</span> <span class="o">=</span> <span class="n">RemotePEB</span>
|
||||
<span class="n">RemoteTEB32</span> <span class="o">=</span> <span class="n">RemoteTEB</span>
|
||||
|
||||
<span class="k">class</span> <span class="nc">RemoteLoadedModule64</span><span class="p">(</span><span class="n">rctypes</span><span class="o">.</span><span class="n">transform_type_to_remote64bits</span><span class="p">(</span><span class="n">LoadedModule</span><span class="p">)):</span>
|
||||
<span class="nd">@property</span>
|
||||
<span class="k">def</span> <span class="nf">pe</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
@@ -1616,7 +1706,6 @@
|
||||
<span class="k">def</span> <span class="nf">ptr_flink_to_remote_module</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">ptr_value</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="n">RemoteLoadedModule64</span><span class="p">(</span><span class="n">ptr_value</span> <span class="o">-</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">sizeof</span><span class="p">(</span><span class="n">rctypes</span><span class="o">.</span><span class="n">c_void_p64</span><span class="p">)</span> <span class="o">*</span> <span class="mi">2</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_target</span><span class="p">)</span>
|
||||
|
||||
|
||||
<span class="nd">@property</span>
|
||||
<span class="k">def</span> <span class="nf">exe</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""The executable of the process, as pointed by PEB.ImageBaseAddress</span>
|
||||
@@ -1649,7 +1738,17 @@
|
||||
|
||||
<span class="n">apisetmap</span> <span class="o">=</span> <span class="n">RemotePEB</span><span class="o">.</span><span class="n">apisetmap</span>
|
||||
|
||||
<span class="k">class</span> <span class="nc">RemoteTEB64</span><span class="p">(</span><span class="n">rctypes</span><span class="o">.</span><span class="n">transform_type_to_remote64bits</span><span class="p">(</span><span class="n">TEB</span><span class="p">)):</span>
|
||||
<span class="nd">@property</span>
|
||||
<span class="k">def</span> <span class="nf">peb</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="n">ctypes_peb</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">ProcessEnvironmentBlock</span><span class="o">.</span><span class="n">value</span>
|
||||
<span class="k">return</span> <span class="n">RemotePEB64</span><span class="p">(</span><span class="n">ctypes_peb</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_target</span><span class="p">)</span>
|
||||
|
||||
|
||||
<span class="k">if</span> <span class="n">CurrentProcess</span><span class="p">()</span><span class="o">.</span><span class="n">bitness</span> <span class="o">==</span> <span class="mi">64</span><span class="p">:</span>
|
||||
<span class="n">RemoteLoadedModule64</span> <span class="o">=</span> <span class="n">RemoteLoadedModule</span>
|
||||
<span class="n">RemotePEB64</span> <span class="o">=</span> <span class="n">RemotePEB</span>
|
||||
<span class="n">RemoteTEB64</span> <span class="o">=</span> <span class="n">RemoteTEB</span>
|
||||
|
||||
<span class="k">class</span> <span class="nc">RemoteLoadedModule32</span><span class="p">(</span><span class="n">rctypes</span><span class="o">.</span><span class="n">transform_type_to_remote32bits</span><span class="p">(</span><span class="n">LoadedModule</span><span class="p">)):</span>
|
||||
<span class="nd">@property</span>
|
||||
@@ -1696,6 +1795,12 @@
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_extract_environment</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ProcessParameters</span><span class="o">.</span><span class="n">contents</span><span class="o">.</span><span class="n">Environment</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_target</span><span class="p">)</span>
|
||||
|
||||
<span class="n">apisetmap</span> <span class="o">=</span> <span class="n">RemotePEB</span><span class="o">.</span><span class="n">apisetmap</span>
|
||||
|
||||
<span class="k">class</span> <span class="nc">RemoteTEB32</span><span class="p">(</span><span class="n">rctypes</span><span class="o">.</span><span class="n">transform_type_to_remote32bits</span><span class="p">(</span><span class="n">TEB</span><span class="p">)):</span>
|
||||
<span class="nd">@property</span>
|
||||
<span class="k">def</span> <span class="nf">peb</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="n">ctypes_peb</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">ProcessEnvironmentBlock</span><span class="o">.</span><span class="n">value</span>
|
||||
<span class="k">return</span> <span class="n">RemotePEB32</span><span class="p">(</span><span class="n">ctypes_peb</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_target</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
|
||||
<div class="clearer"></div>
|
||||
@@ -1727,7 +1832,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.winobject.process</a></li>
|
||||
</ul>
|
||||
|
||||
+93
-10
@@ -49,7 +49,6 @@
|
||||
<span class="kn">import</span> <span class="nn">windows.generated_def</span> <span class="k">as</span> <span class="nn">gdef</span>
|
||||
|
||||
|
||||
|
||||
<span class="kn">from</span> <span class="nn">windows.winobject</span> <span class="kn">import</span> <span class="n">process</span>
|
||||
<span class="kn">from</span> <span class="nn">windows.winobject</span> <span class="kn">import</span> <span class="n">network</span>
|
||||
<span class="kn">from</span> <span class="nn">windows.winobject</span> <span class="kn">import</span> <span class="n">registry</span>
|
||||
@@ -128,7 +127,7 @@
|
||||
|
||||
<span class="nd">@property</span>
|
||||
<span class="k">def</span> <span class="nf">logicaldrives</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""List of logical drives [C:\, ...]</span>
|
||||
<span class="w"> </span><span class="sd">"""List of logical drives [C:\\, ...]</span>
|
||||
|
||||
<span class="sd"> :type: [:class:`~windows.winobject.volume.LogicalDrive`] -- A list of LogicalDrive</span>
|
||||
<span class="sd"> """</span>
|
||||
@@ -301,12 +300,77 @@
|
||||
<span class="n">result</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">(</span><span class="n">result_tup</span><span class="p">[:</span><span class="mi">2</span><span class="p">])</span>
|
||||
<span class="k">return</span> <span class="n">result</span>
|
||||
|
||||
<span class="c1"># Based on:</span>
|
||||
<span class="c1"># https://jrsoftware.org/ishelp/index.php?topic=winvernotes</span>
|
||||
<span class="c1"># https://en.wikipedia.org/wiki/List_of_Microsoft_Windows_versions</span>
|
||||
|
||||
<span class="n">WINDOWS_10_BUILD_NUMBER_VERSION</span> <span class="o">=</span> <span class="p">{</span>
|
||||
<span class="c1"># (build_number, is_workstation): "version_name"</span>
|
||||
<span class="p">(</span><span class="mi">10240</span><span class="p">,</span> <span class="kc">True</span><span class="p">):</span> <span class="sa">u</span><span class="s2">"Windows 10 Version 1507"</span><span class="p">,</span>
|
||||
<span class="p">(</span><span class="mi">10586</span><span class="p">,</span> <span class="kc">True</span><span class="p">):</span> <span class="sa">u</span><span class="s2">"Windows 10 Version 1511"</span><span class="p">,</span>
|
||||
<span class="p">(</span><span class="mi">14393</span><span class="p">,</span> <span class="kc">True</span><span class="p">):</span> <span class="sa">u</span><span class="s2">"Windows 10 Version 1607"</span><span class="p">,</span>
|
||||
<span class="p">(</span><span class="mi">15063</span><span class="p">,</span> <span class="kc">True</span><span class="p">):</span> <span class="sa">u</span><span class="s2">"Windows 10 Version 1703"</span><span class="p">,</span>
|
||||
<span class="p">(</span><span class="mi">16299</span><span class="p">,</span> <span class="kc">True</span><span class="p">):</span> <span class="sa">u</span><span class="s2">"Windows 10 Version 1709"</span><span class="p">,</span>
|
||||
<span class="p">(</span><span class="mi">17134</span><span class="p">,</span> <span class="kc">True</span><span class="p">):</span> <span class="sa">u</span><span class="s2">"Windows 10 Version 1803"</span><span class="p">,</span>
|
||||
<span class="p">(</span><span class="mi">17763</span><span class="p">,</span> <span class="kc">True</span><span class="p">):</span> <span class="sa">u</span><span class="s2">"Windows 10 Version 1809"</span><span class="p">,</span>
|
||||
<span class="p">(</span><span class="mi">18362</span><span class="p">,</span> <span class="kc">True</span><span class="p">):</span> <span class="sa">u</span><span class="s2">"Windows 10 Version 1903"</span><span class="p">,</span>
|
||||
<span class="p">(</span><span class="mi">18363</span><span class="p">,</span> <span class="kc">True</span><span class="p">):</span> <span class="sa">u</span><span class="s2">"Windows 10 Version 1909"</span><span class="p">,</span>
|
||||
<span class="p">(</span><span class="mi">19041</span><span class="p">,</span> <span class="kc">True</span><span class="p">):</span> <span class="sa">u</span><span class="s2">"Windows 10 Version 2004"</span><span class="p">,</span>
|
||||
<span class="p">(</span><span class="mi">19042</span><span class="p">,</span> <span class="kc">True</span><span class="p">):</span> <span class="sa">u</span><span class="s2">"Windows 10 Version 20H2"</span><span class="p">,</span>
|
||||
<span class="p">(</span><span class="mi">19043</span><span class="p">,</span> <span class="kc">True</span><span class="p">):</span> <span class="sa">u</span><span class="s2">"Windows 10 Version 21H1"</span><span class="p">,</span>
|
||||
<span class="p">(</span><span class="mi">19044</span><span class="p">,</span> <span class="kc">True</span><span class="p">):</span> <span class="sa">u</span><span class="s2">"Windows 10 Version 21H2"</span><span class="p">,</span>
|
||||
<span class="p">(</span><span class="mi">19045</span><span class="p">,</span> <span class="kc">True</span><span class="p">):</span> <span class="sa">u</span><span class="s2">"Windows 10 Version 22H2"</span><span class="p">,</span>
|
||||
<span class="p">(</span><span class="mi">22000</span><span class="p">,</span> <span class="kc">True</span><span class="p">):</span> <span class="sa">u</span><span class="s2">"Windows 11 Version 21H2"</span><span class="p">,</span>
|
||||
<span class="p">(</span><span class="mi">22621</span><span class="p">,</span> <span class="kc">True</span><span class="p">):</span> <span class="sa">u</span><span class="s2">"Windows 11 Version 22H2"</span><span class="p">,</span>
|
||||
<span class="p">(</span><span class="mi">22631</span><span class="p">,</span> <span class="kc">True</span><span class="p">):</span> <span class="sa">u</span><span class="s2">"Windows 11 Version 23H2"</span><span class="p">,</span>
|
||||
<span class="p">(</span><span class="mi">26100</span><span class="p">,</span> <span class="kc">True</span><span class="p">):</span> <span class="sa">u</span><span class="s2">"Windows 11 Version 24H2"</span><span class="p">,</span>
|
||||
|
||||
<span class="p">(</span><span class="mi">14393</span><span class="p">,</span> <span class="kc">False</span><span class="p">):</span> <span class="sa">u</span><span class="s2">"Windows Server 2016"</span><span class="p">,</span>
|
||||
<span class="c1"># 16299 : Windows Server, version 1709 ?</span>
|
||||
<span class="c1"># 17134 : Windows Server, version 1803 ?</span>
|
||||
<span class="c1"># 17134 : Windows Server, version 1803 ?</span>
|
||||
<span class="p">(</span><span class="mi">17763</span><span class="p">,</span> <span class="kc">False</span><span class="p">):</span> <span class="sa">u</span><span class="s2">"Windows Server 2019"</span><span class="p">,</span>
|
||||
<span class="c1"># 18362 : Windows Server, version 1903 ?</span>
|
||||
<span class="c1"># 18363 : Windows Server, version 1909 ?</span>
|
||||
<span class="c1"># 19041 : Windows Server, version 2004 ?</span>
|
||||
<span class="c1"># 19042 : Windows Server, version 20H2 ?</span>
|
||||
<span class="p">(</span><span class="mi">20348</span><span class="p">,</span> <span class="kc">False</span><span class="p">):</span> <span class="sa">u</span><span class="s2">"Windows Server 2022"</span><span class="p">,</span>
|
||||
<span class="c1"># 25398 : Windows Server, version 23H2 ?</span>
|
||||
<span class="p">(</span><span class="mi">26100</span><span class="p">,</span> <span class="kc">False</span><span class="p">):</span> <span class="sa">u</span><span class="s2">"Windows Server 2025"</span><span class="p">,</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">_get_version_name_for_10_build</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">build_number</span><span class="p">,</span> <span class="n">is_workstation</span><span class="p">):</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">WINDOWS_10_BUILD_NUMBER_VERSION</span><span class="p">[(</span><span class="n">build_number</span><span class="p">,</span> <span class="n">is_workstation</span><span class="p">)]</span>
|
||||
<span class="k">except</span> <span class="ne">KeyError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="sa">u</span><span class="s2">"Unknown Windows 10+ <versionstr=</span><span class="si">{0}</span><span class="s2"> | is_workstation=</span><span class="si">{1}</span><span class="s2">>"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">versionstr</span><span class="p">,</span> <span class="n">is_workstation</span><span class="p">)</span>
|
||||
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedpropety</span>
|
||||
<span class="k">def</span> <span class="nf">version_name</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""The name of the system version, values are:</span>
|
||||
|
||||
<span class="sd"> * Windows Server 2025</span>
|
||||
<span class="sd"> * Windows 11 Version 24H2</span>
|
||||
<span class="sd"> * Windows 11 Version 23H2</span>
|
||||
<span class="sd"> * Windows 11 Version 22H2</span>
|
||||
<span class="sd"> * Windows 11 Version 21H2</span>
|
||||
<span class="sd"> * Windows 10 Version 22H2</span>
|
||||
<span class="sd"> * Windows 10 Version 21H2</span>
|
||||
<span class="sd"> * Windows Server 2022</span>
|
||||
<span class="sd"> * Windows 10 Version 21H1</span>
|
||||
<span class="sd"> * Windows 10 Version 20H2</span>
|
||||
<span class="sd"> * Windows 10 Version 2004</span>
|
||||
<span class="sd"> * Windows 10 Version 1909</span>
|
||||
<span class="sd"> * Windows 10 Version 1903</span>
|
||||
<span class="sd"> * Windows Server 2019</span>
|
||||
<span class="sd"> * Windows 10 Version 1809</span>
|
||||
<span class="sd"> * Windows 10 Version 1803</span>
|
||||
<span class="sd"> * Windows 10 Version 1709</span>
|
||||
<span class="sd"> * Windows 10 Version 1703</span>
|
||||
<span class="sd"> * Windows 10 Version 1607</span>
|
||||
<span class="sd"> * Windows 10 Version 1511</span>
|
||||
<span class="sd"> * Windows 10 Version 1507</span>
|
||||
<span class="sd"> * Windows Server 2016</span>
|
||||
<span class="sd"> * Windows 10</span>
|
||||
<span class="sd"> * Windows Server 2012 R2</span>
|
||||
<span class="sd"> * Windows 8.1</span>
|
||||
<span class="sd"> * Windows Server 2012</span>
|
||||
@@ -316,19 +380,20 @@
|
||||
<span class="sd"> * Windows Server 2008</span>
|
||||
<span class="sd"> * Windows Vista</span>
|
||||
<span class="sd"> * Windows XP Professional x64 Edition</span>
|
||||
<span class="sd"> * TODO: version (5.2) + is_workstation + bitness == 32 (don't even know if possible..)</span>
|
||||
<span class="sd"> * Unknown: version (5.2) + is_workstation + bitness == 32 (don't even know if possible..)</span>
|
||||
<span class="sd"> * Windows Server 2003 R2</span>
|
||||
<span class="sd"> * Windows Server 2003</span>
|
||||
<span class="sd"> * Windows XP</span>
|
||||
<span class="sd"> * Windows 2000</span>
|
||||
<span class="sd"> * "Unknow Windows <version={0} | is_workstation={1}>".format(version, is_workstation)</span>
|
||||
<span class="sd"> * "Unknown Windows 10+ <versionstr={0} | is_workstation={1}>".format(self.versionstr, is_workstation)</span>
|
||||
<span class="sd"> * "Unknown Windows <version={0} | is_workstation={1}>".format(version, is_workstation)</span>
|
||||
|
||||
<span class="sd"> :type: :class:`str`</span>
|
||||
<span class="sd"> :type: :class:`unicode`</span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">version</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">version</span>
|
||||
<span class="n">is_workstation</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">product_type</span> <span class="o">==</span> <span class="n">gdef</span><span class="o">.</span><span class="n">VER_NT_WORKSTATION</span>
|
||||
<span class="k">if</span> <span class="n">version</span> <span class="o">==</span> <span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="mi">0</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="p">[</span><span class="sa">u</span><span class="s2">"Windows Server 2016"</span><span class="p">,</span> <span class="sa">u</span><span class="s2">"Windows 10"</span><span class="p">][</span><span class="n">is_workstation</span><span class="p">]</span>
|
||||
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_version_name_for_10_build</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">build_number</span><span class="p">,</span> <span class="n">is_workstation</span><span class="p">)</span>
|
||||
<span class="k">elif</span> <span class="n">version</span> <span class="o">==</span> <span class="p">(</span><span class="mi">6</span><span class="p">,</span> <span class="mi">3</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="p">[</span><span class="sa">u</span><span class="s2">"Windows Server 2012 R2"</span><span class="p">,</span> <span class="sa">u</span><span class="s2">"Windows 8.1"</span><span class="p">][</span><span class="n">is_workstation</span><span class="p">]</span>
|
||||
<span class="k">elif</span> <span class="n">version</span> <span class="o">==</span> <span class="p">(</span><span class="mi">6</span><span class="p">,</span> <span class="mi">2</span><span class="p">):</span>
|
||||
@@ -343,7 +408,7 @@
|
||||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">bitness</span> <span class="o">==</span> <span class="mi">64</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="sa">u</span><span class="s2">"Windows XP Professional x64 Edition"</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="sa">u</span><span class="s2">"TODO: version (5.2) + is_workstation + bitness == 32"</span>
|
||||
<span class="k">return</span> <span class="sa">u</span><span class="s2">"Unknown: version (5.2) + is_workstation + bitness == 32"</span>
|
||||
<span class="k">elif</span> <span class="n">metric</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="sa">u</span><span class="s2">"Windows Server 2003 R2"</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
@@ -353,7 +418,7 @@
|
||||
<span class="k">elif</span> <span class="n">version</span> <span class="o">==</span> <span class="p">(</span><span class="mi">5</span><span class="p">,</span> <span class="mi">0</span><span class="p">):</span>
|
||||
<span class="k">return</span> <span class="sa">u</span><span class="s2">"Windows 2000"</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="sa">u</span><span class="s2">"Unknow Windows <version=</span><span class="si">{0}</span><span class="s2"> | is_workstation=</span><span class="si">{1}</span><span class="s2">>"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">version</span><span class="p">,</span> <span class="n">is_workstation</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="sa">u</span><span class="s2">"Unknown Windows <version=</span><span class="si">{0}</span><span class="s2"> | is_workstation=</span><span class="si">{1}</span><span class="s2">>"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">version</span><span class="p">,</span> <span class="n">is_workstation</span><span class="p">)</span>
|
||||
|
||||
<span class="n">VERSION_MAPPER</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">FlagMapper</span><span class="p">(</span><span class="n">gdef</span><span class="o">.</span><span class="n">VER_NT_WORKSTATION</span><span class="p">,</span> <span class="n">gdef</span><span class="o">.</span><span class="n">VER_NT_DOMAIN_CONTROLLER</span><span class="p">,</span> <span class="n">gdef</span><span class="o">.</span><span class="n">VER_NT_SERVER</span><span class="p">)</span>
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedpropety</span>
|
||||
@@ -561,6 +626,24 @@
|
||||
<span class="c1"># These are the part that do not move much between XP & Win10</span>
|
||||
<span class="k">return</span> <span class="n">gdef</span><span class="o">.</span><span class="n">PFW_MINIMAL_KUSER_SHARED_DATA</span><span class="o">.</span><span class="n">from_address</span><span class="p">(</span><span class="n">gdef</span><span class="o">.</span><span class="n">MM_SHARED_USER_DATA_VA</span><span class="p">)</span>
|
||||
|
||||
<span class="nd">@utils</span><span class="o">.</span><span class="n">fixedproperty</span>
|
||||
<span class="k">def</span> <span class="nf">architecture</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
<span class="c1"># Retrieve system processor architecture</span>
|
||||
<span class="c1"># It's not that easy as x64-on-ARM64 will lie on most API except IsWow64Process2</span>
|
||||
<span class="c1"># EX: GetNativeSystemInfo will returns PROCESSOR_ARCHITECTURE_AMD64</span>
|
||||
<span class="k">if</span> <span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">is_implemented</span><span class="p">(</span><span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">IsWow64Process2</span><span class="p">):</span>
|
||||
<span class="n">process_machine</span><span class="p">,</span> <span class="n">native_machine</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_process</span><span class="o">.</span><span class="n">is_wow_64_2</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="n">utils</span><span class="o">.</span><span class="n">image_file_machine_to_processor_architecture</span><span class="p">(</span><span class="n">native_machine</span><span class="p">)</span>
|
||||
<span class="k">except</span> <span class="ne">KeyError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"Unknown IsWow64Process2(native_machine:#x) -> </span><span class="si">{0}</span><span class="s2">"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">native_machine</span><span class="p">))</span>
|
||||
|
||||
<span class="c1"># No IsWow64Process2 -> assert it cannot be ARM64 and thus GetNativeSystemInfo will not lie ?</span>
|
||||
<span class="n">sysinfo</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">SYSTEM_INFO</span><span class="p">()</span>
|
||||
<span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">GetNativeSystemInfo</span><span class="p">(</span><span class="n">sysinfo</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">gdef</span><span class="o">.</span><span class="n">PROCESSOR_ARCHITECTURE_MAPPER</span><span class="p">[</span><span class="n">sysinfo</span><span class="o">.</span><span class="n">wProcessorArchitecture</span><span class="p">]</span>
|
||||
|
||||
|
||||
|
||||
<span class="nd">@staticmethod</span>
|
||||
<span class="k">def</span> <span class="nf">enumerate_processes</span><span class="p">():</span>
|
||||
@@ -596,7 +679,7 @@
|
||||
|
||||
<span class="nd">@staticmethod</span>
|
||||
<span class="k">def</span> <span class="nf">enumerate_threads</span><span class="p">():</span>
|
||||
<span class="k">return</span> <span class="p">[</span><span class="n">WinThread</span><span class="o">.</span><span class="n">_from_THREADENTRY32</span><span class="p">(</span><span class="n">th</span><span class="p">)</span> <span class="k">for</span> <span class="n">th</span> <span class="ow">in</span> <span class="n">System</span><span class="o">.</span><span class="n">enumerate_threads_generator</span><span class="p">()]</span>
|
||||
<span class="k">return</span> <span class="p">[</span><span class="n">process</span><span class="o">.</span><span class="n">WinThread</span><span class="o">.</span><span class="n">_from_THREADENTRY32</span><span class="p">(</span><span class="n">th</span><span class="p">)</span> <span class="k">for</span> <span class="n">th</span> <span class="ow">in</span> <span class="n">System</span><span class="o">.</span><span class="n">enumerate_threads_generator</span><span class="p">()]</span>
|
||||
|
||||
|
||||
<span class="k">def</span> <span class="nf">enumerate_threads_setup_owners</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>windows.winobject.system_module — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>windows.winobject.system_module — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="../../../_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.winobject.system_module</a></li>
|
||||
</ul>
|
||||
@@ -92,6 +92,8 @@
|
||||
<span class="k">return</span> <span class="nb">list</span><span class="p">(</span><span class="n">modules</span><span class="p">)</span>
|
||||
|
||||
<span class="k">def</span> <span class="nf">enumerate_kernel_modules_syswow64</span><span class="p">():</span>
|
||||
<span class="k">if</span> <span class="n">windows</span><span class="o">.</span><span class="n">current_process</span><span class="o">.</span><span class="n">_is_x86_on_arm64</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">NotImplementedError</span><span class="p">(</span><span class="s2">"Crossing heaven gate x86 -> arm64 not implemented"</span><span class="p">)</span>
|
||||
<span class="n">cbsize</span> <span class="o">=</span> <span class="n">gdef</span><span class="o">.</span><span class="n">DWORD</span><span class="p">()</span>
|
||||
<span class="n">windows</span><span class="o">.</span><span class="n">syswow64</span><span class="o">.</span><span class="n">NtQuerySystemInformation_32_to_64</span><span class="p">(</span><span class="n">gdef</span><span class="o">.</span><span class="n">SystemModuleInformation</span><span class="p">,</span> <span class="kc">None</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">addressof</span><span class="p">(</span><span class="n">cbsize</span><span class="p">))</span>
|
||||
<span class="n">raw_buffer</span> <span class="o">=</span> <span class="p">(</span><span class="n">cbsize</span><span class="o">.</span><span class="n">value</span> <span class="o">*</span> <span class="n">gdef</span><span class="o">.</span><span class="n">BYTE</span><span class="p">)()</span>
|
||||
@@ -130,7 +132,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.winobject.system_module</a></li>
|
||||
</ul>
|
||||
|
||||
+6
-6
@@ -4,12 +4,12 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>windows.winobject.wmi — PythonForWindows 1.0.2 documentation</title>
|
||||
<title>windows.winobject.wmi — PythonForWindows 1.0.3 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="../../../_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="../../../_static/documentation_options.js?v=1ed6394b"></script>
|
||||
<script src="../../../_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" accesskey="U">Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.winobject.wmi</a></li>
|
||||
</ul>
|
||||
@@ -602,11 +602,11 @@
|
||||
<div class="viewcode-block" id="WmiManager">
|
||||
<a class="viewcode-back" href="../../../wmi.html#windows.winobject.wmi.WmiManager">[docs]</a>
|
||||
<span class="k">class</span> <span class="nc">WmiManager</span><span class="p">(</span><span class="nb">dict</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""The main WMI class exposed, used to list and access differents WMI namespace, can be used as a dict to access</span>
|
||||
<span class="w"> </span><span class="sa">r</span><span class="sd">"""The main WMI class exposed, used to list and access differents WMI namespace, can be used as a dict to access</span>
|
||||
<span class="sd"> :class:`WmiNamespace` by name</span>
|
||||
|
||||
<span class="sd"> Example:</span>
|
||||
<span class="sd"> >>> windows.system.wmi["root\\SecurityCenter2"]</span>
|
||||
<span class="sd"> >>> windows.system.wmi[r"root\SecurityCenter2"]</span>
|
||||
<span class="sd"> <WmiNamespace "root\SecurityCenter2"></span>
|
||||
<span class="sd"> """</span>
|
||||
<span class="n">DEFAULT_NAMESPACE</span> <span class="o">=</span> <span class="s2">"root</span><span class="se">\\</span><span class="s2">cimv2"</span> <span class="c1">#: The default namespace for :func:`select` & :func:`query`</span>
|
||||
@@ -676,7 +676,7 @@
|
||||
<li class="right" >
|
||||
<a href="../../../py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.2 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="../../../index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="../../index.html" >Module code</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">windows.winobject.wmi</a></li>
|
||||
</ul>
|
||||
|
||||
+14
@@ -69,6 +69,20 @@ Output
|
||||
|
||||
.. _token_sample:
|
||||
|
||||
|
||||
Microsoft Store Python Injection
|
||||
''''''''''''''''''''''''''''''''
|
||||
|
||||
Python execution in remote process fails with Microsoft Store builds of pythons (`mspython`), as the interpreter DLLs do not grant execute to Users.
|
||||
This sample shows a workaround by user https://github.com/dariushoule by copying needed mspython files to a temporary directory and injecting those instead.
|
||||
|
||||
.. literalinclude:: ..\..\samples\process\msstore_interpreter_remote_python.py
|
||||
|
||||
Output
|
||||
|
||||
.. literalinclude:: samples_output\process_msstore_interpreter_remote_python.txt
|
||||
|
||||
|
||||
Token
|
||||
"""""
|
||||
|
||||
|
||||
+189
-13
@@ -152,6 +152,9 @@ WinDef
|
||||
.. autodata:: SORF_OXRES8
|
||||
.. autodata:: SORF_NULL
|
||||
.. autodata:: SORF_NOPING
|
||||
.. autodata:: UNIQUE_FLAG_PADDING
|
||||
.. autodata:: MAINHDRSIG
|
||||
.. autodata:: ENTRYHDRSIG
|
||||
.. autodata:: CWCSTORAGENAME
|
||||
.. autodata:: STGM_DIRECT
|
||||
.. autodata:: STGM_TRANSACTED
|
||||
@@ -496,6 +499,15 @@ WinDef
|
||||
.. autodata:: ERROR_SEVERITY_INFORMATIONAL
|
||||
.. autodata:: ERROR_SEVERITY_WARNING
|
||||
.. autodata:: ERROR_SEVERITY_ERROR
|
||||
.. autodata:: FACILITY_WINDOWS
|
||||
.. autodata:: FACILITY_WIN32
|
||||
.. autodata:: FACILITY_STORAGE
|
||||
.. autodata:: FACILITY_RPC
|
||||
.. autodata:: FACILITY_NULL
|
||||
.. autodata:: FACILITY_ITF
|
||||
.. autodata:: FACILITY_DISPATCH
|
||||
.. autodata:: STATUS_SEVERITY_SUCCESS
|
||||
.. autodata:: STATUS_SEVERITY_COERROR
|
||||
.. autodata:: EVENT_TRACE_FLAG_DISPATCHER
|
||||
.. autodata:: EVENT_TRACE_FLAG_VIRTUAL_ALLOC
|
||||
.. autodata:: EVENT_TRACE_FLAG_VAMAP
|
||||
@@ -1133,6 +1145,89 @@ WinDef
|
||||
.. autodata:: NMPWAIT_WAIT_FOREVER
|
||||
.. autodata:: NMPWAIT_NOWAIT
|
||||
.. autodata:: NMPWAIT_USE_DEFAULT_WAIT
|
||||
.. autodata:: ProcThreadAttributeParentProcess
|
||||
.. autodata:: ProcThreadAttributeExtendedFlags
|
||||
.. autodata:: ProcThreadAttributeHandleList
|
||||
.. autodata:: ProcThreadAttributeGroupAffinity
|
||||
.. autodata:: ProcThreadAttributePreferredNode
|
||||
.. autodata:: ProcThreadAttributeIdealProcessor
|
||||
.. autodata:: ProcThreadAttributeUmsThread
|
||||
.. autodata:: ProcThreadAttributeMitigationPolicy
|
||||
.. autodata:: ProcThreadAttributePackageFullName
|
||||
.. autodata:: ProcThreadAttributeSecurityCapabilities
|
||||
.. autodata:: ProcThreadAttributeConsoleReference
|
||||
.. autodata:: ProcThreadAttributeProtectionLevel
|
||||
.. autodata:: ProcThreadAttributeOsMaxVersionTested
|
||||
.. autodata:: ProcThreadAttributeJobList
|
||||
.. autodata:: ProcThreadAttributeChildProcessPolicy
|
||||
.. autodata:: ProcThreadAttributeAllApplicationPackagesPolicy
|
||||
.. autodata:: ProcThreadAttributeWin32kFilter
|
||||
.. autodata:: ProcThreadAttributeSafeOpenPromptOriginClaim
|
||||
.. autodata:: ProcThreadAttributeDesktopAppPolicy
|
||||
.. autodata:: ProcThreadAttributeBnoIsolation
|
||||
.. autodata:: ProcThreadAttributePseudoConsole
|
||||
.. autodata:: ProcThreadAttributeIsolationManifest
|
||||
.. autodata:: ProcThreadAttributeMitigationAuditPolicy
|
||||
.. autodata:: ProcThreadAttributeMachineType
|
||||
.. autodata:: ProcThreadAttributeComponentFilter
|
||||
.. autodata:: ProcThreadAttributeEnableOptionalXStateFeatures
|
||||
.. autodata:: ProcThreadAttributeCreateStore
|
||||
.. autodata:: ProcThreadAttributeTrustedApp
|
||||
.. autodata:: ProcThreadAttributeSveVectorLength
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_NUMBER
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_THREAD
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_INPUT
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_ADDITIVE
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_PARENT_PROCESS
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_HANDLE_LIST
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_GROUP_AFFINITY
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_PREFERRED_NODE
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_IDEAL_PROCESSOR
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_UMS_THREAD
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_MITIGATION_POLICY
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_SECURITY_CAPABILITIES
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_PROTECTION_LEVEL
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_PSEUDOCONSOLE
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_MACHINE_TYPE
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_ENABLE_OPTIONAL_XSTATE_FEATURES
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_SVE_VECTOR_LENGTH
|
||||
.. autodata:: PROCESSOR_INTEL_386
|
||||
.. autodata:: PROCESSOR_INTEL_486
|
||||
.. autodata:: PROCESSOR_INTEL_PENTIUM
|
||||
.. autodata:: PROCESSOR_INTEL_IA64
|
||||
.. autodata:: PROCESSOR_MIPS_R4000
|
||||
.. autodata:: PROCESSOR_ALPHA_21064
|
||||
.. autodata:: PROCESSOR_PPC_601
|
||||
.. autodata:: PROCESSOR_PPC_603
|
||||
.. autodata:: PROCESSOR_PPC_604
|
||||
.. autodata:: PROCESSOR_PPC_620
|
||||
.. autodata:: PROCESSOR_HITACHI_SH3
|
||||
.. autodata:: PROCESSOR_HITACHI_SH3E
|
||||
.. autodata:: PROCESSOR_HITACHI_SH4
|
||||
.. autodata:: PROCESSOR_MOTOROLA_821
|
||||
.. autodata:: PROCESSOR_SHx_SH3
|
||||
.. autodata:: PROCESSOR_SHx_SH4
|
||||
.. autodata:: PROCESSOR_STRONGARM
|
||||
.. autodata:: PROCESSOR_ARM720
|
||||
.. autodata:: PROCESSOR_ARM820
|
||||
.. autodata:: PROCESSOR_ARM920
|
||||
.. autodata:: PROCESSOR_ARM_7TDMI
|
||||
.. autodata:: PROCESSOR_OPTIL
|
||||
.. autodata:: PROCESSOR_ARCHITECTURE_INTEL
|
||||
.. autodata:: PROCESSOR_ARCHITECTURE_MIPS
|
||||
.. autodata:: PROCESSOR_ARCHITECTURE_ALPHA
|
||||
.. autodata:: PROCESSOR_ARCHITECTURE_PPC
|
||||
.. autodata:: PROCESSOR_ARCHITECTURE_SHX
|
||||
.. autodata:: PROCESSOR_ARCHITECTURE_ARM
|
||||
.. autodata:: PROCESSOR_ARCHITECTURE_IA64
|
||||
.. autodata:: PROCESSOR_ARCHITECTURE_ALPHA64
|
||||
.. autodata:: PROCESSOR_ARCHITECTURE_MSIL
|
||||
.. autodata:: PROCESSOR_ARCHITECTURE_AMD64
|
||||
.. autodata:: PROCESSOR_ARCHITECTURE_IA32_ON_WIN64
|
||||
.. autodata:: PROCESSOR_ARCHITECTURE_NEUTRAL
|
||||
.. autodata:: PROCESSOR_ARCHITECTURE_ARM64
|
||||
.. autodata:: PROCESSOR_ARCHITECTURE_ARM32_ON_WIN64
|
||||
.. autodata:: PROCESSOR_ARCHITECTURE_UNKNOWN
|
||||
.. autodata:: HKEY_CLASSES_ROOT
|
||||
.. autodata:: HKEY_CURRENT_USER
|
||||
.. autodata:: HKEY_LOCAL_MACHINE
|
||||
@@ -1754,6 +1849,45 @@ WinDef
|
||||
.. autodata:: SPC_FINANCIAL_CRITERIA_OBJID
|
||||
.. autodata:: SPC_LINK_OBJID
|
||||
.. autodata:: SPC_SIGINFO_OBJID
|
||||
.. autodata:: CONTEXT_I386
|
||||
.. autodata:: CONTEXT_AMD64
|
||||
.. autodata:: CONTEXT_ARM
|
||||
.. autodata:: CONTEXT_ARM64
|
||||
.. autodata:: CONTEXT_i386
|
||||
.. autodata:: CONTEXT_i486
|
||||
.. autodata:: WOW64_CONTEXT_i386
|
||||
.. autodata:: WOW64_CONTEXT_i486
|
||||
.. autodata:: CONTEXT_CONTROL
|
||||
.. autodata:: CONTEXT_INTEGER
|
||||
.. autodata:: CONTEXT_SEGMENTS
|
||||
.. autodata:: CONTEXT_FLOATING_POINT
|
||||
.. autodata:: CONTEXT_DEBUG_REGISTERS
|
||||
.. autodata:: CONTEXT_EXTENDED_REGISTERS
|
||||
.. autodata:: CONTEXT_FULL
|
||||
.. autodata:: CONTEXT_ALL
|
||||
.. autodata:: CONTEXT_XSTATE
|
||||
.. autodata:: WOW64_CONTEXT_CONTROL
|
||||
.. autodata:: WOW64_CONTEXT_INTEGER
|
||||
.. autodata:: WOW64_CONTEXT_SEGMENTS
|
||||
.. autodata:: WOW64_CONTEXT_FLOATING_POINT
|
||||
.. autodata:: WOW64_CONTEXT_DEBUG_REGISTERS
|
||||
.. autodata:: WOW64_CONTEXT_EXTENDED_REGISTERS
|
||||
.. autodata:: WOW64_CONTEXT_FULL
|
||||
.. autodata:: WOW64_CONTEXT_ALL
|
||||
.. autodata:: WOW64_CONTEXT_XSTATE
|
||||
.. autodata:: WOW64_CONTEXT_EXCEPTION_ACTIVE
|
||||
.. autodata:: WOW64_CONTEXT_SERVICE_ACTIVE
|
||||
.. autodata:: WOW64_CONTEXT_EXCEPTION_REQUEST
|
||||
.. autodata:: WOW64_CONTEXT_EXCEPTION_REPORTING
|
||||
.. autodata:: CONTEXT_ARM64_CONTROL
|
||||
.. autodata:: CONTEXT_ARM64_INTEGER
|
||||
.. autodata:: CONTEXT_ARM64_FLOATING_POINT
|
||||
.. autodata:: CONTEXT_ARM64_DEBUG_REGISTERS
|
||||
.. autodata:: CONTEXT_ARM64_X18
|
||||
.. autodata:: CONTEXT_UNWOUND_TO_CALL
|
||||
.. autodata:: CONTEXT_RET_TO_GUEST
|
||||
.. autodata:: ARM64_MAX_BREAKPOINTS
|
||||
.. autodata:: ARM64_MAX_WATCHPOINTS
|
||||
.. autodata:: FILE_VER_GET_LOCALISED
|
||||
.. autodata:: FILE_VER_GET_NEUTRAL
|
||||
.. autodata:: FILE_VER_GET_PREFETCHED
|
||||
@@ -1865,19 +1999,6 @@ WinDef
|
||||
.. autodata:: TH32CS_SNAPMODULE32
|
||||
.. autodata:: TH32CS_SNAPALL
|
||||
.. autodata:: TH32CS_INHERIT
|
||||
.. autodata:: CONTEXT_I386
|
||||
.. autodata:: CONTEXT_AMD64
|
||||
.. autodata:: CONTEXT_ARM
|
||||
.. autodata:: CONTEXT_ARM64
|
||||
.. autodata:: CONTEXT_CONTROL
|
||||
.. autodata:: CONTEXT_INTEGER
|
||||
.. autodata:: CONTEXT_SEGMENTS
|
||||
.. autodata:: CONTEXT_FLOATING_POINT
|
||||
.. autodata:: CONTEXT_DEBUG_REGISTERS
|
||||
.. autodata:: CONTEXT_EXTENDED_REGISTERS
|
||||
.. autodata:: CONTEXT_FULL
|
||||
.. autodata:: CONTEXT_ALL
|
||||
.. autodata:: CONTEXT_XSTATE
|
||||
.. autodata:: PAGE_NOACCESS
|
||||
.. autodata:: PAGE_READONLY
|
||||
.. autodata:: PAGE_READWRITE
|
||||
@@ -2910,6 +3031,7 @@ WinDef
|
||||
.. autodata:: IMAGE_FILE_MACHINE_M32R
|
||||
.. autodata:: IMAGE_FILE_MACHINE_CEE
|
||||
.. autodata:: IMAGE_FILE_MACHINE_ARM64
|
||||
.. autodata:: IMAGE_FILE_MACHINE_TARGET_HOST
|
||||
.. autodata:: CERT_QUERY_OBJECT_FILE
|
||||
.. autodata:: CERT_QUERY_OBJECT_BLOB
|
||||
.. autodata:: CERT_QUERY_CONTENT_CERT
|
||||
@@ -3222,6 +3344,37 @@ WinDef
|
||||
.. autodata:: CRYPT_SGCKEY
|
||||
.. autodata:: CRYPT_ARCHIVABLE
|
||||
.. autodata:: CRYPT_FORCE_KEY_PROTECTION_HIGH
|
||||
.. autodata:: CERT_RDN_ANY_TYPE
|
||||
.. autodata:: CERT_RDN_ENCODED_BLOB
|
||||
.. autodata:: CERT_RDN_OCTET_STRING
|
||||
.. autodata:: CERT_RDN_NUMERIC_STRING
|
||||
.. autodata:: CERT_RDN_PRINTABLE_STRING
|
||||
.. autodata:: CERT_RDN_TELETEX_STRING
|
||||
.. autodata:: CERT_RDN_T61_STRING
|
||||
.. autodata:: CERT_RDN_VIDEOTEX_STRING
|
||||
.. autodata:: CERT_RDN_IA5_STRING
|
||||
.. autodata:: CERT_RDN_GRAPHIC_STRING
|
||||
.. autodata:: CERT_RDN_VISIBLE_STRING
|
||||
.. autodata:: CERT_RDN_ISO646_STRING
|
||||
.. autodata:: CERT_RDN_GENERAL_STRING
|
||||
.. autodata:: CERT_RDN_UNIVERSAL_STRING
|
||||
.. autodata:: CERT_RDN_INT4_STRING
|
||||
.. autodata:: CERT_RDN_BMP_STRING
|
||||
.. autodata:: CERT_RDN_UNICODE_STRING
|
||||
.. autodata:: CERT_RDN_UTF8_STRING
|
||||
.. autodata:: CERT_RDN_TYPE_MASK
|
||||
.. autodata:: CERT_RDN_FLAGS_MASK
|
||||
.. autodata:: CERT_RDN_ENABLE_T61_UNICODE_FLAG
|
||||
.. autodata:: CERT_RDN_ENABLE_UTF8_UNICODE_FLAG
|
||||
.. autodata:: CERT_RDN_FORCE_UTF8_UNICODE_FLAG
|
||||
.. autodata:: CERT_RDN_DISABLE_CHECK_TYPE_FLAG
|
||||
.. autodata:: CERT_RDN_DISABLE_IE4_UTF8_FLAG
|
||||
.. autodata:: CRYPT_DECODE_NOCOPY_FLAG
|
||||
.. autodata:: CRYPT_DECODE_TO_BE_SIGNED_FLAG
|
||||
.. autodata:: CRYPT_DECODE_SHARE_OID_STRING_FLAG
|
||||
.. autodata:: CRYPT_DECODE_NO_SIGNATURE_BYTE_REVERSAL_FLAG
|
||||
.. autodata:: CRYPT_DECODE_ALLOC_FLAG
|
||||
.. autodata:: CRYPT_UNICODE_NAME_DECODE_DISABLE_IE4_UTF8_FLAG
|
||||
.. autodata:: CRYPT_ENCODE_DECODE_NONE
|
||||
.. autodata:: X509_CERT
|
||||
.. autodata:: X509_CERT_TO_BE_SIGNED
|
||||
@@ -3360,6 +3513,29 @@ WinDef
|
||||
.. autodata:: CMSG_CTRL_VERIFY_SIGNATURE_EX
|
||||
.. autodata:: CMSG_CTRL_ADD_CMS_SIGNER_INFO
|
||||
.. autodata:: CMSG_CTRL_ENABLE_STRONG_SIGNATURE
|
||||
.. autodata:: CERT_SET_KEY_PROV_HANDLE_PROP_ID
|
||||
.. autodata:: CERT_SET_KEY_CONTEXT_PROP_ID
|
||||
.. autodata:: CERT_NCRYPT_KEY_SPEC
|
||||
.. autodata:: CERT_REQUEST_V1
|
||||
.. autodata:: CRYPT_STRING_BASE64HEADER
|
||||
.. autodata:: CRYPT_STRING_BASE64
|
||||
.. autodata:: CRYPT_STRING_BINARY
|
||||
.. autodata:: CRYPT_STRING_BASE64REQUESTHEADER
|
||||
.. autodata:: CRYPT_STRING_HEX
|
||||
.. autodata:: CRYPT_STRING_HEXASCII
|
||||
.. autodata:: CRYPT_STRING_BASE64_ANY
|
||||
.. autodata:: CRYPT_STRING_ANY
|
||||
.. autodata:: CRYPT_STRING_HEX_ANY
|
||||
.. autodata:: CRYPT_STRING_BASE64X509CRLHEADER
|
||||
.. autodata:: CRYPT_STRING_HEXADDR
|
||||
.. autodata:: CRYPT_STRING_HEXASCIIADDR
|
||||
.. autodata:: CRYPT_STRING_HEXRAW
|
||||
.. autodata:: CRYPT_STRING_BASE64URI
|
||||
.. autodata:: CRYPT_STRING_PERCENTESCAPE
|
||||
.. autodata:: CRYPT_STRING_HASHDATA
|
||||
.. autodata:: CRYPT_STRING_STRICT
|
||||
.. autodata:: CRYPT_STRING_NOCRLF
|
||||
.. autodata:: CRYPT_STRING_NOCR
|
||||
.. autodata:: WSADESCRIPTION_LEN
|
||||
.. autodata:: WSASYS_STATUS_LEN
|
||||
.. autodata:: WSAPROTOCOL_LEN
|
||||
|
||||
+60
-14
@@ -326,6 +326,18 @@ Functions
|
||||
|
||||
.. function:: CertCloseStore(hCertStore, dwFlags)
|
||||
|
||||
.. function:: CryptSignAndEncodeCertificate(hBCryptKey, dwKeySpec, dwCertEncodingType, lpszStructType, pvStructInfo, pSignatureAlgorithm, pvHashAuxInfo, pbEncoded, pcbEncoded)
|
||||
|
||||
.. function:: CryptSignCertificate(hBCryptKey, dwKeySpec, dwCertEncodingType, pbEncodedToBeSigned, cbEncodedToBeSigned, pSignatureAlgorithm, pvHashAuxInfo, pbSignature, pcbSignature)
|
||||
|
||||
.. function:: CryptBinaryToStringA(pbBinary, cbBinary, dwFlags, pszString, pcchString)
|
||||
|
||||
.. function:: CryptBinaryToStringW(pbBinary, cbBinary, dwFlags, pszString, pcchString)
|
||||
|
||||
.. function:: CryptStringToBinaryA(pszString, cchString, dwFlags, pbBinary, pcbBinary, pdwSkip, pdwFlags)
|
||||
|
||||
.. function:: CryptStringToBinaryW(pszString, cchString, dwFlags, pbBinary, pcbBinary, pdwSkip, pdwFlags)
|
||||
|
||||
.. function:: OpenVirtualDisk(VirtualStorageType, Path, VirtualDiskAccessMask, Flags, Parameters, Handle)
|
||||
|
||||
.. function:: AttachVirtualDisk(VirtualDiskHandle, SecurityDescriptor, Flags, ProviderSpecificFlags, Parameters, Overlapped)
|
||||
@@ -592,6 +604,10 @@ Functions
|
||||
|
||||
.. function:: UnmapViewOfFile(lpBaseAddress)
|
||||
|
||||
.. function:: NCryptOpenKey(hProvider, phKey, pszKeyName, dwLegacyKeySpec, dwFlags)
|
||||
|
||||
.. function:: NCryptOpenStorageProvider(phProvider, pszProviderName, dwFlags)
|
||||
|
||||
.. function:: NetQueryDisplayInformation(ServerName, Level, Index, EntriesRequested, PreferredMaximumLength, ReturnedEntryCount, SortedBuffer)
|
||||
|
||||
.. function:: NetUserEnum(servername, level, filter, bufptr, prefmaxlen, entriesread, totalentries, resume_handle)
|
||||
@@ -696,6 +712,12 @@ Functions
|
||||
|
||||
.. function:: FreeLibrary(hLibModule)
|
||||
|
||||
.. function:: GetProcessInformation(hProcess, ProcessInformationClass, ProcessInformation, ProcessInformationSize)
|
||||
|
||||
.. function:: SetProcessInformation(hProcess, ProcessInformationClass, ProcessInformation, ProcessInformationSize)
|
||||
|
||||
.. function:: RtlGetCurrentPeb()
|
||||
|
||||
.. function:: RegQueryValueExA(hKey, lpValueName, lpReserved, lpType, lpData, lpcbData)
|
||||
|
||||
.. function:: RegQueryValueExW(hKey, lpValueName, lpReserved, lpType, lpData, lpcbData)
|
||||
@@ -1212,6 +1234,42 @@ Functions
|
||||
|
||||
.. function:: LookupAccountNameW(lpSystemName, lpAccountName, Sid, cbSid, ReferencedDomainName, cchReferencedDomainName, peUse)
|
||||
|
||||
.. function:: GetNativeSystemInfo(lpSystemInfo)
|
||||
|
||||
.. function:: GetSystemInfo(lpSystemInfo)
|
||||
|
||||
.. function:: IsWow64Process(hProcess, Wow64Process)
|
||||
|
||||
.. function:: IsWow64Process2(hProcess, pProcessMachine, pNativeMachine)
|
||||
|
||||
.. function:: IsWow64GuestMachineSupported(WowGuestMachine, MachineIsSupported)
|
||||
|
||||
.. function:: GetSystemWow64DirectoryA(lpBuffer, uSize)
|
||||
|
||||
.. function:: GetSystemWow64DirectoryW(lpBuffer, uSize)
|
||||
|
||||
.. function:: GetSystemWow64Directory2A(lpBuffer, uSize, ImageFileMachineType)
|
||||
|
||||
.. function:: GetSystemWow64Directory2W(lpBuffer, uSize, ImageFileMachineType)
|
||||
|
||||
.. function:: Wow64DisableWow64FsRedirection(OldValue)
|
||||
|
||||
.. function:: Wow64EnableWow64FsRedirection(Wow64FsEnableRedirection)
|
||||
|
||||
.. function:: Wow64RevertWow64FsRedirection(OlValue)
|
||||
|
||||
.. function:: Wow64GetThreadContext(hThread, lpContext)
|
||||
|
||||
.. function:: Wow64SetThreadContext(hThread, lpContext)
|
||||
|
||||
.. function:: Wow64SetThreadDefaultGuestMachine(Machine)
|
||||
|
||||
.. function:: Wow64SuspendThread(hThread)
|
||||
|
||||
.. function:: NtWow64ReadVirtualMemory64(hProcess, lpBaseAddress, lpBuffer, nSize, lpNumberOfBytesRead)
|
||||
|
||||
.. function:: NtWow64WriteVirtualMemory64(hProcess, lpBaseAddress, lpBuffer, nSize, lpNumberOfBytesWritten)
|
||||
|
||||
.. function:: FileTimeToSystemTime(lpFileTime, lpSystemTime)
|
||||
|
||||
.. function:: SystemTimeToFileTime(lpSystemTime, lpFileTime)
|
||||
@@ -1348,6 +1406,8 @@ Functions
|
||||
|
||||
.. function:: CreateRemoteThread(hProcess, lpThreadAttributes, dwStackSize, lpStartAddress, lpParameter, dwCreationFlags, lpThreadId)
|
||||
|
||||
.. function:: CreateRemoteThreadEx(hProcess, lpThreadAttributes, dwStackSize, lpStartAddress, lpParameter, dwCreationFlags, lpAttributeList, lpThreadId)
|
||||
|
||||
.. function:: CreateProcessA(lpApplicationName, lpCommandLine, lpProcessAttributes, lpThreadAttributes, bInheritHandles, dwCreationFlags, lpEnvironment, lpCurrentDirectory, lpStartupInfo, lpProcessInformation)
|
||||
|
||||
.. function:: CreateProcessW(lpApplicationName, lpCommandLine, lpProcessAttributes, lpThreadAttributes, bInheritHandles, dwCreationFlags, lpEnvironment, lpCurrentDirectory, lpStartupInfo, lpProcessInformation)
|
||||
@@ -1368,12 +1428,8 @@ Functions
|
||||
|
||||
.. function:: ReadProcessMemory(hProcess, lpBaseAddress, lpBuffer, nSize, lpNumberOfBytesRead)
|
||||
|
||||
.. function:: NtWow64ReadVirtualMemory64(hProcess, lpBaseAddress, lpBuffer, nSize, lpNumberOfBytesRead)
|
||||
|
||||
.. function:: WriteProcessMemory(hProcess, lpBaseAddress, lpBuffer, nSize, lpNumberOfBytesWritten)
|
||||
|
||||
.. function:: NtWow64WriteVirtualMemory64(hProcess, lpBaseAddress, lpBuffer, nSize, lpNumberOfBytesWritten)
|
||||
|
||||
.. function:: GetCurrentProcess()
|
||||
|
||||
.. function:: CreateFileA(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile)
|
||||
@@ -1466,14 +1522,6 @@ Functions
|
||||
|
||||
.. function:: DeviceIoControl(hDevice, dwIoControlCode, lpInBuffer, nInBufferSize, lpOutBuffer, nOutBufferSize, lpBytesReturned, lpOverlapped)
|
||||
|
||||
.. function:: Wow64DisableWow64FsRedirection(OldValue)
|
||||
|
||||
.. function:: Wow64RevertWow64FsRedirection(OldValue)
|
||||
|
||||
.. function:: Wow64EnableWow64FsRedirection(Wow64FsEnableRedirection)
|
||||
|
||||
.. function:: Wow64GetThreadContext(hThread, lpContext)
|
||||
|
||||
.. function:: SetConsoleCtrlHandler(HandlerRoutine, Add)
|
||||
|
||||
.. function:: GlobalAlloc(uFlags, dwBytes)
|
||||
@@ -1528,8 +1576,6 @@ Functions
|
||||
|
||||
.. function:: GetProcessId(Process)
|
||||
|
||||
.. function:: Wow64SetThreadContext(hThread, lpContext)
|
||||
|
||||
.. function:: GetMappedFileNameW(hProcess, lpv, lpFilename, nSize)
|
||||
|
||||
.. function:: GetMappedFileNameA(hProcess, lpv, lpFilename, nSize)
|
||||
|
||||
+3388
-2466
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -1,5 +1,5 @@
|
||||
const DOCUMENTATION_OPTIONS = {
|
||||
VERSION: '1.0.3',
|
||||
VERSION: '1.0.4',
|
||||
LANGUAGE: 'en',
|
||||
COLLAPSE_INDEX: false,
|
||||
BUILDER: 'html',
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>12. windows.alpc – Advanced Local Procedure Call — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>12. windows.alpc – Advanced Local Procedure Call — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="crypto.html" title="11. windows.crypto – CryptoAPI"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">12. </span><code class="docutils literal notranslate"><span class="pre">windows.alpc</span></code> – Advanced Local Procedure Call</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -544,7 +544,7 @@ ALPC messages over an ALPC port and the classes representing these messages.</p>
|
||||
<li class="right" >
|
||||
<a href="crypto.html" title="11. windows.crypto – CryptoAPI"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">12. </span><code class="docutils literal notranslate"><span class="pre">windows.alpc</span></code> – Advanced Local Procedure Call</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>10. windows.com - Component Object Model — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>10. windows.com - Component Object Model — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="debug.html" title="9. windows.debug – Debugging"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">10. </span><code class="xref py py-mod docutils literal notranslate"><span class="pre">windows.com</span></code> - Component Object Model</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -204,7 +204,7 @@ You can then use the instance to call whatever method you need.</p>
|
||||
<li class="right" >
|
||||
<a href="debug.html" title="9. windows.debug – Debugging"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">10. </span><code class="xref py py-mod docutils literal notranslate"><span class="pre">windows.com</span></code> - Component Object Model</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+26
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>11. windows.crypto – CryptoAPI — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>11. windows.crypto – CryptoAPI — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="com.html" title="10. windows.com - Component Object Model"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">11. </span><code class="docutils literal notranslate"><span class="pre">windows.crypto</span></code> – CryptoAPI</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -218,6 +218,12 @@ See <a class="reference external" href="https://msdn.microsoft.com/en-us/library
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="windows.crypto.Certificate.get_private_key">
|
||||
<span class="sig-name descname"><span class="pre">get_private_key</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">flags</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/crypto/certificate.html#Certificate.get_private_key"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.crypto.Certificate.get_private_key" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Tmp API: return value will change</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="windows.crypto.Certificate.get_property">
|
||||
<span class="sig-name descname"><span class="pre">get_property</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prop</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/crypto/certificate.html#Certificate.get_property"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.crypto.Certificate.get_property" title="Link to this definition">¶</a></dt>
|
||||
@@ -246,6 +252,12 @@ See <a class="reference external" href="https://msdn.microsoft.com/en-us/library
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py property">
|
||||
<dt class="sig sig-object py" id="windows.crypto.Certificate.private_key">
|
||||
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">private_key</span></span><a class="headerlink" href="#windows.crypto.Certificate.private_key" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Tmp API: return value will change</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py property">
|
||||
<dt class="sig sig-object py" id="windows.crypto.Certificate.properties">
|
||||
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">properties</span></span><a class="headerlink" href="#windows.crypto.Certificate.properties" title="Link to this definition">¶</a></dt>
|
||||
@@ -375,6 +387,13 @@ See <a class="reference external" href="https://msdn.microsoft.com/en-us/library
|
||||
(see <a class="reference external" href="https://msdn.microsoft.com/en-us/library/windows/desktop/aa388136(v=vs.85).aspx">System Store Locations</a>)</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="windows.crypto.CertificateStore.from_user_store">
|
||||
<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">from_user_store</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">store_name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">user</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/crypto/certificate.html#CertificateStore.from_user_store"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.crypto.CertificateStore.from_user_store" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Create a new <a class="reference internal" href="#windows.crypto.CertificateStore" title="windows.crypto.CertificateStore"><code class="xref py py-class docutils literal notranslate"><span class="pre">CertificateStore</span></code></a> from system store <code class="docutils literal notranslate"><span class="pre">store_name</span></code>
|
||||
(see <a class="reference external" href="https://msdn.microsoft.com/en-us/library/windows/desktop/aa388136(v=vs.85).aspx">System Store Locations</a>)</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="windows.crypto.CertificateStore.new_in_memory">
|
||||
<em class="property"><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">new_in_memory</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/crypto/certificate.html#CertificateStore.new_in_memory"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.crypto.CertificateStore.new_in_memory" title="Link to this definition">¶</a></dt>
|
||||
@@ -644,9 +663,11 @@ See <a class="reference external" href="https://msdn.microsoft.com/en-us/library
|
||||
<li><a class="reference internal" href="#windows.crypto.Certificate.from_buffer"><code class="docutils literal notranslate"><span class="pre">from_buffer()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.crypto.Certificate.from_file"><code class="docutils literal notranslate"><span class="pre">from_file()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.crypto.Certificate.get_name"><code class="docutils literal notranslate"><span class="pre">get_name()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.crypto.Certificate.get_private_key"><code class="docutils literal notranslate"><span class="pre">get_private_key()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.crypto.Certificate.get_property"><code class="docutils literal notranslate"><span class="pre">get_property()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.crypto.Certificate.issuer"><code class="docutils literal notranslate"><span class="pre">issuer</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.crypto.Certificate.name"><code class="docutils literal notranslate"><span class="pre">name</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.crypto.Certificate.private_key"><code class="docutils literal notranslate"><span class="pre">private_key</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.crypto.Certificate.properties"><code class="docutils literal notranslate"><span class="pre">properties</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.crypto.Certificate.raw_serial"><code class="docutils literal notranslate"><span class="pre">raw_serial</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.crypto.Certificate.serial"><code class="docutils literal notranslate"><span class="pre">serial</span></code></a></li>
|
||||
@@ -665,6 +686,7 @@ See <a class="reference external" href="https://msdn.microsoft.com/en-us/library
|
||||
<li><a class="reference internal" href="#windows.crypto.CertificateStore.from_file"><code class="docutils literal notranslate"><span class="pre">from_file()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.crypto.CertificateStore.from_param"><code class="docutils literal notranslate"><span class="pre">from_param()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.crypto.CertificateStore.from_system_store"><code class="docutils literal notranslate"><span class="pre">from_system_store()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.crypto.CertificateStore.from_user_store"><code class="docutils literal notranslate"><span class="pre">from_user_store()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.crypto.CertificateStore.new_in_memory"><code class="docutils literal notranslate"><span class="pre">new_in_memory()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.crypto.CertificateStore.value"><code class="docutils literal notranslate"><span class="pre">value</span></code></a></li>
|
||||
</ul>
|
||||
@@ -774,7 +796,7 @@ See <a class="reference external" href="https://msdn.microsoft.com/en-us/library
|
||||
<li class="right" >
|
||||
<a href="com.html" title="10. windows.com - Component Object Model"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">11. </span><code class="docutils literal notranslate"><span class="pre">windows.crypto</span></code> – CryptoAPI</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+5
-5
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>9. windows.debug – Debugging — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>9. windows.debug – Debugging — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="wintrust.html" title="8. windows.wintrust – Checking signature"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">9. </span><code class="xref py py-mod docutils literal notranslate"><span class="pre">windows.debug</span></code> – Debugging</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -1050,7 +1050,7 @@ This can be completly virtual (particularly in the case of <a class="reference i
|
||||
<dt>Exemple:</dt><dd><div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">sh</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">debug</span><span class="o">.</span><span class="n">symbols</span><span class="o">.</span><span class="n">VirtualSymbolHandler</span><span class="p">()</span>
|
||||
<span class="gp">>>> </span><span class="n">mod</span> <span class="o">=</span> <span class="n">sh</span><span class="o">.</span><span class="n">load_file</span><span class="p">(</span><span class="sa">r</span><span class="s2">"c:\windows\system32\kernelbase.dll"</span><span class="p">)</span>
|
||||
<span class="gp">>>> </span><span class="n">mod</span><span class="o">.</span><span class="n">pdb</span>
|
||||
<span class="go">'d:\symbols\wkernelbase.pdb\017FA9C5278235B7E6BFBA74A9A5AAD91\wkernelbase.pdb'</span>
|
||||
<span class="go">'d:\\symbols\\wkernelbase.pdb\\017FA9C5278235B7E6BFBA74A9A5AAD91\\wkernelbase.pdb'</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</dd>
|
||||
@@ -1404,7 +1404,7 @@ If the symbol include a displacement, it is not taken into account</p>
|
||||
<li class="right" >
|
||||
<a href="wintrust.html" title="8. windows.wintrust – Checking signature"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">9. </span><code class="xref py py-mod docutils literal notranslate"><span class="pre">windows.debug</span></code> – Debugging</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>2.14. Device Manager — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>2.14. Device Manager — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="object_manager.html" title="2.13. Object Manager – Kernel objects"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" accesskey="U"><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.14. </span>Device Manager</a></li>
|
||||
</ul>
|
||||
@@ -964,7 +964,7 @@ This class is a base class, all resources returned by <a class="reference intern
|
||||
<li class="right" >
|
||||
<a href="object_manager.html" title="2.13. Object Manager – Kernel objects"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" ><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.14. </span>Device Manager</a></li>
|
||||
</ul>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>19. Python, Windows & encoding — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>19. Python, Windows & encoding — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
<li class="right" >
|
||||
<a href="sample.html" title="18. Samples of code"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">19. </span>Python, Windows & encoding</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -347,7 +347,7 @@ Unicode object repr: <MyUtf8Object name="お前はもう死んでい-к
|
||||
<li class="right" >
|
||||
<a href="sample.html" title="18. Samples of code"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">19. </span>Python, Windows & encoding</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>2.17. ETW – Event Tracing for Windows — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>2.17. ETW – Event Tracing for Windows — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="evtlog.html" title="2.16. Event Log"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" accesskey="U"><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.17. </span>ETW – Event Tracing for Windows</a></li>
|
||||
</ul>
|
||||
@@ -376,7 +376,7 @@ This allow for simpler script that stop/start some EtwTrace.</p>
|
||||
<li class="right" >
|
||||
<a href="evtlog.html" title="2.16. Event Log"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" ><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.17. </span>ETW – Event Tracing for Windows</a></li>
|
||||
</ul>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>2.16. Event Log — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>2.16. Event Log — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="task_scheduler.html" title="2.15. Task scheduler"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" accesskey="U"><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.16. </span>Event Log</a></li>
|
||||
</ul>
|
||||
@@ -1051,7 +1051,7 @@ Retrieved by parsing <a class="reference internal" href="#windows.winobject.even
|
||||
<li class="right" >
|
||||
<a href="task_scheduler.html" title="2.15. Task scheduler"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" ><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.16. </span>Event Log</a></li>
|
||||
</ul>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>2.5. Exception and Context related structures — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>2.5. Exception and Context related structures — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="token.html" title="2.4. Token"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" accesskey="U"><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.5. </span>Exception and Context related structures</a></li>
|
||||
</ul>
|
||||
@@ -669,7 +669,7 @@ Most of the structures are the Windows structure with a prefix <code class="docu
|
||||
<li class="right" >
|
||||
<a href="token.html" title="2.4. Token"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" ><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.5. </span>Exception and Context related structures</a></li>
|
||||
</ul>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>14. windows.generated_def – generated Windows defines and structures — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>14. windows.generated_def – generated Windows defines and structures — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="rpc.html" title="13. windows.rpc – ALPC-based Windows RPC"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">14. </span><code class="docutils literal notranslate"><span class="pre">windows.generated_def</span></code> – generated Windows defines and structures</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -185,7 +185,7 @@
|
||||
<li class="right" >
|
||||
<a href="rpc.html" title="13. windows.rpc – ALPC-based Windows RPC"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">14. </span><code class="docutils literal notranslate"><span class="pre">windows.generated_def</span></code> – generated Windows defines and structures</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+1075
-135
File diff suppressed because it is too large
Load Diff
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>2.11. Handle – Processes handles — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>2.11. Handle – Processes handles — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="wmi.html" title="2.10. WMI – Make request to WMI"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" accesskey="U"><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.11. </span>Handle – Processes handles</a></li>
|
||||
</ul>
|
||||
@@ -179,7 +179,7 @@
|
||||
<li class="right" >
|
||||
<a href="wmi.html" title="2.10. WMI – Make request to WMI"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" ><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.11. </span>Handle – Processes handles</a></li>
|
||||
</ul>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>15. IAT hooking — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>15. IAT hooking — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="interfaces_generated.html" title="14.7. Interfaces"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">15. </span>IAT hooking</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -247,7 +247,7 @@
|
||||
<li class="right" >
|
||||
<a href="interfaces_generated.html" title="14.7. Interfaces"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">15. </span>IAT hooking</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>Welcome to PythonForWindows’s documentation! — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>Welcome to PythonForWindows’s documentation! — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
<li class="right" >
|
||||
<a href="windows.html" title="1. The windows module"
|
||||
accesskey="N">next</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="#">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="#">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">Welcome to PythonForWindows’s documentation!</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -310,7 +310,7 @@ Encoding errors at print time might be awkward for unicode string on python2, se
|
||||
<li class="right" >
|
||||
<a href="windows.html" title="1. The windows module"
|
||||
>next</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="#">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="#">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">Welcome to PythonForWindows’s documentation!</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>14.7. Interfaces — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>14.7. Interfaces — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="winerror_generated.html" title="14.6. WinError"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="generated.html" accesskey="U"><span class="section-number">14. </span><code class="docutils literal notranslate"><span class="pre">windows.generated_def</span></code> – generated Windows defines and structures</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">14.7. </span>Interfaces</a></li>
|
||||
</ul>
|
||||
@@ -9499,7 +9499,7 @@
|
||||
<li class="right" >
|
||||
<a href="winerror_generated.html" title="14.6. WinError"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="generated.html" ><span class="section-number">14. </span><code class="docutils literal notranslate"><span class="pre">windows.generated_def</span></code> – generated Windows defines and structures</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">14.7. </span>Interfaces</a></li>
|
||||
</ul>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>17. Internals — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>17. Internals — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="wip.html" title="16. Early Work In Progress"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">17. </span>Internals</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -277,7 +277,7 @@ With these information we are able to know</p>
|
||||
<li class="right" >
|
||||
<a href="wip.html" title="16. Early Work In Progress"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">17. </span>Internals</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>3. windows.native_exec – Native Code Execution — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>3. windows.native_exec – Native Code Execution — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="etw.html" title="2.17. ETW – Event Tracing for Windows"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">3. </span><code class="docutils literal notranslate"><span class="pre">windows.native_exec</span></code> – Native Code Execution</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -558,7 +558,7 @@ the end of your <code class="xref py py-class docutils literal notranslate"><spa
|
||||
<li class="right" >
|
||||
<a href="etw.html" title="2.17. ETW – Event Tracing for Windows"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">3. </span><code class="docutils literal notranslate"><span class="pre">windows.native_exec</span></code> – Native Code Execution</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>2.7. Network — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>2.7. Network — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="registry.html" title="2.6. Registry"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" accesskey="U"><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.7. </span>Network</a></li>
|
||||
</ul>
|
||||
@@ -597,7 +597,7 @@ Equals <code class="docutils literal notranslate"><span class="pre">remote_port<
|
||||
<li class="right" >
|
||||
<a href="registry.html" title="2.6. Registry"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" ><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.7. </span>Network</a></li>
|
||||
</ul>
|
||||
|
||||
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>14.2. Ntstatus — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>14.2. Ntstatus — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="windef_generated.html" title="14.1. WinDef"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="generated.html" accesskey="U"><span class="section-number">14. </span><code class="docutils literal notranslate"><span class="pre">windows.generated_def</span></code> – generated Windows defines and structures</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">14.2. </span>Ntstatus</a></li>
|
||||
</ul>
|
||||
@@ -10875,7 +10875,7 @@
|
||||
<li class="right" >
|
||||
<a href="windef_generated.html" title="14.1. WinDef"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="generated.html" ><span class="section-number">14. </span><code class="docutils literal notranslate"><span class="pre">windows.generated_def</span></code> – generated Windows defines and structures</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">14.2. </span>Ntstatus</a></li>
|
||||
</ul>
|
||||
|
||||
Vendored
+5
-5
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>2.13. Object Manager – Kernel objects — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>2.13. Object Manager – Kernel objects — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="system_module.html" title="2.12. System Module – Loaded kernel modules"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" accesskey="U"><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.13. </span>Object Manager – Kernel objects</a></li>
|
||||
</ul>
|
||||
@@ -101,7 +101,7 @@
|
||||
<span class="go"><KernelObject "\Windows" (type="Directory")></span>
|
||||
<span class="gp">>>> </span><span class="n">obj</span><span class="p">[</span><span class="s2">"WindowStations"</span><span class="p">][</span><span class="s2">"WinSta0"</span><span class="p">]</span>
|
||||
<span class="go"><KernelObject "\Windows\WindowStations" (type="Directory")></span>
|
||||
<span class="gp">>>> </span><span class="n">obj</span><span class="p">[</span><span class="s2">"WindowStations\WinSta0"</span><span class="p">]</span>
|
||||
<span class="gp">>>> </span><span class="n">obj</span><span class="p">[</span><span class="sa">r</span><span class="s2">"WindowStations</span><span class="se">\\</span><span class="s2">WinSta0"</span><span class="p">]</span>
|
||||
<span class="go"><KernelObject "\Windows\WindowStations" (type="Directory")></span>
|
||||
</pre></div>
|
||||
</div>
|
||||
@@ -293,7 +293,7 @@ code <a class="reference internal" href="ntstatus_generated.html#windows.generat
|
||||
<li class="right" >
|
||||
<a href="system_module.html" title="2.12. System Module – Loaded kernel modules"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" ><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.13. </span>Object Manager – Kernel objects</a></li>
|
||||
</ul>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>6. windows.pipe – Inter-Process Communication — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>6. windows.pipe – Inter-Process Communication — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="security.html" title="5. windows.security – Security Descriptor & related"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">6. </span><code class="docutils literal notranslate"><span class="pre">windows.pipe</span></code> – Inter-Process Communication</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -247,7 +247,7 @@
|
||||
<li class="right" >
|
||||
<a href="security.html" title="5. windows.security – Security Descriptor & related"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">6. </span><code class="docutils literal notranslate"><span class="pre">windows.pipe</span></code> – Inter-Process Communication</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+34
-9
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>2.1. Processes and Threads — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>2.1. Processes and Threads — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="winobject.html" title="2. The windows objects"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" accesskey="U"><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.1. </span>Processes and Threads</a></li>
|
||||
</ul>
|
||||
@@ -189,6 +189,17 @@
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py property">
|
||||
<dt class="sig sig-object py" id="windows.winobject.process.CurrentProcess.name">
|
||||
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">name</span></span><a class="headerlink" href="#windows.winobject.process.CurrentProcess.name" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Name of the process</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Type<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="windows.winobject.process.CurrentProcess.open_token">
|
||||
<span class="sig-name descname"><span class="pre">open_token</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">flags</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">MAXIMUM_ALLOWED(0x2000000)</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.winobject.process.CurrentProcess.open_token" title="Link to this definition">¶</a></dt>
|
||||
@@ -346,7 +357,7 @@
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="windows.winobject.process.CurrentProcess.virtual_alloc">
|
||||
<span class="sig-name descname"><span class="pre">virtual_alloc</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prot</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">PAGE_EXECUTE_READWRITE(0x40)</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/winobject/process.html#CurrentProcess.virtual_alloc"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.winobject.process.CurrentProcess.virtual_alloc" title="Link to this definition">¶</a></dt>
|
||||
<span class="sig-name descname"><span class="pre">virtual_alloc</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prot</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">PAGE_EXECUTE_READWRITE(0x40)</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">addr</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">type</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">MEM_COMMIT(0x1000)</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/winobject/process.html#CurrentProcess.virtual_alloc"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.winobject.process.CurrentProcess.virtual_alloc" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Allocate memory in the process</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Returns<span class="colon">:</span></dt>
|
||||
@@ -583,7 +594,7 @@ raises an exception if the remote thread raised one</p>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>This method is incompatible with Microsoft Store builds of python, as the interpreter DLLs do not grant execute to Users.
|
||||
See workaround: <a class="reference external" href="https://github.com/hakril/PythonForWindows/tree/master/samples/process/msstore_interpreter_remote_python.py">https://github.com/hakril/PythonForWindows/tree/master/samples/process/msstore_interpreter_remote_python.py</a></p>
|
||||
See workaround: <a class="reference external" href="https://hakril.github.io/PythonForWindows/build/html/sample.html#microsoft-store-python-injection">https://hakril.github.io/PythonForWindows/build/html/sample.html#microsoft-store-python-injection</a></p>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
@@ -604,7 +615,7 @@ See workaround: <a class="reference external" href="https://github.com/hakril/P
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>This method is incompatible with Microsoft Store builds of python, as the interpreter DLLs do not grant execute to Users.
|
||||
See workaround: <a class="reference external" href="https://github.com/hakril/PythonForWindows/tree/master/samples/process/msstore_interpreter_remote_python.py">https://github.com/hakril/PythonForWindows/tree/master/samples/process/msstore_interpreter_remote_python.py</a></p>
|
||||
See workaround: <a class="reference external" href="https://hakril.github.io/PythonForWindows/build/html/sample.html#microsoft-store-python-injection">https://hakril.github.io/PythonForWindows/build/html/sample.html#microsoft-store-python-injection</a></p>
|
||||
</div>
|
||||
</dd></dl>
|
||||
|
||||
@@ -731,7 +742,7 @@ See workaround: <a class="reference external" href="https://github.com/hakril/P
|
||||
<dl class="py property">
|
||||
<dt class="sig sig-object py" id="windows.winobject.process.WinProcess.peb_addr">
|
||||
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">peb_addr</span></span><a class="headerlink" href="#windows.winobject.process.WinProcess.peb_addr" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>The address of the PEB</p>
|
||||
<dd><p>The address of the PEB.</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Type<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></p>
|
||||
@@ -885,7 +896,7 @@ See workaround: <a class="reference external" href="https://github.com/hakril/P
|
||||
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="windows.winobject.process.WinProcess.virtual_alloc">
|
||||
<span class="sig-name descname"><span class="pre">virtual_alloc</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prot</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">PAGE_EXECUTE_READWRITE(0x40)</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">addr</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/winobject/process.html#WinProcess.virtual_alloc"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.winobject.process.WinProcess.virtual_alloc" title="Link to this definition">¶</a></dt>
|
||||
<span class="sig-name descname"><span class="pre">virtual_alloc</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">size</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prot</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">PAGE_EXECUTE_READWRITE(0x40)</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">addr</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">type</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">MEM_COMMIT(0x1000)</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/winobject/process.html#WinProcess.virtual_alloc"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.winobject.process.WinProcess.virtual_alloc" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Allocate memory in the process</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Returns<span class="colon">:</span></dt>
|
||||
@@ -1452,6 +1463,18 @@ The behavior should match the non-exported function <code class="docutils litera
|
||||
<dt class="sig sig-object py" id="windows.pe_parse.PEFile">
|
||||
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">windows.pe_parse.</span></span><span class="sig-name descname"><span class="pre">PEFile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">target</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">baseaddr</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">targetedbitness</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">transformers</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/pe_parse.html#PEFile"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.pe_parse.PEFile" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Represent a PE loaded in a process (current or remote)</p>
|
||||
<dl class="py property">
|
||||
<dt class="sig sig-object py" id="windows.pe_parse.PEFile.binid">
|
||||
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">binid</span></span><a class="headerlink" href="#windows.pe_parse.PEFile.binid" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>Return the hex-string {TimeStamp}{SizeOfCode} used by PDB to identify a PE.</p>
|
||||
<p>I do not know the official name of this value…</p>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Type<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py property">
|
||||
<dt class="sig sig-object py" id="windows.pe_parse.PEFile.export_name">
|
||||
<em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">export_name</span></span><a class="headerlink" href="#windows.pe_parse.PEFile.export_name" title="Link to this definition">¶</a></dt>
|
||||
@@ -1590,6 +1613,7 @@ You MUST keep a reference to the hook while the hook is enabled.</p>
|
||||
<li><a class="reference internal" href="#windows.winobject.process.CurrentProcess.is_wow_64"><code class="docutils literal notranslate"><span class="pre">is_wow_64</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.winobject.process.CurrentProcess.load_library"><code class="docutils literal notranslate"><span class="pre">load_library()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.winobject.process.CurrentProcess.memory_state"><code class="docutils literal notranslate"><span class="pre">memory_state()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.winobject.process.CurrentProcess.name"><code class="docutils literal notranslate"><span class="pre">name</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.winobject.process.CurrentProcess.open_token"><code class="docutils literal notranslate"><span class="pre">open_token()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.winobject.process.CurrentProcess.peb"><code class="docutils literal notranslate"><span class="pre">peb</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.winobject.process.CurrentProcess.peb_syswow"><code class="docutils literal notranslate"><span class="pre">peb_syswow</span></code></a></li>
|
||||
@@ -1774,6 +1798,7 @@ You MUST keep a reference to the hook while the hook is enabled.</p>
|
||||
<li><a class="reference internal" href="#windows.pe_parse.GetPEFile"><code class="docutils literal notranslate"><span class="pre">GetPEFile()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#pefile">2.3.1.1. PEFile</a><ul>
|
||||
<li><a class="reference internal" href="#windows.pe_parse.PEFile"><code class="docutils literal notranslate"><span class="pre">PEFile</span></code></a><ul>
|
||||
<li><a class="reference internal" href="#windows.pe_parse.PEFile.binid"><code class="docutils literal notranslate"><span class="pre">binid</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.pe_parse.PEFile.export_name"><code class="docutils literal notranslate"><span class="pre">export_name</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.pe_parse.PEFile.exports"><code class="docutils literal notranslate"><span class="pre">exports</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.pe_parse.PEFile.imports"><code class="docutils literal notranslate"><span class="pre">imports</span></code></a></li>
|
||||
@@ -1846,7 +1871,7 @@ You MUST keep a reference to the hook while the hook is enabled.</p>
|
||||
<li class="right" >
|
||||
<a href="winobject.html" title="2. The windows objects"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" ><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.1. </span>Processes and Threads</a></li>
|
||||
</ul>
|
||||
|
||||
Vendored
+4
-4
@@ -4,12 +4,12 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Python Module Index — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>Python Module Index — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
<li class="right" >
|
||||
<a href="#" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">Python Module Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -297,7 +297,7 @@
|
||||
<li class="right" >
|
||||
<a href="#" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">Python Module Index</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>2.6. Registry — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>2.6. Registry — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="exception.html" title="2.5. Exception and Context related structures"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" accesskey="U"><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.6. </span>Registry</a></li>
|
||||
</ul>
|
||||
@@ -333,7 +333,7 @@
|
||||
<li class="right" >
|
||||
<a href="exception.html" title="2.5. Exception and Context related structures"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" ><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.6. </span>Registry</a></li>
|
||||
</ul>
|
||||
|
||||
Vendored
+5
-5
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>13. windows.rpc – ALPC-based Windows RPC — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>13. windows.rpc – ALPC-based Windows RPC — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="alpc.html" title="12. windows.alpc – Advanced Local Procedure Call"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">13. </span><code class="docutils literal notranslate"><span class="pre">windows.rpc</span></code> – ALPC-based Windows RPC</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -447,7 +447,7 @@ an attribute <code class="docutils literal notranslate"><span class="pre">MEMBER
|
||||
<h3><span class="section-number">13.3.1. </span>NDR STREAM<a class="headerlink" href="#ndr-stream" title="Link to this heading">¶</a></h3>
|
||||
<dl class="py class">
|
||||
<dt class="sig sig-object py" id="windows.rpc.ndr.NdrStream">
|
||||
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">windows.rpc.ndr.</span></span><span class="sig-name descname"><span class="pre">NdrStream</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/rpc/ndr.html#NdrStream"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.rpc.ndr.NdrStream" title="Link to this definition">¶</a></dt>
|
||||
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">windows.rpc.ndr.</span></span><span class="sig-name descname"><span class="pre">NdrStream</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">use_memoryview</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/rpc/ndr.html#NdrStream"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.rpc.ndr.NdrStream" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>A stream of bytes used for NDR unpacking</p>
|
||||
<dl class="py method">
|
||||
<dt class="sig sig-object py" id="windows.rpc.ndr.NdrStream.align">
|
||||
@@ -607,7 +607,7 @@ an attribute <code class="docutils literal notranslate"><span class="pre">MEMBER
|
||||
<li class="right" >
|
||||
<a href="alpc.html" title="12. windows.alpc – Advanced Local Procedure Call"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">13. </span><code class="docutils literal notranslate"><span class="pre">windows.rpc</span></code> – ALPC-based Windows RPC</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+179
-5
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>18. Samples of code — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>18. Samples of code — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="internals.html" title="17. Internals"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">18. </span>Samples of code</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -473,9 +473,182 @@ Sections: [<PESection ".text">, <PESection ".rdata"
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="microsoft-store-python-injection">
|
||||
<span id="token-sample"></span><h3><span class="section-number">18.1.6. </span>Microsoft Store Python Injection<a class="headerlink" href="#microsoft-store-python-injection" title="Link to this heading">¶</a></h3>
|
||||
<p>Python execution in remote process fails with Microsoft Store builds of pythons (<cite>mspython</cite>), as the interpreter DLLs do not grant execute to Users.
|
||||
This sample shows a workaround by user <a class="reference external" href="https://github.com/dariushoule">https://github.com/dariushoule</a> by copying needed mspython files to a temporary directory and injecting those instead.</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># Some python interpreters run in environments with restrictive ACLs (no Users/* execute) on bundled DLLs.</span>
|
||||
<span class="c1"># The Microsoft Store version of python is the prime example of this.</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># Remote execution of python is still possible by creating a minimal set of the dependencies outside of the restricted directory.</span>
|
||||
<span class="c1">#</span>
|
||||
<span class="c1"># This can be very helpful when operating PFW in environments with restrive GPOs / AppLocker.</span>
|
||||
|
||||
|
||||
<span class="kn">import</span> <span class="nn">ctypes</span>
|
||||
<span class="kn">import</span> <span class="nn">glob</span>
|
||||
<span class="kn">import</span> <span class="nn">os</span>
|
||||
<span class="kn">import</span> <span class="nn">shutil</span>
|
||||
<span class="kn">import</span> <span class="nn">tempfile</span>
|
||||
<span class="kn">import</span> <span class="nn">time</span>
|
||||
<span class="kn">import</span> <span class="nn">sys</span>
|
||||
<span class="kn">import</span> <span class="nn">struct</span>
|
||||
|
||||
<span class="kn">import</span> <span class="nn">windows</span>
|
||||
<span class="kn">from</span> <span class="nn">windows.generated_def.ntstatus</span> <span class="kn">import</span> <span class="n">STATUS_THREAD_IS_TERMINATING</span>
|
||||
<span class="kn">from</span> <span class="nn">windows.generated_def.windef</span> <span class="kn">import</span> <span class="n">CREATE_SUSPENDED</span>
|
||||
<span class="kn">from</span> <span class="nn">windows.generated_def.winstructs</span> <span class="kn">import</span> <span class="n">PROCESS_INFORMATION</span><span class="p">,</span> <span class="n">STARTUPINFOW</span>
|
||||
<span class="kn">from</span> <span class="nn">windows.injection</span> <span class="kn">import</span> <span class="n">RemotePythonError</span><span class="p">,</span> \
|
||||
<span class="n">find_python_dll_to_inject</span><span class="p">,</span> <span class="n">get_dll_name_from_python_version</span><span class="p">,</span> <span class="n">inject_python_command</span><span class="p">,</span> <span class="n">load_dll_in_remote_process</span><span class="p">,</span> <span class="n">retrieve_exc</span>
|
||||
|
||||
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s2">"Executable is: </span><span class="si">{0}</span><span class="s2">"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">executable</span><span class="p">))</span>
|
||||
|
||||
<span class="n">CACHE_DIR</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">tempfile</span><span class="o">.</span><span class="n">gettempdir</span><span class="p">(),</span> <span class="s1">'pfw_dllcache'</span><span class="p">)</span>
|
||||
<span class="n">INTERPRETER_DIR</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">dirname</span><span class="p">(</span><span class="n">find_python_dll_to_inject</span><span class="p">(</span><span class="mi">64</span><span class="p">))</span> <span class="c1"># Tailor bitness to your needs</span>
|
||||
|
||||
|
||||
<span class="k">def</span> <span class="nf">mspython_acl_workaround</span><span class="p">(</span><span class="n">target</span><span class="p">,</span> <span class="n">pydll_path</span><span class="p">):</span>
|
||||
<span class="w"> </span><span class="sd">"""</span>
|
||||
<span class="sd"> Works around mspython ACL restrictions on mspython interpreters</span>
|
||||
<span class="sd"> by copying the critical DLLs to a TEMP dir and orienting the interpreter</span>
|
||||
<span class="sd"> against that TEMP dir.</span>
|
||||
<span class="sd"> """</span>
|
||||
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">CACHE_DIR</span><span class="p">):</span>
|
||||
<span class="n">os</span><span class="o">.</span><span class="n">mkdir</span><span class="p">(</span><span class="n">CACHE_DIR</span><span class="p">)</span>
|
||||
|
||||
<span class="k">for</span> <span class="n">dll</span> <span class="ow">in</span> <span class="p">[</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">INTERPRETER_DIR</span><span class="p">,</span> <span class="s1">'vcruntime140.dll'</span><span class="p">),</span> <span class="n">pydll_path</span><span class="p">]:</span>
|
||||
<span class="n">cache_dll_path</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">CACHE_DIR</span><span class="p">,</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">dll</span><span class="p">))</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="c1"># Creates a copy of the DLL without bringing over restrictive ACLs</span>
|
||||
<span class="n">shutil</span><span class="o">.</span><span class="n">copyfile</span><span class="p">(</span><span class="n">dll</span><span class="p">,</span> <span class="n">cache_dll_path</span><span class="p">)</span>
|
||||
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
||||
<span class="c1"># If its not writeable good chance these DLLs are just already loaded somewhere</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># Preloading python DLL and vcruntime so they don't get loaded from the path tree with restrictive ACLs</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s2">"Injecting: </span><span class="si">{0}</span><span class="s2">"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">cache_dll_path</span><span class="p">))</span>
|
||||
<span class="n">load_dll_in_remote_process</span><span class="p">(</span><span class="n">target</span><span class="p">,</span> <span class="n">cache_dll_path</span><span class="p">)</span>
|
||||
|
||||
<span class="k">for</span> <span class="n">dll</span> <span class="ow">in</span> <span class="n">glob</span><span class="o">.</span><span class="n">glob</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">INTERPRETER_DIR</span><span class="p">,</span> <span class="s1">'dlls'</span><span class="p">,</span> <span class="s1">'*'</span><span class="p">)):</span>
|
||||
<span class="n">cache_dll_path</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">CACHE_DIR</span><span class="p">,</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">dll</span><span class="p">))</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="c1"># Dynamic lib DLLs with restrictive ACLs copied to unrestricted parent</span>
|
||||
<span class="n">shutil</span><span class="o">.</span><span class="n">copyfile</span><span class="p">(</span><span class="n">dll</span><span class="p">,</span> <span class="n">cache_dll_path</span><span class="p">)</span>
|
||||
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="n">e</span><span class="p">)</span>
|
||||
|
||||
<span class="n">target</span><span class="o">.</span><span class="n">_workaround_applied</span> <span class="o">=</span> <span class="kc">True</span>
|
||||
|
||||
|
||||
<span class="c1"># Adapted from windows\winobject\process.py</span>
|
||||
<span class="k">def</span> <span class="nf">execute_python_code</span><span class="p">(</span><span class="n">process</span><span class="p">,</span> <span class="n">code</span><span class="p">):</span>
|
||||
<span class="n">py_dll_name</span> <span class="o">=</span> <span class="n">get_dll_name_from_python_version</span><span class="p">()</span>
|
||||
<span class="n">pydll_path</span> <span class="o">=</span> <span class="n">find_python_dll_to_inject</span><span class="p">(</span><span class="n">process</span><span class="o">.</span><span class="n">bitness</span><span class="p">)</span>
|
||||
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="nb">getattr</span><span class="p">(</span><span class="n">process</span><span class="p">,</span> <span class="s2">"_workaround_applied"</span><span class="p">,</span> <span class="kc">None</span><span class="p">):</span>
|
||||
<span class="n">mspython_acl_workaround</span><span class="p">(</span><span class="n">process</span><span class="p">,</span> <span class="n">pydll_path</span><span class="p">)</span>
|
||||
<span class="n">shellcode</span><span class="p">,</span> <span class="n">pythoncode</span> <span class="o">=</span> <span class="n">inject_python_command</span><span class="p">(</span><span class="n">process</span><span class="p">,</span> <span class="n">code</span><span class="p">,</span> <span class="n">py_dll_name</span><span class="p">)</span>
|
||||
<span class="n">t</span> <span class="o">=</span> <span class="n">process</span><span class="o">.</span><span class="n">create_thread</span><span class="p">(</span><span class="n">shellcode</span><span class="p">,</span> <span class="n">pythoncode</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">t</span>
|
||||
|
||||
|
||||
<span class="k">def</span> <span class="nf">safe_execute_python</span><span class="p">(</span><span class="n">process</span><span class="p">,</span> <span class="n">code</span><span class="p">):</span>
|
||||
<span class="n">t</span> <span class="o">=</span> <span class="n">execute_python_code</span><span class="p">(</span><span class="n">process</span><span class="p">,</span> <span class="n">code</span><span class="p">)</span>
|
||||
<span class="n">t</span><span class="o">.</span><span class="n">wait</span><span class="p">()</span> <span class="c1"># Wait termination of the thread</span>
|
||||
<span class="k">if</span> <span class="n">t</span><span class="o">.</span><span class="n">exit_code</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
|
||||
<span class="k">return</span> <span class="kc">True</span>
|
||||
<span class="k">if</span> <span class="n">t</span><span class="o">.</span><span class="n">exit_code</span> <span class="o">==</span> <span class="n">STATUS_THREAD_IS_TERMINATING</span> <span class="ow">or</span> <span class="n">process</span><span class="o">.</span><span class="n">is_exit</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">WindowsError</span><span class="p">(</span><span class="s2">"</span><span class="si">{0}</span><span class="s2"> died during execution of python command"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">process</span><span class="p">))</span>
|
||||
<span class="k">if</span> <span class="n">t</span><span class="o">.</span><span class="n">exit_code</span> <span class="o">!=</span> <span class="mh">0xffffffff</span><span class="p">:</span>
|
||||
<span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"Unknown exit code </span><span class="si">{0}</span><span class="s2">"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">hex</span><span class="p">(</span><span class="n">t</span><span class="o">.</span><span class="n">exit_code</span><span class="p">)))</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="n">retrieve_last_exception_data</span><span class="p">(</span><span class="n">process</span><span class="p">)</span>
|
||||
<span class="k">raise</span> <span class="n">RemotePythonError</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
|
||||
|
||||
<span class="c1"># Adapted from windows\injection.py</span>
|
||||
<span class="k">def</span> <span class="nf">retrieve_last_exception_data</span><span class="p">(</span><span class="n">process</span><span class="p">):</span>
|
||||
<span class="k">with</span> <span class="n">process</span><span class="o">.</span><span class="n">allocated_memory</span><span class="p">(</span><span class="mh">0x1000</span><span class="p">)</span> <span class="k">as</span> <span class="n">mem</span><span class="p">:</span>
|
||||
<span class="n">execute_python_code</span><span class="p">(</span><span class="n">process</span><span class="p">,</span> <span class="n">retrieve_exc</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">mem</span><span class="p">))</span><span class="o">.</span><span class="n">wait</span><span class="p">()</span>
|
||||
<span class="n">size</span> <span class="o">=</span> <span class="n">struct</span><span class="o">.</span><span class="n">unpack</span><span class="p">(</span><span class="s2">"<I"</span><span class="p">,</span> <span class="n">process</span><span class="o">.</span><span class="n">read_memory</span><span class="p">(</span><span class="n">mem</span><span class="p">,</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">sizeof</span><span class="p">(</span><span class="n">ctypes</span><span class="o">.</span><span class="n">c_uint</span><span class="p">)))[</span><span class="mi">0</span><span class="p">]</span>
|
||||
<span class="n">data</span> <span class="o">=</span> <span class="n">process</span><span class="o">.</span><span class="n">read_memory</span><span class="p">(</span><span class="n">mem</span> <span class="o">+</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">sizeof</span><span class="p">(</span><span class="n">ctypes</span><span class="o">.</span><span class="n">c_uint</span><span class="p">),</span> <span class="n">size</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="n">data</span>
|
||||
|
||||
<span class="c1"># First: show what happen when injecting mspython normally</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s2">"Trying normal execute_python()"</span><span class="p">)</span>
|
||||
<span class="n">proc1</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">utils</span><span class="o">.</span><span class="n">create_process</span><span class="p">(</span><span class="sa">r</span><span class="s2">"C:\Windows\system32\winver.exe"</span><span class="p">)</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="n">proc1</span><span class="o">.</span><span class="n">execute_python</span><span class="p">(</span><span class="s2">"2 + 2 == 5"</span><span class="p">)</span>
|
||||
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s2">" Exception during proc1.execute_python():"</span><span class="p">)</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s2">" </span><span class="si">{0}</span><span class="s2">"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">repr</span><span class="p">(</span><span class="n">e</span><span class="p">)))</span>
|
||||
<span class="n">proc1</span><span class="o">.</span><span class="n">exit</span><span class="p">()</span>
|
||||
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s2">"Trying mspython workaround:"</span><span class="p">)</span>
|
||||
<span class="n">proc_info</span> <span class="o">=</span> <span class="n">PROCESS_INFORMATION</span><span class="p">()</span>
|
||||
<span class="n">StartupInfo</span> <span class="o">=</span> <span class="n">STARTUPINFOW</span><span class="p">()</span>
|
||||
<span class="n">StartupInfo</span><span class="o">.</span><span class="n">cb</span> <span class="o">=</span> <span class="n">ctypes</span><span class="o">.</span><span class="n">sizeof</span><span class="p">(</span><span class="n">StartupInfo</span><span class="p">)</span>
|
||||
<span class="n">windows</span><span class="o">.</span><span class="n">winproxy</span><span class="o">.</span><span class="n">CreateProcessW</span><span class="p">(</span>
|
||||
<span class="sa">r</span><span class="s2">"C:\Windows\system32\winver.exe"</span><span class="p">,</span>
|
||||
<span class="n">dwCreationFlags</span><span class="o">=</span><span class="n">CREATE_SUSPENDED</span><span class="p">,</span>
|
||||
<span class="c1"># Point PYTHONHOME to the interpreter dir so non-DLL libs can load</span>
|
||||
<span class="c1"># Point PYTHONPATH to the newly created cache directory so DLL libs are loaded from there</span>
|
||||
<span class="n">lpEnvironment</span><span class="o">=</span><span class="p">(</span><span class="s1">'</span><span class="se">\0</span><span class="s1">'</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="s1">'</span><span class="si">{}</span><span class="s1">=</span><span class="si">{}</span><span class="s1">'</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">e</span><span class="p">,</span> <span class="n">v</span><span class="p">)</span> <span class="k">for</span> <span class="n">e</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">items</span><span class="p">())</span> <span class="o">+</span> \
|
||||
<span class="s1">'</span><span class="se">\0</span><span class="s1">PYTHONHOME=</span><span class="si">{}</span><span class="se">\0</span><span class="s1">PYTHONPATH=</span><span class="si">{}</span><span class="se">\0\0</span><span class="s1">'</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">INTERPRETER_DIR</span><span class="p">,</span> <span class="n">CACHE_DIR</span><span class="p">))</span><span class="o">.</span><span class="n">encode</span><span class="p">(),</span>
|
||||
<span class="n">lpProcessInformation</span><span class="o">=</span><span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">proc_info</span><span class="p">),</span>
|
||||
<span class="n">lpStartupInfo</span><span class="o">=</span><span class="n">ctypes</span><span class="o">.</span><span class="n">byref</span><span class="p">(</span><span class="n">StartupInfo</span><span class="p">))</span>
|
||||
|
||||
<span class="n">process</span> <span class="o">=</span> <span class="n">windows</span><span class="o">.</span><span class="n">winobject</span><span class="o">.</span><span class="n">process</span><span class="o">.</span><span class="n">WinProcess</span><span class="p">(</span><span class="n">pid</span><span class="o">=</span><span class="n">proc_info</span><span class="o">.</span><span class="n">dwProcessId</span><span class="p">,</span> <span class="n">handle</span><span class="o">=</span><span class="n">proc_info</span><span class="o">.</span><span class="n">hProcess</span><span class="p">)</span>
|
||||
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s2">" Executing python code!"</span><span class="p">)</span>
|
||||
<span class="n">safe_execute_python</span><span class="p">(</span><span class="n">process</span><span class="p">,</span> <span class="s2">"""</span>
|
||||
<span class="s2">import windows</span>
|
||||
<span class="s2">windows.utils.create_console()</span>
|
||||
<span class="s2">print('hello from inside the suspended process!', flush=True)</span>
|
||||
<span class="s2">"""</span><span class="p">)</span>
|
||||
|
||||
<span class="n">process</span><span class="o">.</span><span class="n">threads</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">resume</span><span class="p">()</span>
|
||||
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s2">" Executing more python code!"</span><span class="p">)</span>
|
||||
<span class="n">safe_execute_python</span><span class="p">(</span><span class="n">process</span><span class="p">,</span> <span class="s2">"""</span>
|
||||
<span class="s2">print('hello from inside the resumed process!', flush=True)</span>
|
||||
<span class="s2">"""</span><span class="p">)</span>
|
||||
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s2">" Executing an error python code!"</span><span class="p">)</span>
|
||||
<span class="k">try</span><span class="p">:</span>
|
||||
<span class="n">safe_execute_python</span><span class="p">(</span><span class="n">process</span><span class="p">,</span> <span class="s2">"""BAD_VARIABLE"""</span><span class="p">)</span>
|
||||
<span class="k">except</span> <span class="n">RemotePythonError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s2">" Expected error during safe_execute_python"</span><span class="p">)</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s2">" </span><span class="si">{0}</span><span class="s2">"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
|
||||
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s2">" Sleeping a little"</span><span class="p">)</span>
|
||||
<span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="s2">" Killing target process !"</span><span class="p">)</span>
|
||||
<span class="n">process</span><span class="o">.</span><span class="n">exit</span><span class="p">()</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Output</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>PS C:\Users\hakril\PythonForWindows> py .\samples\process\msstore_interpreter_remote_python.py
|
||||
Executable is: C:\Users\hakril\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\python.exe
|
||||
Trying normal execute_python()
|
||||
Exception during proc1.execute_python():
|
||||
InjectionFailedError('Injection of <c:\\program files\\windowsapps\\pythonsoftwarefoundation.python.3.13_3.13.496.0_x64__qbz5n2kfra8p0\\vcruntime140.dll> failed')
|
||||
Trying mspython workaround:
|
||||
Executing python code!
|
||||
Injecting: C:\Users\hakril\AppData\Local\Temp\pfw_dllcache\vcruntime140.dll
|
||||
Injecting: C:\Users\hakril\AppData\Local\Temp\pfw_dllcache\python313.dll
|
||||
Executing more python code!
|
||||
Executing an error python code!
|
||||
Expected error during safe_execute_python
|
||||
b'Traceback (most recent call last):\n File "<string>", line 1, in <module>\nNameError: name \'BAD_VARIABLE\' is not defined\n'
|
||||
Sleeping a little
|
||||
Killing target process !
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
<section id="token">
|
||||
<span id="token-sample"></span><h2><span class="section-number">18.2. </span>Token<a class="headerlink" href="#token" title="Link to this heading">¶</a></h2>
|
||||
<h2><span class="section-number">18.2. </span>Token<a class="headerlink" href="#token" title="Link to this heading">¶</a></h2>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">windows</span>
|
||||
<span class="kn">import</span> <span class="nn">windows.generated_def</span> <span class="k">as</span> <span class="nn">gdef</span>
|
||||
|
||||
@@ -4557,6 +4730,7 @@ BYE
|
||||
<li><a class="reference internal" href="#peb-exploration">18.1.3. <code class="xref py py-class docutils literal notranslate"><span class="pre">PEB</span></code> exploration</a></li>
|
||||
<li><a class="reference internal" href="#apisetmap">18.1.4. ApiSetMap</a></li>
|
||||
<li><a class="reference internal" href="#iat-hooking">18.1.5. IAT hooking</a></li>
|
||||
<li><a class="reference internal" href="#microsoft-store-python-injection">18.1.6. Microsoft Store Python Injection</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a class="reference internal" href="#token">18.2. Token</a></li>
|
||||
@@ -4697,7 +4871,7 @@ BYE
|
||||
<li class="right" >
|
||||
<a href="internals.html" title="17. Internals"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">18. </span>Samples of code</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+4
-4
@@ -4,13 +4,13 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Search — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>Search — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
<li class="right" >
|
||||
<a href="py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">Search</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -89,7 +89,7 @@
|
||||
<li class="right" >
|
||||
<a href="py-modindex.html" title="Python Module Index"
|
||||
>modules</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">Search</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>5. windows.security – Security Descriptor & related — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>5. windows.security – Security Descriptor & related — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="winproxy.html" title="4. windows.winproxy – Windows API"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">5. </span><code class="docutils literal notranslate"><span class="pre">windows.security</span></code> – Security Descriptor & related</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -2014,7 +2014,7 @@ You should not need to instanciate/use them directly.</p>
|
||||
<li class="right" >
|
||||
<a href="winproxy.html" title="4. windows.winproxy – Windows API"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">5. </span><code class="docutils literal notranslate"><span class="pre">windows.security</span></code> – Security Descriptor & related</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>2.8. Service — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>2.8. Service — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="network.html" title="2.7. Network"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" accesskey="U"><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.8. </span>Service</a></li>
|
||||
</ul>
|
||||
@@ -325,7 +325,7 @@
|
||||
<li class="right" >
|
||||
<a href="network.html" title="2.7. Network"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" ><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.8. </span>Service</a></li>
|
||||
</ul>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>2.12. System Module – Loaded kernel modules — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>2.12. System Module – Loaded kernel modules — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="handle.html" title="2.11. Handle – Processes handles"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" accesskey="U"><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.12. </span>System Module – Loaded kernel modules</a></li>
|
||||
</ul>
|
||||
@@ -314,7 +314,7 @@
|
||||
<li class="right" >
|
||||
<a href="handle.html" title="2.11. Handle – Processes handles"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" ><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.12. </span>System Module – Loaded kernel modules</a></li>
|
||||
</ul>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>2.15. Task scheduler — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>2.15. Task scheduler — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="device_manager.html" title="2.14. Device Manager"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" accesskey="U"><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.15. </span>Task scheduler</a></li>
|
||||
</ul>
|
||||
@@ -1171,7 +1171,7 @@ and the security descriptor of the task.</p>
|
||||
<li class="right" >
|
||||
<a href="device_manager.html" title="2.14. Device Manager"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" ><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.15. </span>Task scheduler</a></li>
|
||||
</ul>
|
||||
|
||||
Vendored
+5
-5
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>2.4. Token — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>2.4. Token — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="process.html" title="2.1. Processes and Threads"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" accesskey="U"><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.4. </span>Token</a></li>
|
||||
</ul>
|
||||
@@ -66,7 +66,7 @@ path of <code class="docutils literal notranslate"><span class="pre">token.py</s
|
||||
</div>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>See sample <a class="reference internal" href="sample.html#token-sample"><span class="std std-ref">Token</span></a></p>
|
||||
<p>See sample <a class="reference internal" href="sample.html#token-sample"><span class="std std-ref">Microsoft Store Python Injection</span></a></p>
|
||||
</div>
|
||||
<section id="id1">
|
||||
<h2><span class="section-number">2.4.1. </span>Token<a class="headerlink" href="#id1" title="Link to this heading">¶</a></h2>
|
||||
@@ -1073,7 +1073,7 @@ There can be many tokens representing a single logon session.</p>
|
||||
<li class="right" >
|
||||
<a href="process.html" title="2.1. Processes and Threads"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" ><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.4. </span>Token</a></li>
|
||||
</ul>
|
||||
|
||||
Vendored
+10
-6
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>7. windows.utils – Windows Utilities — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>7. windows.utils – Windows Utilities — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="pipe.html" title="6. windows.pipe – Inter-Process Communication"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">7. </span><code class="docutils literal notranslate"><span class="pre">windows.utils</span></code> – Windows Utilities</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -135,8 +135,12 @@ like <code class="docutils literal notranslate"><span class="pre">VirtualProtect
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.utils.create_process">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.utils.</span></span><span class="sig-name descname"><span class="pre">create_process</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">path</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">args</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dwCreationFlags</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">show_windows</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/utils/winutils.html#create_process"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.utils.create_process" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>A convenient wrapper arround <code class="xref py py-func docutils literal notranslate"><span class="pre">windows.winproxy.CreateProcessW()</span></code></p>
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.utils.</span></span><span class="sig-name descname"><span class="pre">create_process</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">path</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">args</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dwCreationFlags</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">show_windows</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">machine</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/windows/utils/winutils.html#create_process"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#windows.utils.create_process" title="Link to this definition">¶</a></dt>
|
||||
<dd><p>A convenient wrapper arround <code class="xref py py-func docutils literal notranslate"><span class="pre">windows.winproxy.CreateProcessW()</span></code>
|
||||
..note:</p>
|
||||
<blockquote>
|
||||
<div><p>The machine param only works starting at vista and should be used on arm64 computer</p>
|
||||
</div></blockquote>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
@@ -288,7 +292,7 @@ Useful in injection of GUI process</p>
|
||||
<li class="right" >
|
||||
<a href="pipe.html" title="6. windows.pipe – Inter-Process Communication"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">7. </span><code class="docutils literal notranslate"><span class="pre">windows.utils</span></code> – Windows Utilities</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>2.9. Volume – The logical drives — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>2.9. Volume – The logical drives — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="service.html" title="2.8. Service"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" accesskey="U"><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.9. </span>Volume – The logical drives</a></li>
|
||||
</ul>
|
||||
@@ -194,7 +194,7 @@
|
||||
<li class="right" >
|
||||
<a href="service.html" title="2.8. Service"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" ><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.9. </span>Volume – The logical drives</a></li>
|
||||
</ul>
|
||||
|
||||
+1138
-82
File diff suppressed because it is too large
Load Diff
Vendored
+29
-8
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>1. The windows module — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>1. The windows module — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="index.html" title="Welcome to PythonForWindows’s documentation!"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">1. </span>The <code class="docutils literal notranslate"><span class="pre">windows</span></code> module</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -298,8 +298,28 @@ Custom dict built on GetEnvironmentStringsW() on py2</p>
|
||||
<dd><p>The name of the system version, values are:</p>
|
||||
<blockquote>
|
||||
<div><ul class="simple">
|
||||
<li><p>Windows Server 2025</p></li>
|
||||
<li><p>Windows 11 Version 24H2</p></li>
|
||||
<li><p>Windows 11 Version 23H2</p></li>
|
||||
<li><p>Windows 11 Version 22H2</p></li>
|
||||
<li><p>Windows 11 Version 21H2</p></li>
|
||||
<li><p>Windows 10 Version 22H2</p></li>
|
||||
<li><p>Windows 10 Version 21H2</p></li>
|
||||
<li><p>Windows Server 2022</p></li>
|
||||
<li><p>Windows 10 Version 21H1</p></li>
|
||||
<li><p>Windows 10 Version 20H2</p></li>
|
||||
<li><p>Windows 10 Version 2004</p></li>
|
||||
<li><p>Windows 10 Version 1909</p></li>
|
||||
<li><p>Windows 10 Version 1903</p></li>
|
||||
<li><p>Windows Server 2019</p></li>
|
||||
<li><p>Windows 10 Version 1809</p></li>
|
||||
<li><p>Windows 10 Version 1803</p></li>
|
||||
<li><p>Windows 10 Version 1709</p></li>
|
||||
<li><p>Windows 10 Version 1703</p></li>
|
||||
<li><p>Windows 10 Version 1607</p></li>
|
||||
<li><p>Windows 10 Version 1511</p></li>
|
||||
<li><p>Windows 10 Version 1507</p></li>
|
||||
<li><p>Windows Server 2016</p></li>
|
||||
<li><p>Windows 10</p></li>
|
||||
<li><p>Windows Server 2012 R2</p></li>
|
||||
<li><p>Windows 8.1</p></li>
|
||||
<li><p>Windows Server 2012</p></li>
|
||||
@@ -309,17 +329,18 @@ Custom dict built on GetEnvironmentStringsW() on py2</p>
|
||||
<li><p>Windows Server 2008</p></li>
|
||||
<li><p>Windows Vista</p></li>
|
||||
<li><p>Windows XP Professional x64 Edition</p></li>
|
||||
<li><p>TODO: version (5.2) + is_workstation + bitness == 32 (don’t even know if possible..)</p></li>
|
||||
<li><p>Unknown: version (5.2) + is_workstation + bitness == 32 (don’t even know if possible..)</p></li>
|
||||
<li><p>Windows Server 2003 R2</p></li>
|
||||
<li><p>Windows Server 2003</p></li>
|
||||
<li><p>Windows XP</p></li>
|
||||
<li><p>Windows 2000</p></li>
|
||||
<li><p>“Unknow Windows <version={0} | is_workstation={1}>”.format(version, is_workstation)</p></li>
|
||||
<li><p>“Unknown Windows 10+ <versionstr={0} | is_workstation={1}>”.format(self.versionstr, is_workstation)</p></li>
|
||||
<li><p>“Unknown Windows <version={0} | is_workstation={1}>”.format(version, is_workstation)</p></li>
|
||||
</ul>
|
||||
</div></blockquote>
|
||||
<dl class="field-list simple">
|
||||
<dt class="field-odd">Type<span class="colon">:</span></dt>
|
||||
<dd class="field-odd"><p><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></p>
|
||||
<dd class="field-odd"><p><code class="xref py py-class docutils literal notranslate"><span class="pre">unicode</span></code></p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd></dl>
|
||||
@@ -430,7 +451,7 @@ Custom dict built on GetEnvironmentStringsW() on py2</p>
|
||||
<li class="right" >
|
||||
<a href="index.html" title="Welcome to PythonForWindows’s documentation!"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">1. </span>The <code class="docutils literal notranslate"><span class="pre">windows</span></code> module</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>14.6. WinError — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>14.6. WinError — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="winfuncs_generated.html" title="14.5. Functions"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="generated.html" accesskey="U"><span class="section-number">14. </span><code class="docutils literal notranslate"><span class="pre">windows.generated_def</span></code> – generated Windows defines and structures</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">14.6. </span>WinError</a></li>
|
||||
</ul>
|
||||
@@ -41451,7 +41451,7 @@
|
||||
<li class="right" >
|
||||
<a href="winfuncs_generated.html" title="14.5. Functions"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="generated.html" ><span class="section-number">14. </span><code class="docutils literal notranslate"><span class="pre">windows.generated_def</span></code> – generated Windows defines and structures</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">14.6. </span>WinError</a></li>
|
||||
</ul>
|
||||
|
||||
+184
-46
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>14.5. Functions — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>14.5. Functions — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="winstructs_generated.html" title="14.3. Winstructs"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="generated.html" accesskey="U"><span class="section-number">14. </span><code class="docutils literal notranslate"><span class="pre">windows.generated_def</span></code> – generated Windows defines and structures</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">14.5. </span>Functions</a></li>
|
||||
</ul>
|
||||
@@ -857,6 +857,36 @@
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">CertCloseStore</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">hCertStore</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dwFlags</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.CertCloseStore" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.CryptSignAndEncodeCertificate">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">CryptSignAndEncodeCertificate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">hBCryptKey</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dwKeySpec</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dwCertEncodingType</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpszStructType</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pvStructInfo</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pSignatureAlgorithm</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pvHashAuxInfo</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pbEncoded</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pcbEncoded</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.CryptSignAndEncodeCertificate" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.CryptSignCertificate">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">CryptSignCertificate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">hBCryptKey</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dwKeySpec</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dwCertEncodingType</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pbEncodedToBeSigned</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cbEncodedToBeSigned</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pSignatureAlgorithm</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pvHashAuxInfo</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pbSignature</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pcbSignature</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.CryptSignCertificate" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.CryptBinaryToStringA">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">CryptBinaryToStringA</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pbBinary</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cbBinary</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dwFlags</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pszString</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pcchString</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.CryptBinaryToStringA" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.CryptBinaryToStringW">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">CryptBinaryToStringW</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pbBinary</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cbBinary</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dwFlags</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pszString</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pcchString</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.CryptBinaryToStringW" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.CryptStringToBinaryA">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">CryptStringToBinaryA</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pszString</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cchString</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dwFlags</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pbBinary</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pcbBinary</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pdwSkip</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pdwFlags</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.CryptStringToBinaryA" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.CryptStringToBinaryW">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">CryptStringToBinaryW</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pszString</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cchString</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dwFlags</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pbBinary</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pcbBinary</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pdwSkip</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pdwFlags</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.CryptStringToBinaryW" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.OpenVirtualDisk">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">OpenVirtualDisk</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">VirtualStorageType</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Path</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">VirtualDiskAccessMask</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Flags</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Parameters</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Handle</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.OpenVirtualDisk" title="Link to this definition">¶</a></dt>
|
||||
@@ -1522,6 +1552,16 @@
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">UnmapViewOfFile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">lpBaseAddress</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.UnmapViewOfFile" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.NCryptOpenKey">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">NCryptOpenKey</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">hProvider</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">phKey</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pszKeyName</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dwLegacyKeySpec</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dwFlags</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.NCryptOpenKey" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.NCryptOpenStorageProvider">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">NCryptOpenStorageProvider</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">phProvider</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pszProviderName</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dwFlags</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.NCryptOpenStorageProvider" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.NetQueryDisplayInformation">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">NetQueryDisplayInformation</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ServerName</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Level</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Index</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">EntriesRequested</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">PreferredMaximumLength</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ReturnedEntryCount</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">SortedBuffer</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.NetQueryDisplayInformation" title="Link to this definition">¶</a></dt>
|
||||
@@ -1782,6 +1822,21 @@
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">FreeLibrary</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">hLibModule</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.FreeLibrary" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.GetProcessInformation">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">GetProcessInformation</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">hProcess</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ProcessInformationClass</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ProcessInformation</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ProcessInformationSize</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.GetProcessInformation" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.SetProcessInformation">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">SetProcessInformation</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">hProcess</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ProcessInformationClass</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ProcessInformation</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ProcessInformationSize</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.SetProcessInformation" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.RtlGetCurrentPeb">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">RtlGetCurrentPeb</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.RtlGetCurrentPeb" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.RegQueryValueExA">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">RegQueryValueExA</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">hKey</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpValueName</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpReserved</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpType</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpData</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpcbData</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.RegQueryValueExA" title="Link to this definition">¶</a></dt>
|
||||
@@ -3072,6 +3127,96 @@
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">LookupAccountNameW</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">lpSystemName</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpAccountName</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Sid</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cbSid</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ReferencedDomainName</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cchReferencedDomainName</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">peUse</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.LookupAccountNameW" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.GetNativeSystemInfo">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">GetNativeSystemInfo</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">lpSystemInfo</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.GetNativeSystemInfo" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.GetSystemInfo">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">GetSystemInfo</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">lpSystemInfo</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.GetSystemInfo" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.IsWow64Process">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">IsWow64Process</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">hProcess</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Wow64Process</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.IsWow64Process" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.IsWow64Process2">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">IsWow64Process2</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">hProcess</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pProcessMachine</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pNativeMachine</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.IsWow64Process2" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.IsWow64GuestMachineSupported">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">IsWow64GuestMachineSupported</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">WowGuestMachine</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">MachineIsSupported</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.IsWow64GuestMachineSupported" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.GetSystemWow64DirectoryA">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">GetSystemWow64DirectoryA</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">lpBuffer</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">uSize</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.GetSystemWow64DirectoryA" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.GetSystemWow64DirectoryW">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">GetSystemWow64DirectoryW</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">lpBuffer</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">uSize</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.GetSystemWow64DirectoryW" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.GetSystemWow64Directory2A">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">GetSystemWow64Directory2A</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">lpBuffer</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">uSize</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ImageFileMachineType</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.GetSystemWow64Directory2A" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.GetSystemWow64Directory2W">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">GetSystemWow64Directory2W</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">lpBuffer</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">uSize</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ImageFileMachineType</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.GetSystemWow64Directory2W" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.Wow64DisableWow64FsRedirection">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">Wow64DisableWow64FsRedirection</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">OldValue</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.Wow64DisableWow64FsRedirection" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.Wow64EnableWow64FsRedirection">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">Wow64EnableWow64FsRedirection</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">Wow64FsEnableRedirection</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.Wow64EnableWow64FsRedirection" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.Wow64RevertWow64FsRedirection">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">Wow64RevertWow64FsRedirection</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">OlValue</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.Wow64RevertWow64FsRedirection" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.Wow64GetThreadContext">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">Wow64GetThreadContext</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">hThread</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpContext</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.Wow64GetThreadContext" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.Wow64SetThreadContext">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">Wow64SetThreadContext</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">hThread</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpContext</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.Wow64SetThreadContext" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.Wow64SetThreadDefaultGuestMachine">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">Wow64SetThreadDefaultGuestMachine</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">Machine</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.Wow64SetThreadDefaultGuestMachine" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.Wow64SuspendThread">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">Wow64SuspendThread</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">hThread</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.Wow64SuspendThread" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.NtWow64ReadVirtualMemory64">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">NtWow64ReadVirtualMemory64</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">hProcess</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpBaseAddress</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpBuffer</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">nSize</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpNumberOfBytesRead</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.NtWow64ReadVirtualMemory64" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.NtWow64WriteVirtualMemory64">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">NtWow64WriteVirtualMemory64</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">hProcess</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpBaseAddress</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpBuffer</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">nSize</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpNumberOfBytesWritten</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.NtWow64WriteVirtualMemory64" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.FileTimeToSystemTime">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">FileTimeToSystemTime</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">lpFileTime</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpSystemTime</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.FileTimeToSystemTime" title="Link to this definition">¶</a></dt>
|
||||
@@ -3412,6 +3557,11 @@
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">CreateRemoteThread</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">hProcess</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpThreadAttributes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dwStackSize</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpStartAddress</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpParameter</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dwCreationFlags</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpThreadId</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.CreateRemoteThread" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.CreateRemoteThreadEx">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">CreateRemoteThreadEx</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">hProcess</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpThreadAttributes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dwStackSize</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpStartAddress</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpParameter</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dwCreationFlags</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpAttributeList</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpThreadId</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.CreateRemoteThreadEx" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.CreateProcessA">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">CreateProcessA</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">lpApplicationName</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpCommandLine</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpProcessAttributes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpThreadAttributes</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bInheritHandles</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dwCreationFlags</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpEnvironment</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpCurrentDirectory</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpStartupInfo</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpProcessInformation</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.CreateProcessA" title="Link to this definition">¶</a></dt>
|
||||
@@ -3462,21 +3612,11 @@
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">ReadProcessMemory</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">hProcess</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpBaseAddress</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpBuffer</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">nSize</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpNumberOfBytesRead</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.ReadProcessMemory" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.NtWow64ReadVirtualMemory64">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">NtWow64ReadVirtualMemory64</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">hProcess</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpBaseAddress</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpBuffer</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">nSize</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpNumberOfBytesRead</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.NtWow64ReadVirtualMemory64" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.WriteProcessMemory">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">WriteProcessMemory</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">hProcess</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpBaseAddress</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpBuffer</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">nSize</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpNumberOfBytesWritten</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.WriteProcessMemory" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.NtWow64WriteVirtualMemory64">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">NtWow64WriteVirtualMemory64</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">hProcess</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpBaseAddress</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpBuffer</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">nSize</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpNumberOfBytesWritten</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.NtWow64WriteVirtualMemory64" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.GetCurrentProcess">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">GetCurrentProcess</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.GetCurrentProcess" title="Link to this definition">¶</a></dt>
|
||||
@@ -3707,26 +3847,6 @@
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">DeviceIoControl</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">hDevice</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dwIoControlCode</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpInBuffer</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">nInBufferSize</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpOutBuffer</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">nOutBufferSize</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpBytesReturned</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpOverlapped</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.DeviceIoControl" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.Wow64DisableWow64FsRedirection">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">Wow64DisableWow64FsRedirection</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">OldValue</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.Wow64DisableWow64FsRedirection" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.Wow64RevertWow64FsRedirection">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">Wow64RevertWow64FsRedirection</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">OldValue</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.Wow64RevertWow64FsRedirection" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.Wow64EnableWow64FsRedirection">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">Wow64EnableWow64FsRedirection</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">Wow64FsEnableRedirection</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.Wow64EnableWow64FsRedirection" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.Wow64GetThreadContext">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">Wow64GetThreadContext</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">hThread</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpContext</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.Wow64GetThreadContext" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.SetConsoleCtrlHandler">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">SetConsoleCtrlHandler</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">HandlerRoutine</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Add</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.SetConsoleCtrlHandler" title="Link to this definition">¶</a></dt>
|
||||
@@ -3862,11 +3982,6 @@
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">GetProcessId</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">Process</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.GetProcessId" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.Wow64SetThreadContext">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">Wow64SetThreadContext</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">hThread</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpContext</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.Wow64SetThreadContext" title="Link to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="py function">
|
||||
<dt class="sig sig-object py" id="windows.generated_def.winfuncs.GetMappedFileNameW">
|
||||
<span class="sig-prename descclassname"><span class="pre">windows.generated_def.winfuncs.</span></span><span class="sig-name descname"><span class="pre">GetMappedFileNameW</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">hProcess</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpv</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lpFilename</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">nSize</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#windows.generated_def.winfuncs.GetMappedFileNameW" title="Link to this definition">¶</a></dt>
|
||||
@@ -4477,6 +4592,12 @@
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.CryptEnumOIDFunction"><code class="docutils literal notranslate"><span class="pre">CryptEnumOIDFunction()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.CryptGetOIDFunctionValue"><code class="docutils literal notranslate"><span class="pre">CryptGetOIDFunctionValue()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.CertCloseStore"><code class="docutils literal notranslate"><span class="pre">CertCloseStore()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.CryptSignAndEncodeCertificate"><code class="docutils literal notranslate"><span class="pre">CryptSignAndEncodeCertificate()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.CryptSignCertificate"><code class="docutils literal notranslate"><span class="pre">CryptSignCertificate()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.CryptBinaryToStringA"><code class="docutils literal notranslate"><span class="pre">CryptBinaryToStringA()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.CryptBinaryToStringW"><code class="docutils literal notranslate"><span class="pre">CryptBinaryToStringW()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.CryptStringToBinaryA"><code class="docutils literal notranslate"><span class="pre">CryptStringToBinaryA()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.CryptStringToBinaryW"><code class="docutils literal notranslate"><span class="pre">CryptStringToBinaryW()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.OpenVirtualDisk"><code class="docutils literal notranslate"><span class="pre">OpenVirtualDisk()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.AttachVirtualDisk"><code class="docutils literal notranslate"><span class="pre">AttachVirtualDisk()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.CryptProtectData"><code class="docutils literal notranslate"><span class="pre">CryptProtectData()</span></code></a></li>
|
||||
@@ -4610,6 +4731,8 @@
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.OpenFileMappingW"><code class="docutils literal notranslate"><span class="pre">OpenFileMappingW()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.OpenFileMappingA"><code class="docutils literal notranslate"><span class="pre">OpenFileMappingA()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.UnmapViewOfFile"><code class="docutils literal notranslate"><span class="pre">UnmapViewOfFile()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.NCryptOpenKey"><code class="docutils literal notranslate"><span class="pre">NCryptOpenKey()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.NCryptOpenStorageProvider"><code class="docutils literal notranslate"><span class="pre">NCryptOpenStorageProvider()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.NetQueryDisplayInformation"><code class="docutils literal notranslate"><span class="pre">NetQueryDisplayInformation()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.NetUserEnum"><code class="docutils literal notranslate"><span class="pre">NetUserEnum()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.NetGroupEnum"><code class="docutils literal notranslate"><span class="pre">NetGroupEnum()</span></code></a></li>
|
||||
@@ -4662,6 +4785,9 @@
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.LoadLibraryExA"><code class="docutils literal notranslate"><span class="pre">LoadLibraryExA()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.LoadLibraryExW"><code class="docutils literal notranslate"><span class="pre">LoadLibraryExW()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.FreeLibrary"><code class="docutils literal notranslate"><span class="pre">FreeLibrary()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.GetProcessInformation"><code class="docutils literal notranslate"><span class="pre">GetProcessInformation()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.SetProcessInformation"><code class="docutils literal notranslate"><span class="pre">SetProcessInformation()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.RtlGetCurrentPeb"><code class="docutils literal notranslate"><span class="pre">RtlGetCurrentPeb()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.RegQueryValueExA"><code class="docutils literal notranslate"><span class="pre">RegQueryValueExA()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.RegQueryValueExW"><code class="docutils literal notranslate"><span class="pre">RegQueryValueExW()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.RegOpenKeyExA"><code class="docutils literal notranslate"><span class="pre">RegOpenKeyExA()</span></code></a></li>
|
||||
@@ -4920,6 +5046,24 @@
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.LookupAccountSidW"><code class="docutils literal notranslate"><span class="pre">LookupAccountSidW()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.LookupAccountNameA"><code class="docutils literal notranslate"><span class="pre">LookupAccountNameA()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.LookupAccountNameW"><code class="docutils literal notranslate"><span class="pre">LookupAccountNameW()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.GetNativeSystemInfo"><code class="docutils literal notranslate"><span class="pre">GetNativeSystemInfo()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.GetSystemInfo"><code class="docutils literal notranslate"><span class="pre">GetSystemInfo()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.IsWow64Process"><code class="docutils literal notranslate"><span class="pre">IsWow64Process()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.IsWow64Process2"><code class="docutils literal notranslate"><span class="pre">IsWow64Process2()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.IsWow64GuestMachineSupported"><code class="docutils literal notranslate"><span class="pre">IsWow64GuestMachineSupported()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.GetSystemWow64DirectoryA"><code class="docutils literal notranslate"><span class="pre">GetSystemWow64DirectoryA()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.GetSystemWow64DirectoryW"><code class="docutils literal notranslate"><span class="pre">GetSystemWow64DirectoryW()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.GetSystemWow64Directory2A"><code class="docutils literal notranslate"><span class="pre">GetSystemWow64Directory2A()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.GetSystemWow64Directory2W"><code class="docutils literal notranslate"><span class="pre">GetSystemWow64Directory2W()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.Wow64DisableWow64FsRedirection"><code class="docutils literal notranslate"><span class="pre">Wow64DisableWow64FsRedirection()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.Wow64EnableWow64FsRedirection"><code class="docutils literal notranslate"><span class="pre">Wow64EnableWow64FsRedirection()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.Wow64RevertWow64FsRedirection"><code class="docutils literal notranslate"><span class="pre">Wow64RevertWow64FsRedirection()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.Wow64GetThreadContext"><code class="docutils literal notranslate"><span class="pre">Wow64GetThreadContext()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.Wow64SetThreadContext"><code class="docutils literal notranslate"><span class="pre">Wow64SetThreadContext()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.Wow64SetThreadDefaultGuestMachine"><code class="docutils literal notranslate"><span class="pre">Wow64SetThreadDefaultGuestMachine()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.Wow64SuspendThread"><code class="docutils literal notranslate"><span class="pre">Wow64SuspendThread()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.NtWow64ReadVirtualMemory64"><code class="docutils literal notranslate"><span class="pre">NtWow64ReadVirtualMemory64()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.NtWow64WriteVirtualMemory64"><code class="docutils literal notranslate"><span class="pre">NtWow64WriteVirtualMemory64()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.FileTimeToSystemTime"><code class="docutils literal notranslate"><span class="pre">FileTimeToSystemTime()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.SystemTimeToFileTime"><code class="docutils literal notranslate"><span class="pre">SystemTimeToFileTime()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.GetSystemTime"><code class="docutils literal notranslate"><span class="pre">GetSystemTime()</span></code></a></li>
|
||||
@@ -4988,6 +5132,7 @@
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.GetModuleFileNameW"><code class="docutils literal notranslate"><span class="pre">GetModuleFileNameW()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.CreateThread"><code class="docutils literal notranslate"><span class="pre">CreateThread()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.CreateRemoteThread"><code class="docutils literal notranslate"><span class="pre">CreateRemoteThread()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.CreateRemoteThreadEx"><code class="docutils literal notranslate"><span class="pre">CreateRemoteThreadEx()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.CreateProcessA"><code class="docutils literal notranslate"><span class="pre">CreateProcessA()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.CreateProcessW"><code class="docutils literal notranslate"><span class="pre">CreateProcessW()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.CreateProcessAsUserA"><code class="docutils literal notranslate"><span class="pre">CreateProcessAsUserA()</span></code></a></li>
|
||||
@@ -4998,9 +5143,7 @@
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.OpenProcess"><code class="docutils literal notranslate"><span class="pre">OpenProcess()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.CloseHandle"><code class="docutils literal notranslate"><span class="pre">CloseHandle()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.ReadProcessMemory"><code class="docutils literal notranslate"><span class="pre">ReadProcessMemory()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.NtWow64ReadVirtualMemory64"><code class="docutils literal notranslate"><span class="pre">NtWow64ReadVirtualMemory64()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.WriteProcessMemory"><code class="docutils literal notranslate"><span class="pre">WriteProcessMemory()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.NtWow64WriteVirtualMemory64"><code class="docutils literal notranslate"><span class="pre">NtWow64WriteVirtualMemory64()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.GetCurrentProcess"><code class="docutils literal notranslate"><span class="pre">GetCurrentProcess()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.CreateFileA"><code class="docutils literal notranslate"><span class="pre">CreateFileA()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.CreateFileW"><code class="docutils literal notranslate"><span class="pre">CreateFileW()</span></code></a></li>
|
||||
@@ -5047,10 +5190,6 @@
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.WaitForSingleObject"><code class="docutils literal notranslate"><span class="pre">WaitForSingleObject()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.GetThreadId"><code class="docutils literal notranslate"><span class="pre">GetThreadId()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.DeviceIoControl"><code class="docutils literal notranslate"><span class="pre">DeviceIoControl()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.Wow64DisableWow64FsRedirection"><code class="docutils literal notranslate"><span class="pre">Wow64DisableWow64FsRedirection()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.Wow64RevertWow64FsRedirection"><code class="docutils literal notranslate"><span class="pre">Wow64RevertWow64FsRedirection()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.Wow64EnableWow64FsRedirection"><code class="docutils literal notranslate"><span class="pre">Wow64EnableWow64FsRedirection()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.Wow64GetThreadContext"><code class="docutils literal notranslate"><span class="pre">Wow64GetThreadContext()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.SetConsoleCtrlHandler"><code class="docutils literal notranslate"><span class="pre">SetConsoleCtrlHandler()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.GlobalAlloc"><code class="docutils literal notranslate"><span class="pre">GlobalAlloc()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.GlobalFree"><code class="docutils literal notranslate"><span class="pre">GlobalFree()</span></code></a></li>
|
||||
@@ -5078,7 +5217,6 @@
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.DebugSetProcessKillOnExit"><code class="docutils literal notranslate"><span class="pre">DebugSetProcessKillOnExit()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.DebugBreakProcess"><code class="docutils literal notranslate"><span class="pre">DebugBreakProcess()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.GetProcessId"><code class="docutils literal notranslate"><span class="pre">GetProcessId()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.Wow64SetThreadContext"><code class="docutils literal notranslate"><span class="pre">Wow64SetThreadContext()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.GetMappedFileNameW"><code class="docutils literal notranslate"><span class="pre">GetMappedFileNameW()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.GetMappedFileNameA"><code class="docutils literal notranslate"><span class="pre">GetMappedFileNameA()</span></code></a></li>
|
||||
<li><a class="reference internal" href="#windows.generated_def.winfuncs.RtlInitString"><code class="docutils literal notranslate"><span class="pre">RtlInitString()</span></code></a></li>
|
||||
@@ -5217,7 +5355,7 @@
|
||||
<li class="right" >
|
||||
<a href="winstructs_generated.html" title="14.3. Winstructs"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="generated.html" ><span class="section-number">14. </span><code class="docutils literal notranslate"><span class="pre">windows.generated_def</span></code> – generated Windows defines and structures</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">14.5. </span>Functions</a></li>
|
||||
</ul>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>2. The windows objects — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>2. The windows objects — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="windows.html" title="1. The windows module"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -434,7 +434,7 @@ parts are accessible.</p>
|
||||
<li class="right" >
|
||||
<a href="windows.html" title="1. The windows module"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>4. windows.winproxy – Windows API — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>4. windows.winproxy – Windows API — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="native_exec.html" title="3. windows.native_exec – Native Code Execution"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">4. </span><code class="docutils literal notranslate"><span class="pre">windows.winproxy</span></code> – Windows API</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -286,7 +286,7 @@ set self.__traceback__ to tb and return self.</p>
|
||||
<li class="right" >
|
||||
<a href="native_exec.html" title="3. windows.native_exec – Native Code Execution"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">4. </span><code class="docutils literal notranslate"><span class="pre">windows.winproxy</span></code> – Windows API</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
+7074
-5418
File diff suppressed because it is too large
Load Diff
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>8. windows.wintrust – Checking signature — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>8. windows.wintrust – Checking signature — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="utils.html" title="7. windows.utils – Windows Utilities"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">8. </span><code class="docutils literal notranslate"><span class="pre">windows.wintrust</span></code> – Checking signature</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -227,7 +227,7 @@ It allows to check the signature of a file.</p>
|
||||
<li class="right" >
|
||||
<a href="utils.html" title="7. windows.utils – Windows Utilities"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">8. </span><code class="docutils literal notranslate"><span class="pre">windows.wintrust</span></code> – Checking signature</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+4
-4
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>16. Early Work In Progress — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>16. Early Work In Progress — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="iat_hook.html" title="15. IAT hooking"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">16. </span>Early Work In Progress</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -103,7 +103,7 @@
|
||||
<li class="right" >
|
||||
<a href="iat_hook.html" title="15. IAT hooking"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">16. </span>Early Work In Progress</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Vendored
+5
-5
@@ -5,12 +5,12 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>2.10. WMI – Make request to WMI — PythonForWindows 1.0.3 documentation</title>
|
||||
<title>2.10. WMI – Make request to WMI — PythonForWindows 1.0.4 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/classic.css?v=def86cc0" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/mbasic.css?v=957880af" />
|
||||
|
||||
<script src="_static/documentation_options.js?v=baaebd52"></script>
|
||||
<script src="_static/documentation_options.js?v=71272d9f"></script>
|
||||
<script src="_static/doctools.js?v=9a2dae69"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<li class="right" >
|
||||
<a href="volume.html" title="2.9. Volume – The logical drives"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" accesskey="U"><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.10. </span>WMI – Make request to WMI</a></li>
|
||||
</ul>
|
||||
@@ -60,7 +60,7 @@
|
||||
<dd><p>The main WMI class exposed, used to list and access differents WMI namespace, can be used as a dict to access
|
||||
<a class="reference internal" href="#windows.winobject.wmi.WmiNamespace" title="windows.winobject.wmi.WmiNamespace"><code class="xref py py-class docutils literal notranslate"><span class="pre">WmiNamespace</span></code></a> by name</p>
|
||||
<dl>
|
||||
<dt>Example:</dt><dd><div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">windows</span><span class="o">.</span><span class="n">system</span><span class="o">.</span><span class="n">wmi</span><span class="p">[</span><span class="s2">"root\SecurityCenter2"</span><span class="p">]</span>
|
||||
<dt>Example:</dt><dd><div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">windows</span><span class="o">.</span><span class="n">system</span><span class="o">.</span><span class="n">wmi</span><span class="p">[</span><span class="sa">r</span><span class="s2">"root\SecurityCenter2"</span><span class="p">]</span>
|
||||
<span class="go"><WmiNamespace "root\SecurityCenter2"></span>
|
||||
</pre></div>
|
||||
</div>
|
||||
@@ -661,7 +661,7 @@ If <code class="docutils literal notranslate"><span class="pre">system_propertie
|
||||
<li class="right" >
|
||||
<a href="volume.html" title="2.9. Volume – The logical drives"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.3 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-0"><a href="index.html">PythonForWindows 1.0.4 documentation</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="winobject.html" ><span class="section-number">2. </span>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">windows</span></code> objects</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href=""><span class="section-number">2.10. </span>WMI – Make request to WMI</a></li>
|
||||
</ul>
|
||||
|
||||
+1
-1
@@ -80,7 +80,7 @@ copyright = u'2015-2020, Clement Rouault'
|
||||
# The short X.Y version.
|
||||
version = '1.0'
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = '1.0.3'
|
||||
release = '1.0.4'
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
|
||||
@@ -1145,6 +1145,89 @@ WinDef
|
||||
.. autodata:: NMPWAIT_WAIT_FOREVER
|
||||
.. autodata:: NMPWAIT_NOWAIT
|
||||
.. autodata:: NMPWAIT_USE_DEFAULT_WAIT
|
||||
.. autodata:: ProcThreadAttributeParentProcess
|
||||
.. autodata:: ProcThreadAttributeExtendedFlags
|
||||
.. autodata:: ProcThreadAttributeHandleList
|
||||
.. autodata:: ProcThreadAttributeGroupAffinity
|
||||
.. autodata:: ProcThreadAttributePreferredNode
|
||||
.. autodata:: ProcThreadAttributeIdealProcessor
|
||||
.. autodata:: ProcThreadAttributeUmsThread
|
||||
.. autodata:: ProcThreadAttributeMitigationPolicy
|
||||
.. autodata:: ProcThreadAttributePackageFullName
|
||||
.. autodata:: ProcThreadAttributeSecurityCapabilities
|
||||
.. autodata:: ProcThreadAttributeConsoleReference
|
||||
.. autodata:: ProcThreadAttributeProtectionLevel
|
||||
.. autodata:: ProcThreadAttributeOsMaxVersionTested
|
||||
.. autodata:: ProcThreadAttributeJobList
|
||||
.. autodata:: ProcThreadAttributeChildProcessPolicy
|
||||
.. autodata:: ProcThreadAttributeAllApplicationPackagesPolicy
|
||||
.. autodata:: ProcThreadAttributeWin32kFilter
|
||||
.. autodata:: ProcThreadAttributeSafeOpenPromptOriginClaim
|
||||
.. autodata:: ProcThreadAttributeDesktopAppPolicy
|
||||
.. autodata:: ProcThreadAttributeBnoIsolation
|
||||
.. autodata:: ProcThreadAttributePseudoConsole
|
||||
.. autodata:: ProcThreadAttributeIsolationManifest
|
||||
.. autodata:: ProcThreadAttributeMitigationAuditPolicy
|
||||
.. autodata:: ProcThreadAttributeMachineType
|
||||
.. autodata:: ProcThreadAttributeComponentFilter
|
||||
.. autodata:: ProcThreadAttributeEnableOptionalXStateFeatures
|
||||
.. autodata:: ProcThreadAttributeCreateStore
|
||||
.. autodata:: ProcThreadAttributeTrustedApp
|
||||
.. autodata:: ProcThreadAttributeSveVectorLength
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_NUMBER
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_THREAD
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_INPUT
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_ADDITIVE
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_PARENT_PROCESS
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_HANDLE_LIST
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_GROUP_AFFINITY
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_PREFERRED_NODE
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_IDEAL_PROCESSOR
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_UMS_THREAD
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_MITIGATION_POLICY
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_SECURITY_CAPABILITIES
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_PROTECTION_LEVEL
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_PSEUDOCONSOLE
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_MACHINE_TYPE
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_ENABLE_OPTIONAL_XSTATE_FEATURES
|
||||
.. autodata:: PROC_THREAD_ATTRIBUTE_SVE_VECTOR_LENGTH
|
||||
.. autodata:: PROCESSOR_INTEL_386
|
||||
.. autodata:: PROCESSOR_INTEL_486
|
||||
.. autodata:: PROCESSOR_INTEL_PENTIUM
|
||||
.. autodata:: PROCESSOR_INTEL_IA64
|
||||
.. autodata:: PROCESSOR_MIPS_R4000
|
||||
.. autodata:: PROCESSOR_ALPHA_21064
|
||||
.. autodata:: PROCESSOR_PPC_601
|
||||
.. autodata:: PROCESSOR_PPC_603
|
||||
.. autodata:: PROCESSOR_PPC_604
|
||||
.. autodata:: PROCESSOR_PPC_620
|
||||
.. autodata:: PROCESSOR_HITACHI_SH3
|
||||
.. autodata:: PROCESSOR_HITACHI_SH3E
|
||||
.. autodata:: PROCESSOR_HITACHI_SH4
|
||||
.. autodata:: PROCESSOR_MOTOROLA_821
|
||||
.. autodata:: PROCESSOR_SHx_SH3
|
||||
.. autodata:: PROCESSOR_SHx_SH4
|
||||
.. autodata:: PROCESSOR_STRONGARM
|
||||
.. autodata:: PROCESSOR_ARM720
|
||||
.. autodata:: PROCESSOR_ARM820
|
||||
.. autodata:: PROCESSOR_ARM920
|
||||
.. autodata:: PROCESSOR_ARM_7TDMI
|
||||
.. autodata:: PROCESSOR_OPTIL
|
||||
.. autodata:: PROCESSOR_ARCHITECTURE_INTEL
|
||||
.. autodata:: PROCESSOR_ARCHITECTURE_MIPS
|
||||
.. autodata:: PROCESSOR_ARCHITECTURE_ALPHA
|
||||
.. autodata:: PROCESSOR_ARCHITECTURE_PPC
|
||||
.. autodata:: PROCESSOR_ARCHITECTURE_SHX
|
||||
.. autodata:: PROCESSOR_ARCHITECTURE_ARM
|
||||
.. autodata:: PROCESSOR_ARCHITECTURE_IA64
|
||||
.. autodata:: PROCESSOR_ARCHITECTURE_ALPHA64
|
||||
.. autodata:: PROCESSOR_ARCHITECTURE_MSIL
|
||||
.. autodata:: PROCESSOR_ARCHITECTURE_AMD64
|
||||
.. autodata:: PROCESSOR_ARCHITECTURE_IA32_ON_WIN64
|
||||
.. autodata:: PROCESSOR_ARCHITECTURE_NEUTRAL
|
||||
.. autodata:: PROCESSOR_ARCHITECTURE_ARM64
|
||||
.. autodata:: PROCESSOR_ARCHITECTURE_ARM32_ON_WIN64
|
||||
.. autodata:: PROCESSOR_ARCHITECTURE_UNKNOWN
|
||||
.. autodata:: HKEY_CLASSES_ROOT
|
||||
.. autodata:: HKEY_CURRENT_USER
|
||||
.. autodata:: HKEY_LOCAL_MACHINE
|
||||
@@ -1766,6 +1849,45 @@ WinDef
|
||||
.. autodata:: SPC_FINANCIAL_CRITERIA_OBJID
|
||||
.. autodata:: SPC_LINK_OBJID
|
||||
.. autodata:: SPC_SIGINFO_OBJID
|
||||
.. autodata:: CONTEXT_I386
|
||||
.. autodata:: CONTEXT_AMD64
|
||||
.. autodata:: CONTEXT_ARM
|
||||
.. autodata:: CONTEXT_ARM64
|
||||
.. autodata:: CONTEXT_i386
|
||||
.. autodata:: CONTEXT_i486
|
||||
.. autodata:: WOW64_CONTEXT_i386
|
||||
.. autodata:: WOW64_CONTEXT_i486
|
||||
.. autodata:: CONTEXT_CONTROL
|
||||
.. autodata:: CONTEXT_INTEGER
|
||||
.. autodata:: CONTEXT_SEGMENTS
|
||||
.. autodata:: CONTEXT_FLOATING_POINT
|
||||
.. autodata:: CONTEXT_DEBUG_REGISTERS
|
||||
.. autodata:: CONTEXT_EXTENDED_REGISTERS
|
||||
.. autodata:: CONTEXT_FULL
|
||||
.. autodata:: CONTEXT_ALL
|
||||
.. autodata:: CONTEXT_XSTATE
|
||||
.. autodata:: WOW64_CONTEXT_CONTROL
|
||||
.. autodata:: WOW64_CONTEXT_INTEGER
|
||||
.. autodata:: WOW64_CONTEXT_SEGMENTS
|
||||
.. autodata:: WOW64_CONTEXT_FLOATING_POINT
|
||||
.. autodata:: WOW64_CONTEXT_DEBUG_REGISTERS
|
||||
.. autodata:: WOW64_CONTEXT_EXTENDED_REGISTERS
|
||||
.. autodata:: WOW64_CONTEXT_FULL
|
||||
.. autodata:: WOW64_CONTEXT_ALL
|
||||
.. autodata:: WOW64_CONTEXT_XSTATE
|
||||
.. autodata:: WOW64_CONTEXT_EXCEPTION_ACTIVE
|
||||
.. autodata:: WOW64_CONTEXT_SERVICE_ACTIVE
|
||||
.. autodata:: WOW64_CONTEXT_EXCEPTION_REQUEST
|
||||
.. autodata:: WOW64_CONTEXT_EXCEPTION_REPORTING
|
||||
.. autodata:: CONTEXT_ARM64_CONTROL
|
||||
.. autodata:: CONTEXT_ARM64_INTEGER
|
||||
.. autodata:: CONTEXT_ARM64_FLOATING_POINT
|
||||
.. autodata:: CONTEXT_ARM64_DEBUG_REGISTERS
|
||||
.. autodata:: CONTEXT_ARM64_X18
|
||||
.. autodata:: CONTEXT_UNWOUND_TO_CALL
|
||||
.. autodata:: CONTEXT_RET_TO_GUEST
|
||||
.. autodata:: ARM64_MAX_BREAKPOINTS
|
||||
.. autodata:: ARM64_MAX_WATCHPOINTS
|
||||
.. autodata:: FILE_VER_GET_LOCALISED
|
||||
.. autodata:: FILE_VER_GET_NEUTRAL
|
||||
.. autodata:: FILE_VER_GET_PREFETCHED
|
||||
@@ -1877,19 +1999,6 @@ WinDef
|
||||
.. autodata:: TH32CS_SNAPMODULE32
|
||||
.. autodata:: TH32CS_SNAPALL
|
||||
.. autodata:: TH32CS_INHERIT
|
||||
.. autodata:: CONTEXT_I386
|
||||
.. autodata:: CONTEXT_AMD64
|
||||
.. autodata:: CONTEXT_ARM
|
||||
.. autodata:: CONTEXT_ARM64
|
||||
.. autodata:: CONTEXT_CONTROL
|
||||
.. autodata:: CONTEXT_INTEGER
|
||||
.. autodata:: CONTEXT_SEGMENTS
|
||||
.. autodata:: CONTEXT_FLOATING_POINT
|
||||
.. autodata:: CONTEXT_DEBUG_REGISTERS
|
||||
.. autodata:: CONTEXT_EXTENDED_REGISTERS
|
||||
.. autodata:: CONTEXT_FULL
|
||||
.. autodata:: CONTEXT_ALL
|
||||
.. autodata:: CONTEXT_XSTATE
|
||||
.. autodata:: PAGE_NOACCESS
|
||||
.. autodata:: PAGE_READONLY
|
||||
.. autodata:: PAGE_READWRITE
|
||||
@@ -2922,6 +3031,7 @@ WinDef
|
||||
.. autodata:: IMAGE_FILE_MACHINE_M32R
|
||||
.. autodata:: IMAGE_FILE_MACHINE_CEE
|
||||
.. autodata:: IMAGE_FILE_MACHINE_ARM64
|
||||
.. autodata:: IMAGE_FILE_MACHINE_TARGET_HOST
|
||||
.. autodata:: CERT_QUERY_OBJECT_FILE
|
||||
.. autodata:: CERT_QUERY_OBJECT_BLOB
|
||||
.. autodata:: CERT_QUERY_CONTENT_CERT
|
||||
@@ -3234,6 +3344,37 @@ WinDef
|
||||
.. autodata:: CRYPT_SGCKEY
|
||||
.. autodata:: CRYPT_ARCHIVABLE
|
||||
.. autodata:: CRYPT_FORCE_KEY_PROTECTION_HIGH
|
||||
.. autodata:: CERT_RDN_ANY_TYPE
|
||||
.. autodata:: CERT_RDN_ENCODED_BLOB
|
||||
.. autodata:: CERT_RDN_OCTET_STRING
|
||||
.. autodata:: CERT_RDN_NUMERIC_STRING
|
||||
.. autodata:: CERT_RDN_PRINTABLE_STRING
|
||||
.. autodata:: CERT_RDN_TELETEX_STRING
|
||||
.. autodata:: CERT_RDN_T61_STRING
|
||||
.. autodata:: CERT_RDN_VIDEOTEX_STRING
|
||||
.. autodata:: CERT_RDN_IA5_STRING
|
||||
.. autodata:: CERT_RDN_GRAPHIC_STRING
|
||||
.. autodata:: CERT_RDN_VISIBLE_STRING
|
||||
.. autodata:: CERT_RDN_ISO646_STRING
|
||||
.. autodata:: CERT_RDN_GENERAL_STRING
|
||||
.. autodata:: CERT_RDN_UNIVERSAL_STRING
|
||||
.. autodata:: CERT_RDN_INT4_STRING
|
||||
.. autodata:: CERT_RDN_BMP_STRING
|
||||
.. autodata:: CERT_RDN_UNICODE_STRING
|
||||
.. autodata:: CERT_RDN_UTF8_STRING
|
||||
.. autodata:: CERT_RDN_TYPE_MASK
|
||||
.. autodata:: CERT_RDN_FLAGS_MASK
|
||||
.. autodata:: CERT_RDN_ENABLE_T61_UNICODE_FLAG
|
||||
.. autodata:: CERT_RDN_ENABLE_UTF8_UNICODE_FLAG
|
||||
.. autodata:: CERT_RDN_FORCE_UTF8_UNICODE_FLAG
|
||||
.. autodata:: CERT_RDN_DISABLE_CHECK_TYPE_FLAG
|
||||
.. autodata:: CERT_RDN_DISABLE_IE4_UTF8_FLAG
|
||||
.. autodata:: CRYPT_DECODE_NOCOPY_FLAG
|
||||
.. autodata:: CRYPT_DECODE_TO_BE_SIGNED_FLAG
|
||||
.. autodata:: CRYPT_DECODE_SHARE_OID_STRING_FLAG
|
||||
.. autodata:: CRYPT_DECODE_NO_SIGNATURE_BYTE_REVERSAL_FLAG
|
||||
.. autodata:: CRYPT_DECODE_ALLOC_FLAG
|
||||
.. autodata:: CRYPT_UNICODE_NAME_DECODE_DISABLE_IE4_UTF8_FLAG
|
||||
.. autodata:: CRYPT_ENCODE_DECODE_NONE
|
||||
.. autodata:: X509_CERT
|
||||
.. autodata:: X509_CERT_TO_BE_SIGNED
|
||||
@@ -3372,6 +3513,29 @@ WinDef
|
||||
.. autodata:: CMSG_CTRL_VERIFY_SIGNATURE_EX
|
||||
.. autodata:: CMSG_CTRL_ADD_CMS_SIGNER_INFO
|
||||
.. autodata:: CMSG_CTRL_ENABLE_STRONG_SIGNATURE
|
||||
.. autodata:: CERT_SET_KEY_PROV_HANDLE_PROP_ID
|
||||
.. autodata:: CERT_SET_KEY_CONTEXT_PROP_ID
|
||||
.. autodata:: CERT_NCRYPT_KEY_SPEC
|
||||
.. autodata:: CERT_REQUEST_V1
|
||||
.. autodata:: CRYPT_STRING_BASE64HEADER
|
||||
.. autodata:: CRYPT_STRING_BASE64
|
||||
.. autodata:: CRYPT_STRING_BINARY
|
||||
.. autodata:: CRYPT_STRING_BASE64REQUESTHEADER
|
||||
.. autodata:: CRYPT_STRING_HEX
|
||||
.. autodata:: CRYPT_STRING_HEXASCII
|
||||
.. autodata:: CRYPT_STRING_BASE64_ANY
|
||||
.. autodata:: CRYPT_STRING_ANY
|
||||
.. autodata:: CRYPT_STRING_HEX_ANY
|
||||
.. autodata:: CRYPT_STRING_BASE64X509CRLHEADER
|
||||
.. autodata:: CRYPT_STRING_HEXADDR
|
||||
.. autodata:: CRYPT_STRING_HEXASCIIADDR
|
||||
.. autodata:: CRYPT_STRING_HEXRAW
|
||||
.. autodata:: CRYPT_STRING_BASE64URI
|
||||
.. autodata:: CRYPT_STRING_PERCENTESCAPE
|
||||
.. autodata:: CRYPT_STRING_HASHDATA
|
||||
.. autodata:: CRYPT_STRING_STRICT
|
||||
.. autodata:: CRYPT_STRING_NOCRLF
|
||||
.. autodata:: CRYPT_STRING_NOCR
|
||||
.. autodata:: WSADESCRIPTION_LEN
|
||||
.. autodata:: WSASYS_STATUS_LEN
|
||||
.. autodata:: WSAPROTOCOL_LEN
|
||||
|
||||
@@ -326,6 +326,18 @@ Functions
|
||||
|
||||
.. function:: CertCloseStore(hCertStore, dwFlags)
|
||||
|
||||
.. function:: CryptSignAndEncodeCertificate(hBCryptKey, dwKeySpec, dwCertEncodingType, lpszStructType, pvStructInfo, pSignatureAlgorithm, pvHashAuxInfo, pbEncoded, pcbEncoded)
|
||||
|
||||
.. function:: CryptSignCertificate(hBCryptKey, dwKeySpec, dwCertEncodingType, pbEncodedToBeSigned, cbEncodedToBeSigned, pSignatureAlgorithm, pvHashAuxInfo, pbSignature, pcbSignature)
|
||||
|
||||
.. function:: CryptBinaryToStringA(pbBinary, cbBinary, dwFlags, pszString, pcchString)
|
||||
|
||||
.. function:: CryptBinaryToStringW(pbBinary, cbBinary, dwFlags, pszString, pcchString)
|
||||
|
||||
.. function:: CryptStringToBinaryA(pszString, cchString, dwFlags, pbBinary, pcbBinary, pdwSkip, pdwFlags)
|
||||
|
||||
.. function:: CryptStringToBinaryW(pszString, cchString, dwFlags, pbBinary, pcbBinary, pdwSkip, pdwFlags)
|
||||
|
||||
.. function:: OpenVirtualDisk(VirtualStorageType, Path, VirtualDiskAccessMask, Flags, Parameters, Handle)
|
||||
|
||||
.. function:: AttachVirtualDisk(VirtualDiskHandle, SecurityDescriptor, Flags, ProviderSpecificFlags, Parameters, Overlapped)
|
||||
@@ -592,6 +604,10 @@ Functions
|
||||
|
||||
.. function:: UnmapViewOfFile(lpBaseAddress)
|
||||
|
||||
.. function:: NCryptOpenKey(hProvider, phKey, pszKeyName, dwLegacyKeySpec, dwFlags)
|
||||
|
||||
.. function:: NCryptOpenStorageProvider(phProvider, pszProviderName, dwFlags)
|
||||
|
||||
.. function:: NetQueryDisplayInformation(ServerName, Level, Index, EntriesRequested, PreferredMaximumLength, ReturnedEntryCount, SortedBuffer)
|
||||
|
||||
.. function:: NetUserEnum(servername, level, filter, bufptr, prefmaxlen, entriesread, totalentries, resume_handle)
|
||||
@@ -696,6 +712,10 @@ Functions
|
||||
|
||||
.. function:: FreeLibrary(hLibModule)
|
||||
|
||||
.. function:: GetProcessInformation(hProcess, ProcessInformationClass, ProcessInformation, ProcessInformationSize)
|
||||
|
||||
.. function:: SetProcessInformation(hProcess, ProcessInformationClass, ProcessInformation, ProcessInformationSize)
|
||||
|
||||
.. function:: RtlGetCurrentPeb()
|
||||
|
||||
.. function:: RegQueryValueExA(hKey, lpValueName, lpReserved, lpType, lpData, lpcbData)
|
||||
@@ -1214,6 +1234,42 @@ Functions
|
||||
|
||||
.. function:: LookupAccountNameW(lpSystemName, lpAccountName, Sid, cbSid, ReferencedDomainName, cchReferencedDomainName, peUse)
|
||||
|
||||
.. function:: GetNativeSystemInfo(lpSystemInfo)
|
||||
|
||||
.. function:: GetSystemInfo(lpSystemInfo)
|
||||
|
||||
.. function:: IsWow64Process(hProcess, Wow64Process)
|
||||
|
||||
.. function:: IsWow64Process2(hProcess, pProcessMachine, pNativeMachine)
|
||||
|
||||
.. function:: IsWow64GuestMachineSupported(WowGuestMachine, MachineIsSupported)
|
||||
|
||||
.. function:: GetSystemWow64DirectoryA(lpBuffer, uSize)
|
||||
|
||||
.. function:: GetSystemWow64DirectoryW(lpBuffer, uSize)
|
||||
|
||||
.. function:: GetSystemWow64Directory2A(lpBuffer, uSize, ImageFileMachineType)
|
||||
|
||||
.. function:: GetSystemWow64Directory2W(lpBuffer, uSize, ImageFileMachineType)
|
||||
|
||||
.. function:: Wow64DisableWow64FsRedirection(OldValue)
|
||||
|
||||
.. function:: Wow64EnableWow64FsRedirection(Wow64FsEnableRedirection)
|
||||
|
||||
.. function:: Wow64RevertWow64FsRedirection(OlValue)
|
||||
|
||||
.. function:: Wow64GetThreadContext(hThread, lpContext)
|
||||
|
||||
.. function:: Wow64SetThreadContext(hThread, lpContext)
|
||||
|
||||
.. function:: Wow64SetThreadDefaultGuestMachine(Machine)
|
||||
|
||||
.. function:: Wow64SuspendThread(hThread)
|
||||
|
||||
.. function:: NtWow64ReadVirtualMemory64(hProcess, lpBaseAddress, lpBuffer, nSize, lpNumberOfBytesRead)
|
||||
|
||||
.. function:: NtWow64WriteVirtualMemory64(hProcess, lpBaseAddress, lpBuffer, nSize, lpNumberOfBytesWritten)
|
||||
|
||||
.. function:: FileTimeToSystemTime(lpFileTime, lpSystemTime)
|
||||
|
||||
.. function:: SystemTimeToFileTime(lpSystemTime, lpFileTime)
|
||||
@@ -1350,6 +1406,8 @@ Functions
|
||||
|
||||
.. function:: CreateRemoteThread(hProcess, lpThreadAttributes, dwStackSize, lpStartAddress, lpParameter, dwCreationFlags, lpThreadId)
|
||||
|
||||
.. function:: CreateRemoteThreadEx(hProcess, lpThreadAttributes, dwStackSize, lpStartAddress, lpParameter, dwCreationFlags, lpAttributeList, lpThreadId)
|
||||
|
||||
.. function:: CreateProcessA(lpApplicationName, lpCommandLine, lpProcessAttributes, lpThreadAttributes, bInheritHandles, dwCreationFlags, lpEnvironment, lpCurrentDirectory, lpStartupInfo, lpProcessInformation)
|
||||
|
||||
.. function:: CreateProcessW(lpApplicationName, lpCommandLine, lpProcessAttributes, lpThreadAttributes, bInheritHandles, dwCreationFlags, lpEnvironment, lpCurrentDirectory, lpStartupInfo, lpProcessInformation)
|
||||
@@ -1370,12 +1428,8 @@ Functions
|
||||
|
||||
.. function:: ReadProcessMemory(hProcess, lpBaseAddress, lpBuffer, nSize, lpNumberOfBytesRead)
|
||||
|
||||
.. function:: NtWow64ReadVirtualMemory64(hProcess, lpBaseAddress, lpBuffer, nSize, lpNumberOfBytesRead)
|
||||
|
||||
.. function:: WriteProcessMemory(hProcess, lpBaseAddress, lpBuffer, nSize, lpNumberOfBytesWritten)
|
||||
|
||||
.. function:: NtWow64WriteVirtualMemory64(hProcess, lpBaseAddress, lpBuffer, nSize, lpNumberOfBytesWritten)
|
||||
|
||||
.. function:: GetCurrentProcess()
|
||||
|
||||
.. function:: CreateFileA(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile)
|
||||
@@ -1468,14 +1522,6 @@ Functions
|
||||
|
||||
.. function:: DeviceIoControl(hDevice, dwIoControlCode, lpInBuffer, nInBufferSize, lpOutBuffer, nOutBufferSize, lpBytesReturned, lpOverlapped)
|
||||
|
||||
.. function:: Wow64DisableWow64FsRedirection(OldValue)
|
||||
|
||||
.. function:: Wow64RevertWow64FsRedirection(OldValue)
|
||||
|
||||
.. function:: Wow64EnableWow64FsRedirection(Wow64FsEnableRedirection)
|
||||
|
||||
.. function:: Wow64GetThreadContext(hThread, lpContext)
|
||||
|
||||
.. function:: SetConsoleCtrlHandler(HandlerRoutine, Add)
|
||||
|
||||
.. function:: GlobalAlloc(uFlags, dwBytes)
|
||||
@@ -1530,8 +1576,6 @@ Functions
|
||||
|
||||
.. function:: GetProcessId(Process)
|
||||
|
||||
.. function:: Wow64SetThreadContext(hThread, lpContext)
|
||||
|
||||
.. function:: GetMappedFileNameW(hProcess, lpv, lpFilename, nSize)
|
||||
|
||||
.. function:: GetMappedFileNameA(hProcess, lpv, lpFilename, nSize)
|
||||
|
||||
+1535
-1278
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user