diff options
| -rw-r--r-- | miasm2/os_dep/win_api_x86_32.py | 12 |
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 |