From db4c51dc670c0c61345d6686499a76fb2578784d Mon Sep 17 00:00:00 2001 From: Clement Rouault Date: Tue, 22 Mar 2016 13:37:22 +0100 Subject: [PATCH] Syswow64ApiProxy now handle None from OptionalExport --- windows/syswow64.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/windows/syswow64.py b/windows/syswow64.py index 2d84685..cf90f5d 100644 --- a/windows/syswow64.py +++ b/windows/syswow64.py @@ -218,9 +218,13 @@ class Syswow64ApiProxy(object): def __init__(self, winproxy_function): self.winproxy_function = winproxy_function self.raw_call = None - self.params_name = [param[1] for param in winproxy_function.params] + if winproxy_function is not None: + self.params_name = [param[1] for param in winproxy_function.params] def __call__(self, python_proxy): + # handle winproxy_function is None (OptionalExport) + if self.winproxy_function is None: + return None def perform_call(*args): if len(self.params_name) != len(args): print("ERROR:") @@ -238,6 +242,7 @@ class Syswow64ApiProxy(object): return python_proxy + @Syswow64ApiProxy(winproxy.NtCreateThreadEx) def NtCreateThreadEx_32_to_64(ThreadHandle=None, DesiredAccess=0x1fffff, ObjectAttributes=0, ProcessHandle=NeededParameter, lpStartAddress=NeededParameter, lpParameter=NeededParameter, CreateSuspended=0, dwStackSize=0, Unknown1=0, Unknown2=0, Unknown3=0): if ThreadHandle is None: