diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-04-02 19:27:32 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-04-02 19:27:32 +0200 |
| commit | 555f4e132fbcb87a5ee5ccf6776aafba922223b2 (patch) | |
| tree | f453702f2b2a78015115934f7cf10f0e5d87bf78 /src/wrapped/generated | |
| parent | c3209a273630eadc79f060c1f295ef3174c62e4d (diff) | |
| download | box64-555f4e132fbcb87a5ee5ccf6776aafba922223b2.tar.gz box64-555f4e132fbcb87a5ee5ccf6776aafba922223b2.zip | |
Added a few more libc wrapped function and fixed munmap wrapping
Diffstat (limited to 'src/wrapped/generated')
| -rw-r--r-- | src/wrapped/generated/functions_list.txt | 1 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.c | 2 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.h | 1 |
3 files changed, 4 insertions, 0 deletions
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt index 43601059..599a9bca 100644 --- a/src/wrapped/generated/functions_list.txt +++ b/src/wrapped/generated/functions_list.txt @@ -53,6 +53,7 @@ #() pFv #() pFi #() pFu +#() pFl #() pFL #() pFp #() HFi diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c index 9447d075..9c525227 100644 --- a/src/wrapped/generated/wrapper.c +++ b/src/wrapped/generated/wrapper.c @@ -86,6 +86,7 @@ typedef void* (*pFE_t)(x64emu_t*); typedef void* (*pFv_t)(void); typedef void* (*pFi_t)(int32_t); typedef void* (*pFu_t)(uint32_t); +typedef void* (*pFl_t)(intptr_t); typedef void* (*pFL_t)(uintptr_t); typedef void* (*pFp_t)(void*); typedef unsigned __int128 (*HFi_t)(int32_t); @@ -1182,6 +1183,7 @@ void pFE(x64emu_t *emu, uintptr_t fcn) { pFE_t fn = (pFE_t)fcn; R_RAX=(uintptr_t void pFv(x64emu_t *emu, uintptr_t fcn) { pFv_t fn = (pFv_t)fcn; R_RAX=(uintptr_t)fn(); } void pFi(x64emu_t *emu, uintptr_t fcn) { pFi_t fn = (pFi_t)fcn; R_RAX=(uintptr_t)fn((int64_t)R_RDI); } void pFu(x64emu_t *emu, uintptr_t fcn) { pFu_t fn = (pFu_t)fcn; R_RAX=(uintptr_t)fn((uint64_t)R_RDI); } +void pFl(x64emu_t *emu, uintptr_t fcn) { pFl_t fn = (pFl_t)fcn; R_RAX=(uintptr_t)fn((intptr_t)R_RDI); } void pFL(x64emu_t *emu, uintptr_t fcn) { pFL_t fn = (pFL_t)fcn; R_RAX=(uintptr_t)fn((uintptr_t)R_RDI); } void pFp(x64emu_t *emu, uintptr_t fcn) { pFp_t fn = (pFp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI); } void HFi(x64emu_t *emu, uintptr_t fcn) { HFi_t fn = (HFi_t)fcn; unsigned __int128 u128 = fn((int64_t)R_RDI); R_RAX=(u128&0xFFFFFFFFFFFFFFFFL); R_RDX=(u128>>64)&0xFFFFFFFFFFFFFFFFL; } diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h index 2757063c..642f68a4 100644 --- a/src/wrapped/generated/wrapper.h +++ b/src/wrapped/generated/wrapper.h @@ -83,6 +83,7 @@ void pFE(x64emu_t *emu, uintptr_t fnc); void pFv(x64emu_t *emu, uintptr_t fnc); void pFi(x64emu_t *emu, uintptr_t fnc); void pFu(x64emu_t *emu, uintptr_t fnc); +void pFl(x64emu_t *emu, uintptr_t fnc); void pFL(x64emu_t *emu, uintptr_t fnc); void pFp(x64emu_t *emu, uintptr_t fnc); void HFi(x64emu_t *emu, uintptr_t fnc); |