diff options
Diffstat (limited to 'src/include')
| -rwxr-xr-x | src/include/callback.h | 2 | ||||
| -rwxr-xr-x | src/include/debug.h | 4 | ||||
| -rwxr-xr-x | src/include/elfloader.h | 1 |
3 files changed, 6 insertions, 1 deletions
diff --git a/src/include/callback.h b/src/include/callback.h index dba59ee8..dae26f1e 100755 --- a/src/include/callback.h +++ b/src/include/callback.h @@ -6,6 +6,8 @@ typedef struct x64emu_s x64emu_t; uint64_t RunFunction(box64context_t *context, uintptr_t fnc, int nargs, ...); +// save all modified register +uint64_t RunSafeFunction(box64context_t *context, uintptr_t fnc, int nargs, ...); // use emu state to run function uint64_t RunFunctionWithEmu(x64emu_t *emu, int QuitOnLongJumpExit, uintptr_t fnc, int nargs, ...); diff --git a/src/include/debug.h b/src/include/debug.h index c03fc0b0..7c14a6ee 100755 --- a/src/include/debug.h +++ b/src/include/debug.h @@ -75,8 +75,9 @@ extern FILE* ftrace; #define EXPORTDYN #endif -#ifdef ANDROID void init_malloc_hook(); +extern size_t(*box_malloc_usable_size)(void*); +#ifdef ANDROID extern void*(*__libc_malloc)(size_t); extern void*(*__libc_realloc)(void*, size_t); extern void*(*__libc_calloc)(size_t, size_t); @@ -95,5 +96,6 @@ extern void* __libc_memalign(size_t, size_t); #define box_free __libc_free #define box_memalign __libc_memalign extern char* box_strdup(const char* s); +extern char* box_realpath(const char* path, char* ret); #endif //__DEBUG_H_ diff --git a/src/include/elfloader.h b/src/include/elfloader.h index 6846dcd4..a4f59719 100755 --- a/src/include/elfloader.h +++ b/src/include/elfloader.h @@ -38,6 +38,7 @@ void RefreshElfTLS(elfheader_t* h); void RunElfInit(elfheader_t* h, x64emu_t *emu); void RunElfFini(elfheader_t* h, x64emu_t *emu); void RunDeferedElfInit(x64emu_t *emu); +void MarkElfInitDone(elfheader_t* h); void* GetBaseAddress(elfheader_t* h); void* GetElfDelta(elfheader_t* h); uint32_t GetBaseSize(elfheader_t* h); |