From 1f7c69e19e82ec8ddf87c7e4e6fca8160b50e818 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Mon, 16 Sep 2024 17:52:47 +0200 Subject: [BOX32] Added 1 more wrapped 32bits libc function --- src/wrapped32/generated/functions_list.txt | 1 + src/wrapped32/generated/wrapper32.c | 2 ++ src/wrapped32/generated/wrapper32.h | 1 + src/wrapped32/wrappedlibc_private.h | 2 +- 4 files changed, 5 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/wrapped32/generated/functions_list.txt b/src/wrapped32/generated/functions_list.txt index 46b5baf9..a006f68b 100644 --- a/src/wrapped32/generated/functions_list.txt +++ b/src/wrapped32/generated/functions_list.txt @@ -59,6 +59,7 @@ #() hFv -> hFv #() aFa -> aFa #() tFi -> tFi +#() tFu -> tFu #() tFp -> tFp #() LFrL_ -> LFB #() pFrL_ -> pFB diff --git a/src/wrapped32/generated/wrapper32.c b/src/wrapped32/generated/wrapper32.c index 91efdd8e..f95486ba 100644 --- a/src/wrapped32/generated/wrapper32.c +++ b/src/wrapped32/generated/wrapper32.c @@ -146,6 +146,7 @@ typedef void* (*pFp_t)(void*); typedef uintptr_t (*hFv_t)(void); typedef void* (*aFa_t)(void*); typedef char* (*tFi_t)(int32_t); +typedef char* (*tFu_t)(uint32_t); typedef char* (*tFp_t)(void*); typedef uintptr_t (*LFrL__t)(struct_L_t*); typedef void* (*pFrL__t)(struct_L_t*); @@ -1000,6 +1001,7 @@ void pFp_32(x64emu_t *emu, uintptr_t fcn) { pFp_t fn = (pFp_t)fcn; R_EAX = to_pt void hFv_32(x64emu_t *emu, uintptr_t fcn) { hFv_t fn = (hFv_t)fcn; R_EAX = to_hash(fn()); } void aFa_32(x64emu_t *emu, uintptr_t fcn) { aFa_t fn = (aFa_t)fcn; R_EAX = to_locale(fn(from_locale(from_ptri(ptr_t, R_ESP + 4)))); } void tFi_32(x64emu_t *emu, uintptr_t fcn) { tFi_t fn = (tFi_t)fcn; R_EAX = to_cstring(fn(from_ptri(int32_t, R_ESP + 4))); } +void tFu_32(x64emu_t *emu, uintptr_t fcn) { tFu_t fn = (tFu_t)fcn; R_EAX = to_cstring(fn(from_ptri(uint32_t, R_ESP + 4))); } void tFp_32(x64emu_t *emu, uintptr_t fcn) { tFp_t fn = (tFp_t)fcn; R_EAX = to_cstring(fn(from_ptriv(R_ESP + 4))); } void LFrL__32(x64emu_t *emu, uintptr_t fcn) { LFrL__t fn = (LFrL__t)fcn; struct_L_t arg_4; from_struct_L(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); R_EAX = to_ulong(fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL)); } void pFrL__32(x64emu_t *emu, uintptr_t fcn) { pFrL__t fn = (pFrL__t)fcn; struct_L_t arg_4; from_struct_L(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); R_EAX = to_ptrv(fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL)); } diff --git a/src/wrapped32/generated/wrapper32.h b/src/wrapped32/generated/wrapper32.h index a533aa6e..4f1f22fb 100644 --- a/src/wrapped32/generated/wrapper32.h +++ b/src/wrapped32/generated/wrapper32.h @@ -99,6 +99,7 @@ void pFp_32(x64emu_t *emu, uintptr_t fnc); void hFv_32(x64emu_t *emu, uintptr_t fnc); void aFa_32(x64emu_t *emu, uintptr_t fnc); void tFi_32(x64emu_t *emu, uintptr_t fnc); +void tFu_32(x64emu_t *emu, uintptr_t fnc); void tFp_32(x64emu_t *emu, uintptr_t fnc); void LFrL__32(x64emu_t *emu, uintptr_t fnc); void pFrL__32(x64emu_t *emu, uintptr_t fnc); diff --git a/src/wrapped32/wrappedlibc_private.h b/src/wrapped32/wrappedlibc_private.h index af9bdbf8..d1ef80cf 100755 --- a/src/wrapped32/wrappedlibc_private.h +++ b/src/wrapped32/wrappedlibc_private.h @@ -691,7 +691,7 @@ GOW(inet_aton, iFpp) //GO(inet_network, iFp) // inet_nsap_addr //GO(inet_nsap_ntoa, pFipp) -//GO(inet_ntoa, pFu) +GO(inet_ntoa, tFu) //GO(inet_ntop, pFippu) //GO(inet_pton, iFipp) //GO(initgroups, iFpi) -- cgit 1.4.1