From 2949e5cd8df2dfe07411475716c04fc8fd582740 Mon Sep 17 00:00:00 2001 From: Yang Liu Date: Thu, 8 Jun 2023 14:27:00 +0800 Subject: [WRAPPER] Added some more libc wrappers (#826) --- src/wrapped/generated/functions_list.txt | 1 + src/wrapped/generated/wrapper.c | 3 +++ src/wrapped/generated/wrapper.h | 1 + src/wrapped/wrappedlibc_private.h | 6 +++--- 4 files changed, 8 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt index d9ecc417..ed115c72 100644 --- a/src/wrapped/generated/functions_list.txt +++ b/src/wrapped/generated/functions_list.txt @@ -1464,6 +1464,7 @@ #() iFpupui #() iFpupuu #() iFpupup +#() iFpuppL #() iFpuppp #() iFpUiUi #() iFpUupp diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c index cb716efb..1b271375 100644 --- a/src/wrapped/generated/wrapper.c +++ b/src/wrapped/generated/wrapper.c @@ -1500,6 +1500,7 @@ typedef int32_t (*iFpupiU_t)(void*, uint32_t, void*, int32_t, uint64_t); typedef int32_t (*iFpupui_t)(void*, uint32_t, void*, uint32_t, int32_t); typedef int32_t (*iFpupuu_t)(void*, uint32_t, void*, uint32_t, uint32_t); typedef int32_t (*iFpupup_t)(void*, uint32_t, void*, uint32_t, void*); +typedef int32_t (*iFpuppL_t)(void*, uint32_t, void*, void*, uintptr_t); typedef int32_t (*iFpuppp_t)(void*, uint32_t, void*, void*, void*); typedef int32_t (*iFpUiUi_t)(void*, uint64_t, int32_t, uint64_t, int32_t); typedef int32_t (*iFpUupp_t)(void*, uint64_t, uint32_t, void*, void*); @@ -4303,6 +4304,7 @@ void iFpupiU(x64emu_t *emu, uintptr_t fcn) { iFpupiU_t fn = (iFpupiU_t)fcn; R_RA void iFpupui(x64emu_t *emu, uintptr_t fcn) { iFpupui_t fn = (iFpupui_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8); } void iFpupuu(x64emu_t *emu, uintptr_t fcn) { iFpupuu_t fn = (iFpupuu_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8); } void iFpupup(x64emu_t *emu, uintptr_t fcn) { iFpupup_t fn = (iFpupup_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (void*)R_R8); } +void iFpuppL(x64emu_t *emu, uintptr_t fcn) { iFpuppL_t fn = (iFpuppL_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (uintptr_t)R_R8); } void iFpuppp(x64emu_t *emu, uintptr_t fcn) { iFpuppp_t fn = (iFpuppp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); } void iFpUiUi(x64emu_t *emu, uintptr_t fcn) { iFpUiUi_t fn = (iFpUiUi_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint64_t)R_RSI, (int32_t)R_RDX, (uint64_t)R_RCX, (int32_t)R_R8); } void iFpUupp(x64emu_t *emu, uintptr_t fcn) { iFpUupp_t fn = (iFpUupp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8); } @@ -6883,6 +6885,7 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &iFpupui) return 1; if (fun == &iFpupuu) return 1; if (fun == &iFpupup) return 1; + if (fun == &iFpuppL) return 1; if (fun == &iFpuppp) return 1; if (fun == &iFpUiUi) return 1; if (fun == &iFpUupp) return 1; diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h index 6eb93f70..c96147b9 100644 --- a/src/wrapped/generated/wrapper.h +++ b/src/wrapped/generated/wrapper.h @@ -1501,6 +1501,7 @@ void iFpupiU(x64emu_t *emu, uintptr_t fnc); void iFpupui(x64emu_t *emu, uintptr_t fnc); void iFpupuu(x64emu_t *emu, uintptr_t fnc); void iFpupup(x64emu_t *emu, uintptr_t fnc); +void iFpuppL(x64emu_t *emu, uintptr_t fnc); void iFpuppp(x64emu_t *emu, uintptr_t fnc); void iFpUiUi(x64emu_t *emu, uintptr_t fnc); void iFpUupp(x64emu_t *emu, uintptr_t fnc); diff --git a/src/wrapped/wrappedlibc_private.h b/src/wrapped/wrappedlibc_private.h index 6a977e15..7a33232d 100755 --- a/src/wrapped/wrappedlibc_private.h +++ b/src/wrapped/wrappedlibc_private.h @@ -1304,7 +1304,7 @@ DATA(opterr, sizeof(int)) DATA(optind, sizeof(int)) DATA(optopt, sizeof(int)) GO(__overflow, iFpi) -//GO(parse_printf_format, +GO(parse_printf_format, LFpLp) //GO(passwd2des, // Deprecated GO(pathconf, lFpi) GOW(pause, iFv) @@ -1362,7 +1362,7 @@ GOW(posix_spawn_file_actions_destroy, iFp) GOW(posix_spawn_file_actions_init, iFp) GOM(posix_spawnp, iFEpppppp) GO(ppoll, iFpLpp) -//GO(__ppoll_chk, +GO(__ppoll_chk, iFpuppL) GOWM(prctl, iFEiLLLL) GO(pread, IFipUI) GOW(__pread64, lFipLI) @@ -1693,7 +1693,7 @@ GO(siggetmask, iFv) GO(sighold, iFi) GO(sigignore, iFi) GO(siginterrupt, iFii) -//GO(sigisemptyset, iF!) +GO(sigisemptyset, iFp) //GO(__sigismember, GO(sigismember, iFpi) GOM(siglongjmp, vFEpi) -- cgit 1.4.1