diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-03-02 10:47:22 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-03-02 10:47:22 +0100 |
| commit | 26201d7e705714cd8ecca3fa28f51e819f9eb520 (patch) | |
| tree | a53914e9b6b28285ed5ee1f22d7d2900f608faec /src/include | |
| parent | 542a2a0775e5fe2921ce7893a9c1d77915a87bc4 (diff) | |
| download | box64-26201d7e705714cd8ecca3fa28f51e819f9eb520.tar.gz box64-26201d7e705714cd8ecca3fa28f51e819f9eb520.zip | |
More elf loader and parsing and stack preparing
Diffstat (limited to 'src/include')
| -rwxr-xr-x | src/include/box64stack.h | 17 | ||||
| -rwxr-xr-x | src/include/elfloader.h | 4 |
2 files changed, 19 insertions, 2 deletions
diff --git a/src/include/box64stack.h b/src/include/box64stack.h new file mode 100755 index 00000000..a6b00fea --- /dev/null +++ b/src/include/box64stack.h @@ -0,0 +1,17 @@ +#ifndef __BOX64_STACK_H_ +#define __BOX64_STACK_H_ + +#include <stdint.h> + +typedef struct box64context_s box64context_t; +//typedef struct x64emu_s x64emu_t; + +int CalcStackSize(box64context_t *context); +//void SetupInitialStack(x64emu_t *emu); + +//uint16_t Pop16(x64emu_t *emu); +//void Push16(x64emu_t *emu, uint16_t v); +//uint32_t Pop32(x64emu_t *emu); +//void Push32(x64emu_t *emu, uint32_t v); + +#endif //__BOX64_STACK_H_ \ No newline at end of file diff --git a/src/include/elfloader.h b/src/include/elfloader.h index 2046865d..28ce4844 100755 --- a/src/include/elfloader.h +++ b/src/include/elfloader.h @@ -26,9 +26,9 @@ int LoadElfMemory(FILE* f, box64context_t* context, elfheader_t* head); int ReloadElfMemory(FILE* f, box64context_t* context, elfheader_t* head); //int RelocateElf(lib_t *maplib, lib_t* local_maplib, elfheader_t* head); //int RelocateElfPlt(lib_t *maplib, lib_t* local_maplib, elfheader_t* head); -//void CalcStack(elfheader_t* h, uint32_t* stacksz, int* stackalign); +void CalcStack(elfheader_t* h, uint32_t* stacksz, int* stackalign); //uintptr_t GetEntryPoint(lib_t* maplib, elfheader_t* h); -//uintptr_t GetLastByte(elfheader_t* h); +uintptr_t GetLastByte(elfheader_t* h); //void AddSymbols(lib_t *maplib, kh_mapsymbols_t* mapsymbols, kh_mapsymbols_t* weaksymbols, kh_mapsymbols_t* localsymbols, elfheader_t* h); //int LoadNeededLibs(elfheader_t* h, lib_t *maplib, needed_libs_t* neededlibs, int local, box64context_t *box86, x86emu_t* emu); //uintptr_t GetElfInit(elfheader_t* h); |