diff options
| author | serpilliere <serpilliere@users.noreply.github.com> | 2016-10-14 09:14:09 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-10-14 09:14:09 +0200 |
| commit | 3dfe52b6a4fa6acfd1547565638a25cf6446ffdc (patch) | |
| tree | 20b48fa58de576249c0076ee8074fe7f2079aca0 | |
| parent | e0f06890b7b688f2b30f75fb0b621ecbb3ecd8dc (diff) | |
| parent | f89a89cc71ebd29188e79dded8e5b74c973c925b (diff) | |
| download | miasm-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.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 |