diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2022-12-30 15:51:57 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2022-12-30 15:51:57 +0100 |
| commit | c821fd938c26348165844653868b986ca37c1c2a (patch) | |
| tree | e56436c10187f909d7235cd980cf482f8d2ac627 /src/wrapped/generated | |
| parent | 977caba4cac60f40edf867f0f353ce78625d83e2 (diff) | |
| download | box64-c821fd938c26348165844653868b986ca37c1c2a.tar.gz box64-c821fd938c26348165844653868b986ca37c1c2a.zip | |
Disable SECCOMP and added a bunch of wrapped function (partially fixed Heroic launcher)
Diffstat (limited to 'src/wrapped/generated')
| -rw-r--r-- | src/wrapped/generated/functions_list.txt | 20 | ||||
| -rw-r--r-- | src/wrapped/generated/wrappedlibctypes.h | 3 | ||||
| -rw-r--r-- | src/wrapped/generated/wrappedlzmatypes.h | 12 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.c | 12 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.h | 5 |
5 files changed, 52 insertions, 0 deletions
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt index 5be9252d..e5032981 100644 --- a/src/wrapped/generated/functions_list.txt +++ b/src/wrapped/generated/functions_list.txt @@ -356,6 +356,7 @@ #() iFEUU #() iFELp #() iFEpi +#() iFEpU #() iFEpL #() iFEpp #() iFEpV @@ -728,6 +729,7 @@ #() iFEpip #() iFEpiV #() iFEpiA +#() iFEpui #() iFEpup #() iFEpUi #() iFEpUp @@ -760,6 +762,7 @@ #() iFipii #() iFipip #() iFipui +#() iFipuu #() iFipup #() iFipLi #() iFipLu @@ -1165,6 +1168,7 @@ #() iFEppiA #() iFEpplp #() iFEpppi +#() iFEpppL #() iFEpppp #() iFEpppV #() iFiiipu @@ -1199,6 +1203,7 @@ #() iFpiuwp #() iFpiUUU #() iFpipii +#() iFpipiu #() iFpipiL #() iFpipip #() iFpippi @@ -2996,8 +3001,10 @@ wrappedlibc: - execv - execvp - lstat + - lstat64 - sigaltstack - stat + - stat64 - swapcontext - iFpV: - __isoc99_scanf @@ -3110,6 +3117,7 @@ wrappedlibc: - epoll_wait - iFippi: - fstatat + - fstatat64 - iFippL: - readlinkat - iFpipp: @@ -3606,8 +3614,20 @@ wrappedlibz: wrappedlzma: - vFpp: - lzma_index_end +- iFpU: + - lzma_alone_decoder +- iFpp: + - lzma_alone_encoder + - lzma_raw_decoder + - lzma_raw_encoder +- iFpui: + - lzma_easy_encoder - iFpUi: - lzma_stream_decoder +- iFppi: + - lzma_stream_encoder +- iFpppL: + - lzma_properties_decode - iFpppppL: - lzma_index_buffer_decode - iFpupppLppL: diff --git a/src/wrapped/generated/wrappedlibctypes.h b/src/wrapped/generated/wrappedlibctypes.h index d27b57b8..37b2fb8b 100644 --- a/src/wrapped/generated/wrappedlibctypes.h +++ b/src/wrapped/generated/wrappedlibctypes.h @@ -132,8 +132,10 @@ typedef int64_t (*iFppipppp_t)(void*, void*, int64_t, void*, void*, void*, void* GO(execv, iFpp_t) \ GO(execvp, iFpp_t) \ GO(lstat, iFpp_t) \ + GO(lstat64, iFpp_t) \ GO(sigaltstack, iFpp_t) \ GO(stat, iFpp_t) \ + GO(stat64, iFpp_t) \ GO(swapcontext, iFpp_t) \ GO(__isoc99_scanf, iFpV_t) \ GO(execl, iFpV_t) \ @@ -214,6 +216,7 @@ typedef int64_t (*iFppipppp_t)(void*, void*, int64_t, void*, void*, void*, void* GO(semctl, iFiiiN_t) \ GO(epoll_wait, iFipii_t) \ GO(fstatat, iFippi_t) \ + GO(fstatat64, iFippi_t) \ GO(readlinkat, iFippL_t) \ GO(__vasprintf_chk, iFpipp_t) \ GO(glob, iFpipp_t) \ diff --git a/src/wrapped/generated/wrappedlzmatypes.h b/src/wrapped/generated/wrappedlzmatypes.h index b2e0af77..b61a5bf9 100644 --- a/src/wrapped/generated/wrappedlzmatypes.h +++ b/src/wrapped/generated/wrappedlzmatypes.h @@ -12,13 +12,25 @@ #endif typedef void (*vFpp_t)(void*, void*); +typedef int64_t (*iFpU_t)(void*, uint64_t); +typedef int64_t (*iFpp_t)(void*, void*); +typedef int64_t (*iFpui_t)(void*, uint64_t, int64_t); typedef int64_t (*iFpUi_t)(void*, uint64_t, int64_t); +typedef int64_t (*iFppi_t)(void*, void*, int64_t); +typedef int64_t (*iFpppL_t)(void*, void*, void*, uintptr_t); typedef int64_t (*iFpppppL_t)(void*, void*, void*, void*, void*, uintptr_t); typedef int64_t (*iFpupppLppL_t)(void*, uint64_t, void*, void*, void*, uintptr_t, void*, void*, uintptr_t); #define SUPER() ADDED_FUNCTIONS() \ GO(lzma_index_end, vFpp_t) \ + GO(lzma_alone_decoder, iFpU_t) \ + GO(lzma_alone_encoder, iFpp_t) \ + GO(lzma_raw_decoder, iFpp_t) \ + GO(lzma_raw_encoder, iFpp_t) \ + GO(lzma_easy_encoder, iFpui_t) \ GO(lzma_stream_decoder, iFpUi_t) \ + GO(lzma_stream_encoder, iFppi_t) \ + GO(lzma_properties_decode, iFpppL_t) \ GO(lzma_index_buffer_decode, iFpppppL_t) \ GO(lzma_stream_buffer_decode, iFpupppLppL_t) diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c index 89e285b8..3bc9d90c 100644 --- a/src/wrapped/generated/wrapper.c +++ b/src/wrapped/generated/wrapper.c @@ -390,6 +390,7 @@ typedef int64_t (*iFEup_t)(x64emu_t*, uint64_t, void*); typedef int64_t (*iFEUU_t)(x64emu_t*, uint64_t, uint64_t); typedef int64_t (*iFELp_t)(x64emu_t*, uintptr_t, void*); typedef int64_t (*iFEpi_t)(x64emu_t*, void*, int64_t); +typedef int64_t (*iFEpU_t)(x64emu_t*, void*, uint64_t); typedef int64_t (*iFEpL_t)(x64emu_t*, void*, uintptr_t); typedef int64_t (*iFEpp_t)(x64emu_t*, void*, void*); typedef int64_t (*iFEpV_t)(x64emu_t*, void*, void*); @@ -762,6 +763,7 @@ typedef int64_t (*iFEpii_t)(x64emu_t*, void*, int64_t, int64_t); typedef int64_t (*iFEpip_t)(x64emu_t*, void*, int64_t, void*); typedef int64_t (*iFEpiV_t)(x64emu_t*, void*, int64_t, void*); typedef int64_t (*iFEpiA_t)(x64emu_t*, void*, int64_t, void*); +typedef int64_t (*iFEpui_t)(x64emu_t*, void*, uint64_t, int64_t); typedef int64_t (*iFEpup_t)(x64emu_t*, void*, uint64_t, void*); typedef int64_t (*iFEpUi_t)(x64emu_t*, void*, uint64_t, int64_t); typedef int64_t (*iFEpUp_t)(x64emu_t*, void*, uint64_t, void*); @@ -794,6 +796,7 @@ typedef int64_t (*iFillu_t)(int64_t, intptr_t, intptr_t, uint64_t); typedef int64_t (*iFipii_t)(int64_t, void*, int64_t, int64_t); typedef int64_t (*iFipip_t)(int64_t, void*, int64_t, void*); typedef int64_t (*iFipui_t)(int64_t, void*, uint64_t, int64_t); +typedef int64_t (*iFipuu_t)(int64_t, void*, uint64_t, uint64_t); typedef int64_t (*iFipup_t)(int64_t, void*, uint64_t, void*); typedef int64_t (*iFipLi_t)(int64_t, void*, uintptr_t, int64_t); typedef int64_t (*iFipLu_t)(int64_t, void*, uintptr_t, uint64_t); @@ -1199,6 +1202,7 @@ typedef int64_t (*iFEppiV_t)(x64emu_t*, void*, void*, int64_t, void*); typedef int64_t (*iFEppiA_t)(x64emu_t*, void*, void*, int64_t, void*); typedef int64_t (*iFEpplp_t)(x64emu_t*, void*, void*, intptr_t, void*); typedef int64_t (*iFEpppi_t)(x64emu_t*, void*, void*, void*, int64_t); +typedef int64_t (*iFEpppL_t)(x64emu_t*, void*, void*, void*, uintptr_t); typedef int64_t (*iFEpppp_t)(x64emu_t*, void*, void*, void*, void*); typedef int64_t (*iFEpppV_t)(x64emu_t*, void*, void*, void*, void*); typedef int64_t (*iFiiipu_t)(int64_t, int64_t, int64_t, void*, uint64_t); @@ -1233,6 +1237,7 @@ typedef int64_t (*iFpiIip_t)(void*, int64_t, int64_t, int64_t, void*); typedef int64_t (*iFpiuwp_t)(void*, int64_t, uint64_t, int16_t, void*); typedef int64_t (*iFpiUUU_t)(void*, int64_t, uint64_t, uint64_t, uint64_t); typedef int64_t (*iFpipii_t)(void*, int64_t, void*, int64_t, int64_t); +typedef int64_t (*iFpipiu_t)(void*, int64_t, void*, int64_t, uint64_t); typedef int64_t (*iFpipiL_t)(void*, int64_t, void*, int64_t, uintptr_t); typedef int64_t (*iFpipip_t)(void*, int64_t, void*, int64_t, void*); typedef int64_t (*iFpippi_t)(void*, int64_t, void*, void*, int64_t); @@ -2655,6 +2660,7 @@ void iFEup(x64emu_t *emu, uintptr_t fcn) { iFEup_t fn = (iFEup_t)fcn; R_RAX=(int void iFEUU(x64emu_t *emu, uintptr_t fcn) { iFEUU_t fn = (iFEUU_t)fcn; R_RAX=(int64_t)fn(emu, (uint64_t)R_RDI, (uint64_t)R_RSI); } void iFELp(x64emu_t *emu, uintptr_t fcn) { iFELp_t fn = (iFELp_t)fcn; R_RAX=(int64_t)fn(emu, (uintptr_t)R_RDI, (void*)R_RSI); } void iFEpi(x64emu_t *emu, uintptr_t fcn) { iFEpi_t fn = (iFEpi_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (int64_t)R_RSI); } +void iFEpU(x64emu_t *emu, uintptr_t fcn) { iFEpU_t fn = (iFEpU_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (uint64_t)R_RSI); } void iFEpL(x64emu_t *emu, uintptr_t fcn) { iFEpL_t fn = (iFEpL_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (uintptr_t)R_RSI); } void iFEpp(x64emu_t *emu, uintptr_t fcn) { iFEpp_t fn = (iFEpp_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (void*)R_RSI); } void iFEpV(x64emu_t *emu, uintptr_t fcn) { iFEpV_t fn = (iFEpV_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (void*)(R_RSP + 8)); } @@ -3027,6 +3033,7 @@ void iFEpii(x64emu_t *emu, uintptr_t fcn) { iFEpii_t fn = (iFEpii_t)fcn; R_RAX=( void iFEpip(x64emu_t *emu, uintptr_t fcn) { iFEpip_t fn = (iFEpip_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX); } void iFEpiV(x64emu_t *emu, uintptr_t fcn) { iFEpiV_t fn = (iFEpiV_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (int64_t)R_RSI, (void*)(R_RSP + 8)); } void iFEpiA(x64emu_t *emu, uintptr_t fcn) { iFEpiA_t fn = (iFEpiA_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX); } +void iFEpui(x64emu_t *emu, uintptr_t fcn) { iFEpui_t fn = (iFEpui_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX); } void iFEpup(x64emu_t *emu, uintptr_t fcn) { iFEpup_t fn = (iFEpup_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (uint64_t)R_RSI, (void*)R_RDX); } void iFEpUi(x64emu_t *emu, uintptr_t fcn) { iFEpUi_t fn = (iFEpUi_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX); } void iFEpUp(x64emu_t *emu, uintptr_t fcn) { iFEpUp_t fn = (iFEpUp_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (uint64_t)R_RSI, (void*)R_RDX); } @@ -3059,6 +3066,7 @@ void iFillu(x64emu_t *emu, uintptr_t fcn) { iFillu_t fn = (iFillu_t)fcn; R_RAX=( void iFipii(x64emu_t *emu, uintptr_t fcn) { iFipii_t fn = (iFipii_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX); } void iFipip(x64emu_t *emu, uintptr_t fcn) { iFipip_t fn = (iFipip_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX); } void iFipui(x64emu_t *emu, uintptr_t fcn) { iFipui_t fn = (iFipui_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (int64_t)R_RCX); } +void iFipuu(x64emu_t *emu, uintptr_t fcn) { iFipuu_t fn = (iFipuu_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX); } void iFipup(x64emu_t *emu, uintptr_t fcn) { iFipup_t fn = (iFipup_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (void*)R_RCX); } void iFipLi(x64emu_t *emu, uintptr_t fcn) { iFipLi_t fn = (iFipLi_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (int64_t)R_RCX); } void iFipLu(x64emu_t *emu, uintptr_t fcn) { iFipLu_t fn = (iFipLu_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uint64_t)R_RCX); } @@ -3464,6 +3472,7 @@ void iFEppiV(x64emu_t *emu, uintptr_t fcn) { iFEppiV_t fn = (iFEppiV_t)fcn; R_RA void iFEppiA(x64emu_t *emu, uintptr_t fcn) { iFEppiA_t fn = (iFEppiA_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX); } void iFEpplp(x64emu_t *emu, uintptr_t fcn) { iFEpplp_t fn = (iFEpplp_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (void*)R_RCX); } void iFEpppi(x64emu_t *emu, uintptr_t fcn) { iFEpppi_t fn = (iFEpppi_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX); } +void iFEpppL(x64emu_t *emu, uintptr_t fcn) { iFEpppL_t fn = (iFEpppL_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX); } void iFEpppp(x64emu_t *emu, uintptr_t fcn) { iFEpppp_t fn = (iFEpppp_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); } void iFEpppV(x64emu_t *emu, uintptr_t fcn) { iFEpppV_t fn = (iFEpppV_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)(R_RSP + 8)); } void iFiiipu(x64emu_t *emu, uintptr_t fcn) { iFiiipu_t fn = (iFiiipu_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (uint64_t)R_R8); } @@ -3498,6 +3507,7 @@ void iFpiIip(x64emu_t *emu, uintptr_t fcn) { iFpiIip_t fn = (iFpiIip_t)fcn; R_RA void iFpiuwp(x64emu_t *emu, uintptr_t fcn) { iFpiuwp_t fn = (iFpiuwp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (int16_t)R_RCX, (void*)R_R8); } void iFpiUUU(x64emu_t *emu, uintptr_t fcn) { iFpiUUU_t fn = (iFpiUUU_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8); } void iFpipii(x64emu_t *emu, uintptr_t fcn) { iFpipii_t fn = (iFpipii_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8); } +void iFpipiu(x64emu_t *emu, uintptr_t fcn) { iFpipiu_t fn = (iFpipiu_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (uint64_t)R_R8); } void iFpipiL(x64emu_t *emu, uintptr_t fcn) { iFpipiL_t fn = (iFpipiL_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (uintptr_t)R_R8); } void iFpipip(x64emu_t *emu, uintptr_t fcn) { iFpipip_t fn = (iFpipip_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8); } void iFpippi(x64emu_t *emu, uintptr_t fcn) { iFpippi_t fn = (iFpippi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8); } @@ -5214,6 +5224,7 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &iFipii) return 1; if (fun == &iFipip) return 1; if (fun == &iFipui) return 1; + if (fun == &iFipuu) return 1; if (fun == &iFipup) return 1; if (fun == &iFipLi) return 1; if (fun == &iFipLu) return 1; @@ -5589,6 +5600,7 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &iFpiuwp) return 1; if (fun == &iFpiUUU) return 1; if (fun == &iFpipii) return 1; + if (fun == &iFpipiu) return 1; if (fun == &iFpipiL) return 1; if (fun == &iFpipip) return 1; if (fun == &iFpippi) return 1; diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h index 140ea38e..2d7e15f1 100644 --- a/src/wrapped/generated/wrapper.h +++ b/src/wrapped/generated/wrapper.h @@ -389,6 +389,7 @@ void iFEup(x64emu_t *emu, uintptr_t fnc); void iFEUU(x64emu_t *emu, uintptr_t fnc); void iFELp(x64emu_t *emu, uintptr_t fnc); void iFEpi(x64emu_t *emu, uintptr_t fnc); +void iFEpU(x64emu_t *emu, uintptr_t fnc); void iFEpL(x64emu_t *emu, uintptr_t fnc); void iFEpp(x64emu_t *emu, uintptr_t fnc); void iFEpV(x64emu_t *emu, uintptr_t fnc); @@ -761,6 +762,7 @@ void iFEpii(x64emu_t *emu, uintptr_t fnc); void iFEpip(x64emu_t *emu, uintptr_t fnc); void iFEpiV(x64emu_t *emu, uintptr_t fnc); void iFEpiA(x64emu_t *emu, uintptr_t fnc); +void iFEpui(x64emu_t *emu, uintptr_t fnc); void iFEpup(x64emu_t *emu, uintptr_t fnc); void iFEpUi(x64emu_t *emu, uintptr_t fnc); void iFEpUp(x64emu_t *emu, uintptr_t fnc); @@ -793,6 +795,7 @@ void iFillu(x64emu_t *emu, uintptr_t fnc); void iFipii(x64emu_t *emu, uintptr_t fnc); void iFipip(x64emu_t *emu, uintptr_t fnc); void iFipui(x64emu_t *emu, uintptr_t fnc); +void iFipuu(x64emu_t *emu, uintptr_t fnc); void iFipup(x64emu_t *emu, uintptr_t fnc); void iFipLi(x64emu_t *emu, uintptr_t fnc); void iFipLu(x64emu_t *emu, uintptr_t fnc); @@ -1198,6 +1201,7 @@ void iFEppiV(x64emu_t *emu, uintptr_t fnc); void iFEppiA(x64emu_t *emu, uintptr_t fnc); void iFEpplp(x64emu_t *emu, uintptr_t fnc); void iFEpppi(x64emu_t *emu, uintptr_t fnc); +void iFEpppL(x64emu_t *emu, uintptr_t fnc); void iFEpppp(x64emu_t *emu, uintptr_t fnc); void iFEpppV(x64emu_t *emu, uintptr_t fnc); void iFiiipu(x64emu_t *emu, uintptr_t fnc); @@ -1232,6 +1236,7 @@ void iFpiIip(x64emu_t *emu, uintptr_t fnc); void iFpiuwp(x64emu_t *emu, uintptr_t fnc); void iFpiUUU(x64emu_t *emu, uintptr_t fnc); void iFpipii(x64emu_t *emu, uintptr_t fnc); +void iFpipiu(x64emu_t *emu, uintptr_t fnc); void iFpipiL(x64emu_t *emu, uintptr_t fnc); void iFpipip(x64emu_t *emu, uintptr_t fnc); void iFpippi(x64emu_t *emu, uintptr_t fnc); |