about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorserpilliere <serpilliere@users.noreply.github.com>2016-10-14 09:14:09 +0200
committerGitHub <noreply@github.com>2016-10-14 09:14:09 +0200
commit3dfe52b6a4fa6acfd1547565638a25cf6446ffdc (patch)
tree20b48fa58de576249c0076ee8074fe7f2079aca0
parente0f06890b7b688f2b30f75fb0b621ecbb3ecd8dc (diff)
parentf89a89cc71ebd29188e79dded8e5b74c973c925b (diff)
downloadmiasm-3dfe52b6a4fa6acfd1547565638a25cf6446ffdc.tar.gz
miasm-3dfe52b6a4fa6acfd1547565638a25cf6446ffdc.zip
Merge pull request #442 from themaks/LoadLibraryExW_add
Add support for kernel32_LoadLibraryExW in os_dep.win_api_x86_32.py
-rw-r--r--miasm2/os_dep/win_api_x86_32.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/miasm2/os_dep/win_api_x86_32.py b/miasm2/os_dep/win_api_x86_32.py
index 38cf644c..265bad86 100644
--- a/miasm2/os_dep/win_api_x86_32.py
+++ b/miasm2/os_dep/win_api_x86_32.py
@@ -908,17 +908,25 @@ def kernel32_LoadLibraryW(jitter):
     kernel32_LoadLibrary(jitter, jitter.get_str_unic)
 
 
-def kernel32_LoadLibraryExA(jitter):
+def kernel32_LoadLibraryEx(jitter, get_str):
     ret_ad, args = jitter.func_args_stdcall(["dllname", "hfile", "flags"])
 
     if args.hfile != 0:
         raise NotImplementedError("Untested case")
-    libname = jitter.get_str_ansi(args.dllname, 0x100)
+    libname = get_str(args.dllname, 0x100)
     ret = winobjs.runtime_dll.lib_get_add_base(libname)
     log.info("Loading %r ret 0x%x", libname, ret)
     jitter.func_ret_stdcall(ret_ad, ret)
 
 
+def kernel32_LoadLibraryExA(jitter):
+    kernel32_LoadLibraryEx(jitter, jitter.get_str_ansi)
+
+
+def kernel32_LoadLibraryExW(jitter):
+    kernel32_LoadLibraryEx(jitter, jitter.get_str_unic)
+
+
 def kernel32_GetProcAddress(jitter):
     ret_ad, args = jitter.func_args_stdcall(["libbase", "fname"])
     fname = args.fname