diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2025-04-27 14:07:31 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2025-04-27 14:07:31 +0200 |
| commit | be63129179f3281802414a44118fd340607a4dd0 (patch) | |
| tree | 11d5f7b339aa7005cdd981f1703c16ef44dbce4f /src | |
| parent | 02423c2d7db8391e31f69f0d94125abdbe4ec7fd (diff) | |
| download | box64-be63129179f3281802414a44118fd340607a4dd0.tar.gz box64-be63129179f3281802414a44118fd340607a4dd0.zip | |
[WRAPPER] Reworked libssh2 wrapping, to make it more complete
Diffstat (limited to 'src')
| -rw-r--r-- | src/emu/x64printer.c | 38 | ||||
| -rw-r--r-- | src/wrapped/generated/functions_list.txt | 25 | ||||
| -rw-r--r-- | src/wrapped/generated/wrappedlibssh2types.h | 8 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.c | 56 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.h | 19 | ||||
| -rw-r--r-- | src/wrapped/wrappedlibssh2.c | 152 | ||||
| -rw-r--r-- | src/wrapped/wrappedlibssh2_private.h | 127 |
7 files changed, 418 insertions, 7 deletions
diff --git a/src/emu/x64printer.c b/src/emu/x64printer.c index 34168211..5ab00421 100644 --- a/src/emu/x64printer.c +++ b/src/emu/x64printer.c @@ -2111,6 +2111,8 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu64 ", %" PRIi32 ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uintptr_t)R_RSI, (int32_t)R_RDX, (uintptr_t)R_RCX); } else if (w == iFpLip) { snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu64 ", %" PRIi32 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uintptr_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX); + } else if (w == iFpLCp) { + snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu64 ", %" PRIu8 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uintptr_t)R_RSI, (uint8_t)R_RDX, (void*)R_RCX); } else if (w == iFpLui) { snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu64 ", %" PRIu32 ", %" PRIi32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uintptr_t)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX); } else if (w == iFpLuu) { @@ -2331,6 +2333,8 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIi32 ", %" PRIi64 ", %" PRIi32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (int32_t)R_RSI, (intptr_t)R_RDX, (int32_t)R_RCX); } else if (w == lFpilp) { snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIi32 ", %" PRIi64 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (int32_t)R_RSI, (intptr_t)R_RDX, (void*)R_RCX); + } else if (w == lFpipL) { + snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIi32 ", %" PRIp ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX); } else if (w == lFpuip) { snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu32 ", %" PRIi32 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX); } else if (w == lFplip) { @@ -4269,6 +4273,10 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIu64 ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (void*)R_R9); } else if (w == iFppupip) { snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIi32 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9); + } else if (w == iFppupui) { + snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIu32 ", %" PRIi32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (int32_t)R_R9); + } else if (w == iFppupul) { + snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIu32 ", %" PRIi64 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (intptr_t)R_R9); } else if (w == iFppuppu) { snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIp ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (uint32_t)R_R9); } else if (w == iFppuppp) { @@ -4311,6 +4319,10 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (uint32_t)R_R9); } else if (w == iFpppupp) { snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (void*)R_R9); + } else if (w == iFpppLip) { + snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIu64 ", %" PRIi32 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (int32_t)R_R8, (void*)R_R9); + } else if (w == iFpppLpi) { + snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIu64 ", %" PRIp ", %" PRIi32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (int32_t)R_R9); } else if (w == iFpppLpp) { snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIu64 ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (void*)R_R9); } else if (w == iFppppiu) { @@ -4537,12 +4549,16 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIi32 ", %" PRIi32 ", %" PRIu32 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9); } else if (w == pFppiipp) { snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIi32 ", %" PRIi32 ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9); + } else if (w == pFppiIll) { + snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIi32 ", %" PRIi64 ", %" PRIi64 ", %" PRIi64 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int64_t)R_RCX, (intptr_t)R_R8, (intptr_t)R_R9); } else if (w == pFppiCCC) { snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIi32 ", %" PRIu8 ", %" PRIu8 ", %" PRIu8 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uint8_t)R_RCX, (uint8_t)R_R8, (uint8_t)R_R9); } else if (w == pFppiupp) { snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIi32 ", %" PRIu32 ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (void*)R_R9); } else if (w == pFppilpp) { snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIi32 ", %" PRIi64 ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (intptr_t)R_RCX, (void*)R_R8, (void*)R_R9); + } else if (w == pFppiLll) { + snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIi32 ", %" PRIu64 ", %" PRIi64 ", %" PRIi64 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uintptr_t)R_RCX, (intptr_t)R_R8, (intptr_t)R_R9); } else if (w == pFppipip) { snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIi32 ", %" PRIp ", %" PRIi32 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9); } else if (w == pFppippi) { @@ -4553,6 +4569,8 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9); } else if (w == pFppuupp) { snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIu32 ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (void*)R_R9); + } else if (w == pFppuLli) { + snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIu64 ", %" PRIi64 ", %" PRIi32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uintptr_t)R_RCX, (intptr_t)R_R8, (int32_t)R_R9); } else if (w == pFppupLi) { snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIu64 ", %" PRIi32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (int32_t)R_R9); } else if (w == pFppuppp) { @@ -4839,6 +4857,8 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu64 ", %" PRIi32 ", %" PRIu64 ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uintptr_t)R_RSI, (int32_t)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (void*)(R_RSP + 8)); } else if (w == iFEpLpiiL) { snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu64 ", %" PRIp ", %" PRIi32 ", %" PRIi32 ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (uintptr_t)R_R9); + } else if (w == iFEppupup) { + snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIu32 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (void*)R_R9); } else if (w == iFEppuppp) { snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); } else if (w == iFEppLpIu) { @@ -4963,6 +4983,8 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIi32 ", %" PRIp ", %" PRIi32 ", %" PRIi32 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); } else if (w == iFppipipp) { snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIi32 ", %" PRIp ", %" PRIi32 ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); + } else if (w == iFppipLip) { + snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIi32 ", %" PRIp ", %" PRIu64 ", %" PRIi32 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); } else if (w == iFppippip) { snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIi32 ", %" PRIp ", %" PRIp ", %" PRIi32 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); } else if (w == iFppipppi) { @@ -5021,6 +5043,8 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (void*)R_R9, *(uint32_t*)(R_RSP + 8)); } else if (w == iFppppdpu) { snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIf ", %" PRIp ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, emu->xmm[0].d[0], (void*)R_R8, (uint32_t)R_R9); + } else if (w == iFppppLip) { + snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIu64 ", %" PRIi32 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); } else if (w == iFpppppip) { snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIi32 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); } else if (w == iFpppppLp) { @@ -5151,6 +5175,8 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIi32 ", %" PRIp ", %" PRIi32 ", %" PRIi32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8)); } else if (w == pFppuippp) { snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIi32 ", %" PRIp ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); + } else if (w == pFppuuupu) { + snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %" PRIp ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9, *(uint32_t*)(R_RSP + 8)); } else if (w == pFppuuupp) { snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); } else if (w == pFppuLLip) { @@ -5163,6 +5189,8 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIi64 ", %" PRIi32 ", %" PRIp ", %" PRIu32 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8)); } else if (w == pFppLLiLi) { snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu64 ", %" PRIu64 ", %" PRIi32 ", %" PRIu64 ", %" PRIi32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX, (int32_t)R_R8, (uintptr_t)R_R9, *(int32_t*)(R_RSP + 8)); + } else if (w == pFppLLlip) { + snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu64 ", %" PRIu64 ", %" PRIi64 ", %" PRIi32 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX, (intptr_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); } else if (w == pFppLLppp) { snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu64 ", %" PRIu64 ", %" PRIp ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); } else if (w == pFpppccci) { @@ -5465,6 +5493,8 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); } else if (w == iFppLpLpLi) { snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu64 ", %" PRIp ", %" PRIu64 ", %" PRIp ", %" PRIu64 ", %" PRIi32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (void*)R_R9, *(uintptr_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); + } else if (w == iFppLpLpLp) { + snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu64 ", %" PRIp ", %" PRIu64 ", %" PRIp ", %" PRIu64 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (void*)R_R9, *(uintptr_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); } else if (w == iFpppiiipi) { snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIi32 ", %" PRIi32 ", %" PRIi32 ", %" PRIp ", %" PRIi32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); } else if (w == iFpppiiipp) { @@ -5481,6 +5511,8 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIi64 ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (void*)R_R9, *(intptr_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16)); } else if (w == iFpppppupp) { snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); + } else if (w == iFpppppLpu) { + snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIu64 ", %" PRIp ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uintptr_t)R_R9, *(void**)(R_RSP + 8), *(uint32_t*)(R_RSP + 16)); } else if (w == iFppppppii) { snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIi32 ", %" PRIi32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); } else if (w == iFppppppuu) { @@ -5779,6 +5811,8 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIi32 ", %" PRIp ", %" PRIp ", %" PRIi32 ", %" PRIp ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); } else if (w == iFppuLLpupp) { snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIu64 ", %" PRIu64 ", %" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8, (void*)R_R9, *(uint32_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); + } else if (w == iFppupuiiii) { + snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIu32 ", %" PRIi32 ", %" PRIi32 ", %" PRIi32 ", %" PRIi32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24)); } else if (w == iFppuppuuuu) { snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(uint32_t*)(R_RSP + 24)); } else if (w == iFppupppupp) { @@ -5797,6 +5831,8 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIu64 ", %" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (void*)R_R9, *(uint32_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); } else if (w == iFppppiiupp) { snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIi32 ", %" PRIi32 ", %" PRIu32 ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); + } else if (w == iFppppLpLip) { + snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIu64 ", %" PRIp ", %" PRIu64 ", %" PRIi32 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (void*)R_R9, *(uintptr_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(void**)(R_RSP + 24)); } else if (w == iFpppppLupp) { snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIu64 ", %" PRIu32 ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uintptr_t)R_R9, *(uint32_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); } else if (w == iFppppppupp) { @@ -5955,6 +5991,8 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu64 ", %" PRIp ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIp ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(uintptr_t*)(R_RSP + 32)); } else if (w == iFppuuiiuuuu) { snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIu32 ", %" PRIi32 ", %" PRIi32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(uint32_t*)(R_RSP + 24), *(uint32_t*)(R_RSP + 32)); + } else if (w == iFppuppppupu) { + snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(uint32_t*)(R_RSP + 32)); } else if (w == iFppLLiiLWpi) { snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu64 ", %" PRIu64 ", %" PRIi32 ", %" PRIi32 ", %" PRIu64 ", %" PRIu16 ", %" PRIp ", %" PRIi32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(uintptr_t*)(R_RSP + 8), *(uint16_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(int32_t*)(R_RSP + 32)); } else if (w == iFppLpLLpLpp) { diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt index 364aa8a0..4f0a0627 100644 --- a/src/wrapped/generated/functions_list.txt +++ b/src/wrapped/generated/functions_list.txt @@ -1175,6 +1175,7 @@ #() iFpLii #() iFpLiL #() iFpLip +#() iFpLCp #() iFpLui #() iFpLuu #() iFpLup @@ -1307,6 +1308,7 @@ #() lFippL #() lFpili #() lFpilp +#() lFpipL #() lFpuip #() lFplip #() lFplup @@ -2337,6 +2339,8 @@ #() iFppulll #() iFppuLpp #() iFppupip +#() iFppupui +#() iFppupul #() iFppuppu #() iFppuppp #() iFppdidd @@ -2358,6 +2362,8 @@ #() iFpppuup #() iFpppupu #() iFpppupp +#() iFpppLip +#() iFpppLpi #() iFpppLpp #() iFppppiu #() iFppppip @@ -2483,14 +2489,17 @@ #() pFppiiii #() pFppiiup #() pFppiipp +#() pFppiIll #() pFppiCCC #() pFppiupp #() pFppilpp +#() pFppiLll #() pFppipip #() pFppippi #() pFppippp #() pFppuuuu #() pFppuupp +#() pFppuLli #() pFppupLi #() pFppuppp #() pFpplplp @@ -2646,6 +2655,7 @@ #() iFEpLiLpp #() iFEpLiLpV #() iFEpLpiiL +#() iFEppupup #() iFEppuppp #() iFEppLpIu #() iFEpppLpp @@ -2708,6 +2718,7 @@ #() iFppipiii #() iFppipiip #() iFppipipp +#() iFppipLip #() iFppippip #() iFppipppi #() iFppipppp @@ -2737,6 +2748,7 @@ #() iFppppIip #() iFppppupu #() iFppppdpu +#() iFppppLip #() iFpppppip #() iFpppppLp #() iFppppppi @@ -2812,12 +2824,14 @@ #() pFppipLpp #() pFppuipii #() pFppuippp +#() pFppuuupu #() pFppuuupp #() pFppuLLip #() pFppupuuu #() pFppliuip #() pFpplipup #() pFppLLiLi +#() pFppLLlip #() pFppLLppp #() pFpppccci #() pFpppiiii @@ -2976,6 +2990,7 @@ #() iFppuuuuuu #() iFppuppppp #() iFppLpLpLi +#() iFppLpLpLp #() iFpppiiipi #() iFpppiiipp #() iFpppipipi @@ -2984,6 +2999,7 @@ #() iFppppippp #() iFppppuplu #() iFpppppupp +#() iFpppppLpu #() iFppppppii #() iFppppppuu #() iFpppppppi @@ -3147,6 +3163,7 @@ #() iFppipiiipi #() iFppippippp #() iFppuLLpupp +#() iFppupuiiii #() iFppuppuuuu #() iFppupppupp #() iFppLiipiiL @@ -3156,6 +3173,7 @@ #() iFpppLLLupp #() iFpppLppupp #() iFppppiiupp +#() iFppppLpLip #() iFpppppLupp #() iFppppppupp #() iFppppppppu @@ -3245,6 +3263,7 @@ #() iFpLLpiiuuii #() iFpLpLUUUUpL #() iFppuuiiuuuu +#() iFppuppppupu #() iFppLLiiLWpi #() iFppLpLLpLpp #() iFppLpLpLLpp @@ -5284,6 +5303,12 @@ wrappedlibsqlite3: - iFppppp: - sqlite3_exec wrappedlibssh2: +- iFppup: + - libssh2_userauth_keyboard_interactive_ex +- pFpppp: + - libssh2_session_init_ex +- iFppupup: + - libssh2_userauth_password_ex wrappedlibssl: - pFp: - SSL_get_verify_callback diff --git a/src/wrapped/generated/wrappedlibssh2types.h b/src/wrapped/generated/wrappedlibssh2types.h index 4e8b306e..06f06552 100644 --- a/src/wrapped/generated/wrappedlibssh2types.h +++ b/src/wrapped/generated/wrappedlibssh2types.h @@ -11,7 +11,13 @@ #define ADDED_FUNCTIONS() #endif +typedef int32_t (*iFppup_t)(void*, void*, uint32_t, void*); +typedef void* (*pFpppp_t)(void*, void*, void*, void*); +typedef int32_t (*iFppupup_t)(void*, void*, uint32_t, void*, uint32_t, void*); -#define SUPER() ADDED_FUNCTIONS() +#define SUPER() ADDED_FUNCTIONS() \ + GO(libssh2_userauth_keyboard_interactive_ex, iFppup_t) \ + GO(libssh2_session_init_ex, pFpppp_t) \ + GO(libssh2_userauth_password_ex, iFppupup_t) #endif // __wrappedlibssh2TYPES_H_ diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c index cb3ccc15..22d031e4 100644 --- a/src/wrapped/generated/wrapper.c +++ b/src/wrapped/generated/wrapper.c @@ -1206,6 +1206,7 @@ typedef int32_t (*iFplpp_t)(void*, intptr_t, void*, void*); typedef int32_t (*iFpLii_t)(void*, uintptr_t, int32_t, int32_t); typedef int32_t (*iFpLiL_t)(void*, uintptr_t, int32_t, uintptr_t); typedef int32_t (*iFpLip_t)(void*, uintptr_t, int32_t, void*); +typedef int32_t (*iFpLCp_t)(void*, uintptr_t, uint8_t, void*); typedef int32_t (*iFpLui_t)(void*, uintptr_t, uint32_t, int32_t); typedef int32_t (*iFpLuu_t)(void*, uintptr_t, uint32_t, uint32_t); typedef int32_t (*iFpLup_t)(void*, uintptr_t, uint32_t, void*); @@ -1337,6 +1338,7 @@ typedef intptr_t (*lFipLp_t)(int32_t, void*, uintptr_t, void*); typedef intptr_t (*lFippL_t)(int32_t, void*, void*, uintptr_t); typedef intptr_t (*lFpili_t)(void*, int32_t, intptr_t, int32_t); typedef intptr_t (*lFpilp_t)(void*, int32_t, intptr_t, void*); +typedef intptr_t (*lFpipL_t)(void*, int32_t, void*, uintptr_t); typedef intptr_t (*lFpuip_t)(void*, uint32_t, int32_t, void*); typedef intptr_t (*lFplip_t)(void*, intptr_t, int32_t, void*); typedef intptr_t (*lFplup_t)(void*, intptr_t, uint32_t, void*); @@ -2365,6 +2367,8 @@ typedef int32_t (*iFppulup_t)(void*, void*, uint32_t, intptr_t, uint32_t, void*) typedef int32_t (*iFppulll_t)(void*, void*, uint32_t, intptr_t, intptr_t, intptr_t); typedef int32_t (*iFppuLpp_t)(void*, void*, uint32_t, uintptr_t, void*, void*); typedef int32_t (*iFppupip_t)(void*, void*, uint32_t, void*, int32_t, void*); +typedef int32_t (*iFppupui_t)(void*, void*, uint32_t, void*, uint32_t, int32_t); +typedef int32_t (*iFppupul_t)(void*, void*, uint32_t, void*, uint32_t, intptr_t); typedef int32_t (*iFppuppu_t)(void*, void*, uint32_t, void*, void*, uint32_t); typedef int32_t (*iFppuppp_t)(void*, void*, uint32_t, void*, void*, void*); typedef int32_t (*iFppdidd_t)(void*, void*, double, int32_t, double, double); @@ -2386,6 +2390,8 @@ typedef int32_t (*iFpppuuu_t)(void*, void*, void*, uint32_t, uint32_t, uint32_t) typedef int32_t (*iFpppuup_t)(void*, void*, void*, uint32_t, uint32_t, void*); typedef int32_t (*iFpppupu_t)(void*, void*, void*, uint32_t, void*, uint32_t); typedef int32_t (*iFpppupp_t)(void*, void*, void*, uint32_t, void*, void*); +typedef int32_t (*iFpppLip_t)(void*, void*, void*, uintptr_t, int32_t, void*); +typedef int32_t (*iFpppLpi_t)(void*, void*, void*, uintptr_t, void*, int32_t); typedef int32_t (*iFpppLpp_t)(void*, void*, void*, uintptr_t, void*, void*); typedef int32_t (*iFppppiu_t)(void*, void*, void*, void*, int32_t, uint32_t); typedef int32_t (*iFppppip_t)(void*, void*, void*, void*, int32_t, void*); @@ -2511,14 +2517,17 @@ typedef void* (*pFpLppup_t)(void*, uintptr_t, void*, void*, uint32_t, void*); typedef void* (*pFppiiii_t)(void*, void*, int32_t, int32_t, int32_t, int32_t); typedef void* (*pFppiiup_t)(void*, void*, int32_t, int32_t, uint32_t, void*); typedef void* (*pFppiipp_t)(void*, void*, int32_t, int32_t, void*, void*); +typedef void* (*pFppiIll_t)(void*, void*, int32_t, int64_t, intptr_t, intptr_t); typedef void* (*pFppiCCC_t)(void*, void*, int32_t, uint8_t, uint8_t, uint8_t); typedef void* (*pFppiupp_t)(void*, void*, int32_t, uint32_t, void*, void*); typedef void* (*pFppilpp_t)(void*, void*, int32_t, intptr_t, void*, void*); +typedef void* (*pFppiLll_t)(void*, void*, int32_t, uintptr_t, intptr_t, intptr_t); typedef void* (*pFppipip_t)(void*, void*, int32_t, void*, int32_t, void*); typedef void* (*pFppippi_t)(void*, void*, int32_t, void*, void*, int32_t); typedef void* (*pFppippp_t)(void*, void*, int32_t, void*, void*, void*); typedef void* (*pFppuuuu_t)(void*, void*, uint32_t, uint32_t, uint32_t, uint32_t); typedef void* (*pFppuupp_t)(void*, void*, uint32_t, uint32_t, void*, void*); +typedef void* (*pFppuLli_t)(void*, void*, uint32_t, uintptr_t, intptr_t, int32_t); typedef void* (*pFppupLi_t)(void*, void*, uint32_t, void*, uintptr_t, int32_t); typedef void* (*pFppuppp_t)(void*, void*, uint32_t, void*, void*, void*); typedef void* (*pFpplplp_t)(void*, void*, intptr_t, void*, intptr_t, void*); @@ -2674,6 +2683,7 @@ typedef int32_t (*iFEpUuppp_t)(x64emu_t*, void*, uint64_t, uint32_t, void*, void typedef int32_t (*iFEpLiLpp_t)(x64emu_t*, void*, uintptr_t, int32_t, uintptr_t, void*, void*); typedef int32_t (*iFEpLiLpV_t)(x64emu_t*, void*, uintptr_t, int32_t, uintptr_t, void*, void*); typedef int32_t (*iFEpLpiiL_t)(x64emu_t*, void*, uintptr_t, void*, int32_t, int32_t, uintptr_t); +typedef int32_t (*iFEppupup_t)(x64emu_t*, void*, void*, uint32_t, void*, uint32_t, void*); typedef int32_t (*iFEppuppp_t)(x64emu_t*, void*, void*, uint32_t, void*, void*, void*); typedef int32_t (*iFEppLpIu_t)(x64emu_t*, void*, void*, uintptr_t, void*, int64_t, uint32_t); typedef int32_t (*iFEpppLpp_t)(x64emu_t*, void*, void*, void*, uintptr_t, void*, void*); @@ -2736,6 +2746,7 @@ typedef int32_t (*iFppiipiL_t)(void*, void*, int32_t, int32_t, void*, int32_t, u typedef int32_t (*iFppipiii_t)(void*, void*, int32_t, void*, int32_t, int32_t, int32_t); typedef int32_t (*iFppipiip_t)(void*, void*, int32_t, void*, int32_t, int32_t, void*); typedef int32_t (*iFppipipp_t)(void*, void*, int32_t, void*, int32_t, void*, void*); +typedef int32_t (*iFppipLip_t)(void*, void*, int32_t, void*, uintptr_t, int32_t, void*); typedef int32_t (*iFppippip_t)(void*, void*, int32_t, void*, void*, int32_t, void*); typedef int32_t (*iFppipppi_t)(void*, void*, int32_t, void*, void*, void*, int32_t); typedef int32_t (*iFppipppp_t)(void*, void*, int32_t, void*, void*, void*, void*); @@ -2765,6 +2776,7 @@ typedef int32_t (*iFppppipp_t)(void*, void*, void*, void*, int32_t, void*, void* typedef int32_t (*iFppppIip_t)(void*, void*, void*, void*, int64_t, int32_t, void*); typedef int32_t (*iFppppupu_t)(void*, void*, void*, void*, uint32_t, void*, uint32_t); typedef int32_t (*iFppppdpu_t)(void*, void*, void*, void*, double, void*, uint32_t); +typedef int32_t (*iFppppLip_t)(void*, void*, void*, void*, uintptr_t, int32_t, void*); typedef int32_t (*iFpppppip_t)(void*, void*, void*, void*, void*, int32_t, void*); typedef int32_t (*iFpppppLp_t)(void*, void*, void*, void*, void*, uintptr_t, void*); typedef int32_t (*iFppppppi_t)(void*, void*, void*, void*, void*, void*, int32_t); @@ -2840,12 +2852,14 @@ typedef void* (*pFppipipp_t)(void*, void*, int32_t, void*, int32_t, void*, void* typedef void* (*pFppipLpp_t)(void*, void*, int32_t, void*, uintptr_t, void*, void*); typedef void* (*pFppuipii_t)(void*, void*, uint32_t, int32_t, void*, int32_t, int32_t); typedef void* (*pFppuippp_t)(void*, void*, uint32_t, int32_t, void*, void*, void*); +typedef void* (*pFppuuupu_t)(void*, void*, uint32_t, uint32_t, uint32_t, void*, uint32_t); typedef void* (*pFppuuupp_t)(void*, void*, uint32_t, uint32_t, uint32_t, void*, void*); typedef void* (*pFppuLLip_t)(void*, void*, uint32_t, uintptr_t, uintptr_t, int32_t, void*); typedef void* (*pFppupuuu_t)(void*, void*, uint32_t, void*, uint32_t, uint32_t, uint32_t); typedef void* (*pFppliuip_t)(void*, void*, intptr_t, int32_t, uint32_t, int32_t, void*); typedef void* (*pFpplipup_t)(void*, void*, intptr_t, int32_t, void*, uint32_t, void*); typedef void* (*pFppLLiLi_t)(void*, void*, uintptr_t, uintptr_t, int32_t, uintptr_t, int32_t); +typedef void* (*pFppLLlip_t)(void*, void*, uintptr_t, uintptr_t, intptr_t, int32_t, void*); typedef void* (*pFppLLppp_t)(void*, void*, uintptr_t, uintptr_t, void*, void*, void*); typedef void* (*pFpppccci_t)(void*, void*, void*, int8_t, int8_t, int8_t, int32_t); typedef void* (*pFpppiiii_t)(void*, void*, void*, int32_t, int32_t, int32_t, int32_t); @@ -3004,6 +3018,7 @@ typedef int32_t (*iFppuiiuuu_t)(void*, void*, uint32_t, int32_t, int32_t, uint32 typedef int32_t (*iFppuuuuuu_t)(void*, void*, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t); typedef int32_t (*iFppuppppp_t)(void*, void*, uint32_t, void*, void*, void*, void*, void*); typedef int32_t (*iFppLpLpLi_t)(void*, void*, uintptr_t, void*, uintptr_t, void*, uintptr_t, int32_t); +typedef int32_t (*iFppLpLpLp_t)(void*, void*, uintptr_t, void*, uintptr_t, void*, uintptr_t, void*); typedef int32_t (*iFpppiiipi_t)(void*, void*, void*, int32_t, int32_t, int32_t, void*, int32_t); typedef int32_t (*iFpppiiipp_t)(void*, void*, void*, int32_t, int32_t, int32_t, void*, void*); typedef int32_t (*iFpppipipi_t)(void*, void*, void*, int32_t, void*, int32_t, void*, int32_t); @@ -3012,6 +3027,7 @@ typedef int32_t (*iFppppiipp_t)(void*, void*, void*, void*, int32_t, int32_t, vo typedef int32_t (*iFppppippp_t)(void*, void*, void*, void*, int32_t, void*, void*, void*); typedef int32_t (*iFppppuplu_t)(void*, void*, void*, void*, uint32_t, void*, intptr_t, uint32_t); typedef int32_t (*iFpppppupp_t)(void*, void*, void*, void*, void*, uint32_t, void*, void*); +typedef int32_t (*iFpppppLpu_t)(void*, void*, void*, void*, void*, uintptr_t, void*, uint32_t); typedef int32_t (*iFppppppii_t)(void*, void*, void*, void*, void*, void*, int32_t, int32_t); typedef int32_t (*iFppppppuu_t)(void*, void*, void*, void*, void*, void*, uint32_t, uint32_t); typedef int32_t (*iFpppppppi_t)(void*, void*, void*, void*, void*, void*, void*, int32_t); @@ -3174,6 +3190,7 @@ typedef int32_t (*iFppiiiiiii_t)(void*, void*, int32_t, int32_t, int32_t, int32_ typedef int32_t (*iFppipiiipi_t)(void*, void*, int32_t, void*, int32_t, int32_t, int32_t, void*, int32_t); typedef int32_t (*iFppippippp_t)(void*, void*, int32_t, void*, void*, int32_t, void*, void*, void*); typedef int32_t (*iFppuLLpupp_t)(void*, void*, uint32_t, uintptr_t, uintptr_t, void*, uint32_t, void*, void*); +typedef int32_t (*iFppupuiiii_t)(void*, void*, uint32_t, void*, uint32_t, int32_t, int32_t, int32_t, int32_t); typedef int32_t (*iFppuppuuuu_t)(void*, void*, uint32_t, void*, void*, uint32_t, uint32_t, uint32_t, uint32_t); typedef int32_t (*iFppupppupp_t)(void*, void*, uint32_t, void*, void*, void*, uint32_t, void*, void*); typedef int32_t (*iFppLiipiiL_t)(void*, void*, uintptr_t, int32_t, int32_t, void*, int32_t, int32_t, uintptr_t); @@ -3183,6 +3200,7 @@ typedef int32_t (*iFpppippipi_t)(void*, void*, void*, int32_t, void*, void*, int typedef int32_t (*iFpppLLLupp_t)(void*, void*, void*, uintptr_t, uintptr_t, uintptr_t, uint32_t, void*, void*); typedef int32_t (*iFpppLppupp_t)(void*, void*, void*, uintptr_t, void*, void*, uint32_t, void*, void*); typedef int32_t (*iFppppiiupp_t)(void*, void*, void*, void*, int32_t, int32_t, uint32_t, void*, void*); +typedef int32_t (*iFppppLpLip_t)(void*, void*, void*, void*, uintptr_t, void*, uintptr_t, int32_t, void*); typedef int32_t (*iFpppppLupp_t)(void*, void*, void*, void*, void*, uintptr_t, uint32_t, void*, void*); typedef int32_t (*iFppppppupp_t)(void*, void*, void*, void*, void*, void*, uint32_t, void*, void*); typedef int32_t (*iFppppppppu_t)(void*, void*, void*, void*, void*, void*, void*, void*, uint32_t); @@ -3272,6 +3290,7 @@ typedef int32_t (*iFpuuLiuiiLL_t)(void*, uint32_t, uint32_t, uintptr_t, int32_t, typedef int32_t (*iFpLLpiiuuii_t)(void*, uintptr_t, uintptr_t, void*, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t); typedef int32_t (*iFpLpLUUUUpL_t)(void*, uintptr_t, void*, uintptr_t, uint64_t, uint64_t, uint64_t, uint64_t, void*, uintptr_t); typedef int32_t (*iFppuuiiuuuu_t)(void*, void*, uint32_t, uint32_t, int32_t, int32_t, uint32_t, uint32_t, uint32_t, uint32_t); +typedef int32_t (*iFppuppppupu_t)(void*, void*, uint32_t, void*, void*, void*, void*, uint32_t, void*, uint32_t); typedef int32_t (*iFppLLiiLWpi_t)(void*, void*, uintptr_t, uintptr_t, int32_t, int32_t, uintptr_t, uint16_t, void*, int32_t); typedef int32_t (*iFppLpLLpLpp_t)(void*, void*, uintptr_t, void*, uintptr_t, uintptr_t, void*, uintptr_t, void*, void*); typedef int32_t (*iFppLpLpLLpp_t)(void*, void*, uintptr_t, void*, uintptr_t, void*, uintptr_t, uintptr_t, void*, void*); @@ -4709,6 +4728,7 @@ void iFplpp(x64emu_t *emu, uintptr_t fcn) { iFplpp_t fn = (iFplpp_t)fcn; R_RAX=( void iFpLii(x64emu_t *emu, uintptr_t fcn) { iFpLii_t fn = (iFpLii_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX); } void iFpLiL(x64emu_t *emu, uintptr_t fcn) { iFpLiL_t fn = (iFpLiL_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (int32_t)R_RDX, (uintptr_t)R_RCX); } void iFpLip(x64emu_t *emu, uintptr_t fcn) { iFpLip_t fn = (iFpLip_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX); } +void iFpLCp(x64emu_t *emu, uintptr_t fcn) { iFpLCp_t fn = (iFpLCp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uint8_t)R_RDX, (void*)R_RCX); } void iFpLui(x64emu_t *emu, uintptr_t fcn) { iFpLui_t fn = (iFpLui_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX); } void iFpLuu(x64emu_t *emu, uintptr_t fcn) { iFpLuu_t fn = (iFpLuu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX); } void iFpLup(x64emu_t *emu, uintptr_t fcn) { iFpLup_t fn = (iFpLup_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX); } @@ -4840,6 +4860,7 @@ void lFipLp(x64emu_t *emu, uintptr_t fcn) { lFipLp_t fn = (lFipLp_t)fcn; R_RAX=( void lFippL(x64emu_t *emu, uintptr_t fcn) { lFippL_t fn = (lFippL_t)fcn; R_RAX=(intptr_t)fn((int32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX); } void lFpili(x64emu_t *emu, uintptr_t fcn) { lFpili_t fn = (lFpili_t)fcn; R_RAX=(intptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (intptr_t)R_RDX, (int32_t)R_RCX); } void lFpilp(x64emu_t *emu, uintptr_t fcn) { lFpilp_t fn = (lFpilp_t)fcn; R_RAX=(intptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (intptr_t)R_RDX, (void*)R_RCX); } +void lFpipL(x64emu_t *emu, uintptr_t fcn) { lFpipL_t fn = (lFpipL_t)fcn; R_RAX=(intptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX); } void lFpuip(x64emu_t *emu, uintptr_t fcn) { lFpuip_t fn = (lFpuip_t)fcn; R_RAX=(intptr_t)fn((void*)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX); } void lFplip(x64emu_t *emu, uintptr_t fcn) { lFplip_t fn = (lFplip_t)fcn; R_RAX=(intptr_t)fn((void*)R_RDI, (intptr_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX); } void lFplup(x64emu_t *emu, uintptr_t fcn) { lFplup_t fn = (lFplup_t)fcn; R_RAX=(intptr_t)fn((void*)R_RDI, (intptr_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX); } @@ -5868,6 +5889,8 @@ void iFppulup(x64emu_t *emu, uintptr_t fcn) { iFppulup_t fn = (iFppulup_t)fcn; R void iFppulll(x64emu_t *emu, uintptr_t fcn) { iFppulll_t fn = (iFppulll_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (intptr_t)R_RCX, (intptr_t)R_R8, (intptr_t)R_R9); } void iFppuLpp(x64emu_t *emu, uintptr_t fcn) { iFppuLpp_t fn = (iFppuLpp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (void*)R_R9); } void iFppupip(x64emu_t *emu, uintptr_t fcn) { iFppupip_t fn = (iFppupip_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9); } +void iFppupui(x64emu_t *emu, uintptr_t fcn) { iFppupui_t fn = (iFppupui_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (int32_t)R_R9); } +void iFppupul(x64emu_t *emu, uintptr_t fcn) { iFppupul_t fn = (iFppupul_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (intptr_t)R_R9); } void iFppuppu(x64emu_t *emu, uintptr_t fcn) { iFppuppu_t fn = (iFppuppu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (uint32_t)R_R9); } void iFppuppp(x64emu_t *emu, uintptr_t fcn) { iFppuppp_t fn = (iFppuppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); } void iFppdidd(x64emu_t *emu, uintptr_t fcn) { iFppdidd_t fn = (iFppdidd_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, emu->xmm[0].d[0], (int32_t)R_RDX, emu->xmm[1].d[0], emu->xmm[2].d[0]); } @@ -5889,6 +5912,8 @@ void iFpppuuu(x64emu_t *emu, uintptr_t fcn) { iFpppuuu_t fn = (iFpppuuu_t)fcn; R void iFpppuup(x64emu_t *emu, uintptr_t fcn) { iFpppuup_t fn = (iFpppuup_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9); } void iFpppupu(x64emu_t *emu, uintptr_t fcn) { iFpppupu_t fn = (iFpppupu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (uint32_t)R_R9); } void iFpppupp(x64emu_t *emu, uintptr_t fcn) { iFpppupp_t fn = (iFpppupp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (void*)R_R9); } +void iFpppLip(x64emu_t *emu, uintptr_t fcn) { iFpppLip_t fn = (iFpppLip_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (int32_t)R_R8, (void*)R_R9); } +void iFpppLpi(x64emu_t *emu, uintptr_t fcn) { iFpppLpi_t fn = (iFpppLpi_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (int32_t)R_R9); } void iFpppLpp(x64emu_t *emu, uintptr_t fcn) { iFpppLpp_t fn = (iFpppLpp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (void*)R_R9); } void iFppppiu(x64emu_t *emu, uintptr_t fcn) { iFppppiu_t fn = (iFppppiu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (uint32_t)R_R9); } void iFppppip(x64emu_t *emu, uintptr_t fcn) { iFppppip_t fn = (iFppppip_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9); } @@ -6014,14 +6039,17 @@ void pFpLppup(x64emu_t *emu, uintptr_t fcn) { pFpLppup_t fn = (pFpLppup_t)fcn; R void pFppiiii(x64emu_t *emu, uintptr_t fcn) { pFppiiii_t fn = (pFppiiii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9); } void pFppiiup(x64emu_t *emu, uintptr_t fcn) { pFppiiup_t fn = (pFppiiup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9); } void pFppiipp(x64emu_t *emu, uintptr_t fcn) { pFppiipp_t fn = (pFppiipp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9); } +void pFppiIll(x64emu_t *emu, uintptr_t fcn) { pFppiIll_t fn = (pFppiIll_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int64_t)R_RCX, (intptr_t)R_R8, (intptr_t)R_R9); } void pFppiCCC(x64emu_t *emu, uintptr_t fcn) { pFppiCCC_t fn = (pFppiCCC_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uint8_t)R_RCX, (uint8_t)R_R8, (uint8_t)R_R9); } void pFppiupp(x64emu_t *emu, uintptr_t fcn) { pFppiupp_t fn = (pFppiupp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (void*)R_R9); } void pFppilpp(x64emu_t *emu, uintptr_t fcn) { pFppilpp_t fn = (pFppilpp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (intptr_t)R_RCX, (void*)R_R8, (void*)R_R9); } +void pFppiLll(x64emu_t *emu, uintptr_t fcn) { pFppiLll_t fn = (pFppiLll_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uintptr_t)R_RCX, (intptr_t)R_R8, (intptr_t)R_R9); } void pFppipip(x64emu_t *emu, uintptr_t fcn) { pFppipip_t fn = (pFppipip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9); } void pFppippi(x64emu_t *emu, uintptr_t fcn) { pFppippi_t fn = (pFppippi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (int32_t)R_R9); } void pFppippp(x64emu_t *emu, uintptr_t fcn) { pFppippp_t fn = (pFppippp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); } void pFppuuuu(x64emu_t *emu, uintptr_t fcn) { pFppuuuu_t fn = (pFppuuuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9); } void pFppuupp(x64emu_t *emu, uintptr_t fcn) { pFppuupp_t fn = (pFppuupp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (void*)R_R9); } +void pFppuLli(x64emu_t *emu, uintptr_t fcn) { pFppuLli_t fn = (pFppuLli_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uintptr_t)R_RCX, (intptr_t)R_R8, (int32_t)R_R9); } void pFppupLi(x64emu_t *emu, uintptr_t fcn) { pFppupLi_t fn = (pFppupLi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (int32_t)R_R9); } void pFppuppp(x64emu_t *emu, uintptr_t fcn) { pFppuppp_t fn = (pFppuppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); } void pFpplplp(x64emu_t *emu, uintptr_t fcn) { pFpplplp_t fn = (pFpplplp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (void*)R_RCX, (intptr_t)R_R8, (void*)R_R9); } @@ -6177,6 +6205,7 @@ void iFEpUuppp(x64emu_t *emu, uintptr_t fcn) { iFEpUuppp_t fn = (iFEpUuppp_t)fcn void iFEpLiLpp(x64emu_t *emu, uintptr_t fcn) { iFEpLiLpp_t fn = (iFEpLiLpp_t)fcn; R_RAX=(uint32_t)fn(emu, (void*)R_RDI, (uintptr_t)R_RSI, (int32_t)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (void*)R_R9); } void iFEpLiLpV(x64emu_t *emu, uintptr_t fcn) { iFEpLiLpV_t fn = (iFEpLiLpV_t)fcn; R_RAX=(uint32_t)fn(emu, (void*)R_RDI, (uintptr_t)R_RSI, (int32_t)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (void*)(R_RSP + 8)); } void iFEpLpiiL(x64emu_t *emu, uintptr_t fcn) { iFEpLpiiL_t fn = (iFEpLpiiL_t)fcn; R_RAX=(uint32_t)fn(emu, (void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (uintptr_t)R_R9); } +void iFEppupup(x64emu_t *emu, uintptr_t fcn) { iFEppupup_t fn = (iFEppupup_t)fcn; R_RAX=(uint32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (void*)R_R9); } void iFEppuppp(x64emu_t *emu, uintptr_t fcn) { iFEppuppp_t fn = (iFEppuppp_t)fcn; R_RAX=(uint32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); } void iFEppLpIu(x64emu_t *emu, uintptr_t fcn) { iFEppLpIu_t fn = (iFEppLpIu_t)fcn; R_RAX=(uint32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (int64_t)R_R8, (uint32_t)R_R9); } void iFEpppLpp(x64emu_t *emu, uintptr_t fcn) { iFEpppLpp_t fn = (iFEpppLpp_t)fcn; R_RAX=(uint32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (void*)R_R9); } @@ -6239,6 +6268,7 @@ void iFppiipiL(x64emu_t *emu, uintptr_t fcn) { iFppiipiL_t fn = (iFppiipiL_t)fcn void iFppipiii(x64emu_t *emu, uintptr_t fcn) { iFppipiii_t fn = (iFppipiii_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8)); } void iFppipiip(x64emu_t *emu, uintptr_t fcn) { iFppipiip_t fn = (iFppipiip_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); } void iFppipipp(x64emu_t *emu, uintptr_t fcn) { iFppipipp_t fn = (iFppipipp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); } +void iFppipLip(x64emu_t *emu, uintptr_t fcn) { iFppipLip_t fn = (iFppipLip_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); } void iFppippip(x64emu_t *emu, uintptr_t fcn) { iFppippip_t fn = (iFppippip_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); } void iFppipppi(x64emu_t *emu, uintptr_t fcn) { iFppipppi_t fn = (iFppipppi_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8)); } void iFppipppp(x64emu_t *emu, uintptr_t fcn) { iFppipppp_t fn = (iFppipppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); } @@ -6268,6 +6298,7 @@ void iFppppipp(x64emu_t *emu, uintptr_t fcn) { iFppppipp_t fn = (iFppppipp_t)fcn void iFppppIip(x64emu_t *emu, uintptr_t fcn) { iFppppIip_t fn = (iFppppIip_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); } void iFppppupu(x64emu_t *emu, uintptr_t fcn) { iFppppupu_t fn = (iFppppupu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (void*)R_R9, *(uint32_t*)(R_RSP + 8)); } void iFppppdpu(x64emu_t *emu, uintptr_t fcn) { iFppppdpu_t fn = (iFppppdpu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, emu->xmm[0].d[0], (void*)R_R8, (uint32_t)R_R9); } +void iFppppLip(x64emu_t *emu, uintptr_t fcn) { iFppppLip_t fn = (iFppppLip_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); } void iFpppppip(x64emu_t *emu, uintptr_t fcn) { iFpppppip_t fn = (iFpppppip_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); } void iFpppppLp(x64emu_t *emu, uintptr_t fcn) { iFpppppLp_t fn = (iFpppppLp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uintptr_t)R_R9, *(void**)(R_RSP + 8)); } void iFppppppi(x64emu_t *emu, uintptr_t fcn) { iFppppppi_t fn = (iFppppppi_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8)); } @@ -6343,12 +6374,14 @@ void pFppipipp(x64emu_t *emu, uintptr_t fcn) { pFppipipp_t fn = (pFppipipp_t)fcn void pFppipLpp(x64emu_t *emu, uintptr_t fcn) { pFppipLpp_t fn = (pFppipLpp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); } void pFppuipii(x64emu_t *emu, uintptr_t fcn) { pFppuipii_t fn = (pFppuipii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8)); } void pFppuippp(x64emu_t *emu, uintptr_t fcn) { pFppuippp_t fn = (pFppuippp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); } +void pFppuuupu(x64emu_t *emu, uintptr_t fcn) { pFppuuupu_t fn = (pFppuuupu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9, *(uint32_t*)(R_RSP + 8)); } void pFppuuupp(x64emu_t *emu, uintptr_t fcn) { pFppuuupp_t fn = (pFppuuupp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); } void pFppuLLip(x64emu_t *emu, uintptr_t fcn) { pFppuLLip_t fn = (pFppuLLip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); } void pFppupuuu(x64emu_t *emu, uintptr_t fcn) { pFppupuuu_t fn = (pFppupuuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8)); } void pFppliuip(x64emu_t *emu, uintptr_t fcn) { pFppliuip_t fn = (pFppliuip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); } void pFpplipup(x64emu_t *emu, uintptr_t fcn) { pFpplipup_t fn = (pFpplipup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8)); } void pFppLLiLi(x64emu_t *emu, uintptr_t fcn) { pFppLLiLi_t fn = (pFppLLiLi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX, (int32_t)R_R8, (uintptr_t)R_R9, *(int32_t*)(R_RSP + 8)); } +void pFppLLlip(x64emu_t *emu, uintptr_t fcn) { pFppLLlip_t fn = (pFppLLlip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX, (intptr_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); } void pFppLLppp(x64emu_t *emu, uintptr_t fcn) { pFppLLppp_t fn = (pFppLLppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); } void pFpppccci(x64emu_t *emu, uintptr_t fcn) { pFpppccci_t fn = (pFpppccci_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int8_t)R_RCX, (int8_t)R_R8, (int8_t)R_R9, *(int32_t*)(R_RSP + 8)); } void pFpppiiii(x64emu_t *emu, uintptr_t fcn) { pFpppiiii_t fn = (pFpppiiii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8)); } @@ -6507,6 +6540,7 @@ void iFppuiiuuu(x64emu_t *emu, uintptr_t fcn) { iFppuiiuuu_t fn = (iFppuiiuuu_t) void iFppuuuuuu(x64emu_t *emu, uintptr_t fcn) { iFppuuuuuu_t fn = (iFppuuuuuu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16)); } void iFppuppppp(x64emu_t *emu, uintptr_t fcn) { iFppuppppp_t fn = (iFppuppppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); } void iFppLpLpLi(x64emu_t *emu, uintptr_t fcn) { iFppLpLpLi_t fn = (iFppLpLpLi_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (void*)R_R9, *(uintptr_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); } +void iFppLpLpLp(x64emu_t *emu, uintptr_t fcn) { iFppLpLpLp_t fn = (iFppLpLpLp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (void*)R_R9, *(uintptr_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); } void iFpppiiipi(x64emu_t *emu, uintptr_t fcn) { iFpppiiipi_t fn = (iFpppiiipi_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); } void iFpppiiipp(x64emu_t *emu, uintptr_t fcn) { iFpppiiipp_t fn = (iFpppiiipp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); } void iFpppipipi(x64emu_t *emu, uintptr_t fcn) { iFpppipipi_t fn = (iFpppipipi_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); } @@ -6515,6 +6549,7 @@ void iFppppiipp(x64emu_t *emu, uintptr_t fcn) { iFppppiipp_t fn = (iFppppiipp_t) void iFppppippp(x64emu_t *emu, uintptr_t fcn) { iFppppippp_t fn = (iFppppippp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); } void iFppppuplu(x64emu_t *emu, uintptr_t fcn) { iFppppuplu_t fn = (iFppppuplu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (void*)R_R9, *(intptr_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16)); } void iFpppppupp(x64emu_t *emu, uintptr_t fcn) { iFpppppupp_t fn = (iFpppppupp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); } +void iFpppppLpu(x64emu_t *emu, uintptr_t fcn) { iFpppppLpu_t fn = (iFpppppLpu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uintptr_t)R_R9, *(void**)(R_RSP + 8), *(uint32_t*)(R_RSP + 16)); } void iFppppppii(x64emu_t *emu, uintptr_t fcn) { iFppppppii_t fn = (iFppppppii_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); } void iFppppppuu(x64emu_t *emu, uintptr_t fcn) { iFppppppuu_t fn = (iFppppppuu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16)); } void iFpppppppi(x64emu_t *emu, uintptr_t fcn) { iFpppppppi_t fn = (iFpppppppi_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); } @@ -6677,6 +6712,7 @@ void iFppiiiiiii(x64emu_t *emu, uintptr_t fcn) { iFppiiiiiii_t fn = (iFppiiiiiii void iFppipiiipi(x64emu_t *emu, uintptr_t fcn) { iFppipiiipi_t fn = (iFppipiiipi_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(int32_t*)(R_RSP + 24)); } void iFppippippp(x64emu_t *emu, uintptr_t fcn) { iFppippippp_t fn = (iFppippippp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); } void iFppuLLpupp(x64emu_t *emu, uintptr_t fcn) { iFppuLLpupp_t fn = (iFppuLLpupp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8, (void*)R_R9, *(uint32_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); } +void iFppupuiiii(x64emu_t *emu, uintptr_t fcn) { iFppupuiiii_t fn = (iFppupuiiii_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24)); } void iFppuppuuuu(x64emu_t *emu, uintptr_t fcn) { iFppuppuuuu_t fn = (iFppuppuuuu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(uint32_t*)(R_RSP + 24)); } void iFppupppupp(x64emu_t *emu, uintptr_t fcn) { iFppupppupp_t fn = (iFppupppupp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(uint32_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); } void iFppLiipiiL(x64emu_t *emu, uintptr_t fcn) { iFppLiipiiL_t fn = (iFppLiipiiL_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(uintptr_t*)(R_RSP + 24)); } @@ -6686,6 +6722,7 @@ void iFpppippipi(x64emu_t *emu, uintptr_t fcn) { iFpppippipi_t fn = (iFpppippipi void iFpppLLLupp(x64emu_t *emu, uintptr_t fcn) { iFpppLLLupp_t fn = (iFpppLLLupp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8, (uintptr_t)R_R9, *(uint32_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); } void iFpppLppupp(x64emu_t *emu, uintptr_t fcn) { iFpppLppupp_t fn = (iFpppLppupp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (void*)R_R9, *(uint32_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); } void iFppppiiupp(x64emu_t *emu, uintptr_t fcn) { iFppppiiupp_t fn = (iFppppiiupp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); } +void iFppppLpLip(x64emu_t *emu, uintptr_t fcn) { iFppppLpLip_t fn = (iFppppLpLip_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (void*)R_R9, *(uintptr_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(void**)(R_RSP + 24)); } void iFpppppLupp(x64emu_t *emu, uintptr_t fcn) { iFpppppLupp_t fn = (iFpppppLupp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uintptr_t)R_R9, *(uint32_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); } void iFppppppupp(x64emu_t *emu, uintptr_t fcn) { iFppppppupp_t fn = (iFppppppupp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(uint32_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); } void iFppppppppu(x64emu_t *emu, uintptr_t fcn) { iFppppppppu_t fn = (iFppppppppu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(uint32_t*)(R_RSP + 24)); } @@ -6775,6 +6812,7 @@ void iFpuuLiuiiLL(x64emu_t *emu, uintptr_t fcn) { iFpuuLiuiiLL_t fn = (iFpuuLiui void iFpLLpiiuuii(x64emu_t *emu, uintptr_t fcn) { iFpLLpiiuuii_t fn = (iFpLLpiiuuii_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(int32_t*)(R_RSP + 32)); } void iFpLpLUUUUpL(x64emu_t *emu, uintptr_t fcn) { iFpLpLUUUUpL_t fn = (iFpLpLUUUUpL_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(uintptr_t*)(R_RSP + 32)); } void iFppuuiiuuuu(x64emu_t *emu, uintptr_t fcn) { iFppuuiiuuuu_t fn = (iFppuuiiuuuu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(uint32_t*)(R_RSP + 24), *(uint32_t*)(R_RSP + 32)); } +void iFppuppppupu(x64emu_t *emu, uintptr_t fcn) { iFppuppppupu_t fn = (iFppuppppupu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(uint32_t*)(R_RSP + 32)); } void iFppLLiiLWpi(x64emu_t *emu, uintptr_t fcn) { iFppLLiiLWpi_t fn = (iFppLLiiLWpi_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(uintptr_t*)(R_RSP + 8), *(uint16_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(int32_t*)(R_RSP + 32)); } void iFppLpLLpLpp(x64emu_t *emu, uintptr_t fcn) { iFppLpLLpLpp_t fn = (iFppLpLLpLpp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (uintptr_t)R_R9, *(void**)(R_RSP + 8), *(uintptr_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32)); } void iFppLpLpLLpp(x64emu_t *emu, uintptr_t fcn) { iFppLpLpLLpp_t fn = (iFppLpLpLLpp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (void*)R_R9, *(uintptr_t*)(R_RSP + 8), *(uintptr_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32)); } @@ -8009,6 +8047,7 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &iFpLii) return 1; if (fun == &iFpLiL) return 1; if (fun == &iFpLip) return 1; + if (fun == &iFpLCp) return 1; if (fun == &iFpLui) return 1; if (fun == &iFpLuu) return 1; if (fun == &iFpLup) return 1; @@ -8109,6 +8148,7 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &lFippL) return 1; if (fun == &lFpili) return 1; if (fun == &lFpilp) return 1; + if (fun == &lFpipL) return 1; if (fun == &lFpuip) return 1; if (fun == &lFplip) return 1; if (fun == &lFplup) return 1; @@ -8956,6 +8996,8 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &iFppulll) return 1; if (fun == &iFppuLpp) return 1; if (fun == &iFppupip) return 1; + if (fun == &iFppupui) return 1; + if (fun == &iFppupul) return 1; if (fun == &iFppuppu) return 1; if (fun == &iFppuppp) return 1; if (fun == &iFppdidd) return 4; @@ -8977,6 +9019,8 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &iFpppuup) return 1; if (fun == &iFpppupu) return 1; if (fun == &iFpppupp) return 1; + if (fun == &iFpppLip) return 1; + if (fun == &iFpppLpi) return 1; if (fun == &iFpppLpp) return 1; if (fun == &iFppppiu) return 1; if (fun == &iFppppip) return 1; @@ -9067,14 +9111,17 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &pFppiiii) return 1; if (fun == &pFppiiup) return 1; if (fun == &pFppiipp) return 1; + if (fun == &pFppiIll) return 1; if (fun == &pFppiCCC) return 1; if (fun == &pFppiupp) return 1; if (fun == &pFppilpp) return 1; + if (fun == &pFppiLll) return 1; if (fun == &pFppipip) return 1; if (fun == &pFppippi) return 1; if (fun == &pFppippp) return 1; if (fun == &pFppuuuu) return 1; if (fun == &pFppuupp) return 1; + if (fun == &pFppuLli) return 1; if (fun == &pFppupLi) return 1; if (fun == &pFppuppp) return 1; if (fun == &pFpplplp) return 1; @@ -10058,6 +10105,7 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &iFpLii) return 193; if (fun == &iFpLiL) return 65; if (fun == &iFpLip) return 65; + if (fun == &iFpLCp) return 1; if (fun == &iFpLui) return 193; if (fun == &iFpLuu) return 193; if (fun == &iFpLup) return 65; @@ -10158,6 +10206,7 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &lFippL) return 17; if (fun == &lFpili) return 161; if (fun == &lFpilp) return 33; + if (fun == &lFpipL) return 33; if (fun == &lFpuip) return 97; if (fun == &lFplip) return 65; if (fun == &lFplup) return 65; @@ -11005,6 +11054,8 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &iFppulll) return 65; if (fun == &iFppuLpp) return 65; if (fun == &iFppupip) return 321; + if (fun == &iFppupui) return 833; + if (fun == &iFppupul) return 321; if (fun == &iFppuppu) return 577; if (fun == &iFppuppp) return 65; if (fun == &iFppdidd) return 68; @@ -11026,6 +11077,8 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &iFpppuup) return 385; if (fun == &iFpppupu) return 641; if (fun == &iFpppupp) return 129; + if (fun == &iFpppLip) return 257; + if (fun == &iFpppLpi) return 513; if (fun == &iFpppLpp) return 1; if (fun == &iFppppiu) return 769; if (fun == &iFppppip) return 257; @@ -11116,14 +11169,17 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &pFppiiii) return 961; if (fun == &pFppiiup) return 449; if (fun == &pFppiipp) return 193; + if (fun == &pFppiIll) return 65; if (fun == &pFppiCCC) return 65; if (fun == &pFppiupp) return 193; if (fun == &pFppilpp) return 65; + if (fun == &pFppiLll) return 65; if (fun == &pFppipip) return 321; if (fun == &pFppippi) return 577; if (fun == &pFppippp) return 65; if (fun == &pFppuuuu) return 961; if (fun == &pFppuupp) return 193; + if (fun == &pFppuLli) return 577; if (fun == &pFppupLi) return 577; if (fun == &pFppuppp) return 65; if (fun == &pFpplplp) return 1; diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h index 0797f202..40a48eba 100644 --- a/src/wrapped/generated/wrapper.h +++ b/src/wrapped/generated/wrapper.h @@ -1212,6 +1212,7 @@ void iFplpp(x64emu_t *emu, uintptr_t fnc); void iFpLii(x64emu_t *emu, uintptr_t fnc); void iFpLiL(x64emu_t *emu, uintptr_t fnc); void iFpLip(x64emu_t *emu, uintptr_t fnc); +void iFpLCp(x64emu_t *emu, uintptr_t fnc); void iFpLui(x64emu_t *emu, uintptr_t fnc); void iFpLuu(x64emu_t *emu, uintptr_t fnc); void iFpLup(x64emu_t *emu, uintptr_t fnc); @@ -1344,6 +1345,7 @@ void lFipLp(x64emu_t *emu, uintptr_t fnc); void lFippL(x64emu_t *emu, uintptr_t fnc); void lFpili(x64emu_t *emu, uintptr_t fnc); void lFpilp(x64emu_t *emu, uintptr_t fnc); +void lFpipL(x64emu_t *emu, uintptr_t fnc); void lFpuip(x64emu_t *emu, uintptr_t fnc); void lFplip(x64emu_t *emu, uintptr_t fnc); void lFplup(x64emu_t *emu, uintptr_t fnc); @@ -2374,6 +2376,8 @@ void iFppulup(x64emu_t *emu, uintptr_t fnc); void iFppulll(x64emu_t *emu, uintptr_t fnc); void iFppuLpp(x64emu_t *emu, uintptr_t fnc); void iFppupip(x64emu_t *emu, uintptr_t fnc); +void iFppupui(x64emu_t *emu, uintptr_t fnc); +void iFppupul(x64emu_t *emu, uintptr_t fnc); void iFppuppu(x64emu_t *emu, uintptr_t fnc); void iFppuppp(x64emu_t *emu, uintptr_t fnc); void iFppdidd(x64emu_t *emu, uintptr_t fnc); @@ -2395,6 +2399,8 @@ void iFpppuuu(x64emu_t *emu, uintptr_t fnc); void iFpppuup(x64emu_t *emu, uintptr_t fnc); void iFpppupu(x64emu_t *emu, uintptr_t fnc); void iFpppupp(x64emu_t *emu, uintptr_t fnc); +void iFpppLip(x64emu_t *emu, uintptr_t fnc); +void iFpppLpi(x64emu_t *emu, uintptr_t fnc); void iFpppLpp(x64emu_t *emu, uintptr_t fnc); void iFppppiu(x64emu_t *emu, uintptr_t fnc); void iFppppip(x64emu_t *emu, uintptr_t fnc); @@ -2520,14 +2526,17 @@ void pFpLppup(x64emu_t *emu, uintptr_t fnc); void pFppiiii(x64emu_t *emu, uintptr_t fnc); void pFppiiup(x64emu_t *emu, uintptr_t fnc); void pFppiipp(x64emu_t *emu, uintptr_t fnc); +void pFppiIll(x64emu_t *emu, uintptr_t fnc); void pFppiCCC(x64emu_t *emu, uintptr_t fnc); void pFppiupp(x64emu_t *emu, uintptr_t fnc); void pFppilpp(x64emu_t *emu, uintptr_t fnc); +void pFppiLll(x64emu_t *emu, uintptr_t fnc); void pFppipip(x64emu_t *emu, uintptr_t fnc); void pFppippi(x64emu_t *emu, uintptr_t fnc); void pFppippp(x64emu_t *emu, uintptr_t fnc); void pFppuuuu(x64emu_t *emu, uintptr_t fnc); void pFppuupp(x64emu_t *emu, uintptr_t fnc); +void pFppuLli(x64emu_t *emu, uintptr_t fnc); void pFppupLi(x64emu_t *emu, uintptr_t fnc); void pFppuppp(x64emu_t *emu, uintptr_t fnc); void pFpplplp(x64emu_t *emu, uintptr_t fnc); @@ -2683,6 +2692,7 @@ void iFEpUuppp(x64emu_t *emu, uintptr_t fnc); void iFEpLiLpp(x64emu_t *emu, uintptr_t fnc); void iFEpLiLpV(x64emu_t *emu, uintptr_t fnc); void iFEpLpiiL(x64emu_t *emu, uintptr_t fnc); +void iFEppupup(x64emu_t *emu, uintptr_t fnc); void iFEppuppp(x64emu_t *emu, uintptr_t fnc); void iFEppLpIu(x64emu_t *emu, uintptr_t fnc); void iFEpppLpp(x64emu_t *emu, uintptr_t fnc); @@ -2745,6 +2755,7 @@ void iFppiipiL(x64emu_t *emu, uintptr_t fnc); void iFppipiii(x64emu_t *emu, uintptr_t fnc); void iFppipiip(x64emu_t *emu, uintptr_t fnc); void iFppipipp(x64emu_t *emu, uintptr_t fnc); +void iFppipLip(x64emu_t *emu, uintptr_t fnc); void iFppippip(x64emu_t *emu, uintptr_t fnc); void iFppipppi(x64emu_t *emu, uintptr_t fnc); void iFppipppp(x64emu_t *emu, uintptr_t fnc); @@ -2774,6 +2785,7 @@ void iFppppipp(x64emu_t *emu, uintptr_t fnc); void iFppppIip(x64emu_t *emu, uintptr_t fnc); void iFppppupu(x64emu_t *emu, uintptr_t fnc); void iFppppdpu(x64emu_t *emu, uintptr_t fnc); +void iFppppLip(x64emu_t *emu, uintptr_t fnc); void iFpppppip(x64emu_t *emu, uintptr_t fnc); void iFpppppLp(x64emu_t *emu, uintptr_t fnc); void iFppppppi(x64emu_t *emu, uintptr_t fnc); @@ -2849,12 +2861,14 @@ void pFppipipp(x64emu_t *emu, uintptr_t fnc); void pFppipLpp(x64emu_t *emu, uintptr_t fnc); void pFppuipii(x64emu_t *emu, uintptr_t fnc); void pFppuippp(x64emu_t *emu, uintptr_t fnc); +void pFppuuupu(x64emu_t *emu, uintptr_t fnc); void pFppuuupp(x64emu_t *emu, uintptr_t fnc); void pFppuLLip(x64emu_t *emu, uintptr_t fnc); void pFppupuuu(x64emu_t *emu, uintptr_t fnc); void pFppliuip(x64emu_t *emu, uintptr_t fnc); void pFpplipup(x64emu_t *emu, uintptr_t fnc); void pFppLLiLi(x64emu_t *emu, uintptr_t fnc); +void pFppLLlip(x64emu_t *emu, uintptr_t fnc); void pFppLLppp(x64emu_t *emu, uintptr_t fnc); void pFpppccci(x64emu_t *emu, uintptr_t fnc); void pFpppiiii(x64emu_t *emu, uintptr_t fnc); @@ -3013,6 +3027,7 @@ void iFppuiiuuu(x64emu_t *emu, uintptr_t fnc); void iFppuuuuuu(x64emu_t *emu, uintptr_t fnc); void iFppuppppp(x64emu_t *emu, uintptr_t fnc); void iFppLpLpLi(x64emu_t *emu, uintptr_t fnc); +void iFppLpLpLp(x64emu_t *emu, uintptr_t fnc); void iFpppiiipi(x64emu_t *emu, uintptr_t fnc); void iFpppiiipp(x64emu_t *emu, uintptr_t fnc); void iFpppipipi(x64emu_t *emu, uintptr_t fnc); @@ -3021,6 +3036,7 @@ void iFppppiipp(x64emu_t *emu, uintptr_t fnc); void iFppppippp(x64emu_t *emu, uintptr_t fnc); void iFppppuplu(x64emu_t *emu, uintptr_t fnc); void iFpppppupp(x64emu_t *emu, uintptr_t fnc); +void iFpppppLpu(x64emu_t *emu, uintptr_t fnc); void iFppppppii(x64emu_t *emu, uintptr_t fnc); void iFppppppuu(x64emu_t *emu, uintptr_t fnc); void iFpppppppi(x64emu_t *emu, uintptr_t fnc); @@ -3184,6 +3200,7 @@ void iFppiiiiiii(x64emu_t *emu, uintptr_t fnc); void iFppipiiipi(x64emu_t *emu, uintptr_t fnc); void iFppippippp(x64emu_t *emu, uintptr_t fnc); void iFppuLLpupp(x64emu_t *emu, uintptr_t fnc); +void iFppupuiiii(x64emu_t *emu, uintptr_t fnc); void iFppuppuuuu(x64emu_t *emu, uintptr_t fnc); void iFppupppupp(x64emu_t *emu, uintptr_t fnc); void iFppLiipiiL(x64emu_t *emu, uintptr_t fnc); @@ -3193,6 +3210,7 @@ void iFpppippipi(x64emu_t *emu, uintptr_t fnc); void iFpppLLLupp(x64emu_t *emu, uintptr_t fnc); void iFpppLppupp(x64emu_t *emu, uintptr_t fnc); void iFppppiiupp(x64emu_t *emu, uintptr_t fnc); +void iFppppLpLip(x64emu_t *emu, uintptr_t fnc); void iFpppppLupp(x64emu_t *emu, uintptr_t fnc); void iFppppppupp(x64emu_t *emu, uintptr_t fnc); void iFppppppppu(x64emu_t *emu, uintptr_t fnc); @@ -3282,6 +3300,7 @@ void iFpuuLiuiiLL(x64emu_t *emu, uintptr_t fnc); void iFpLLpiiuuii(x64emu_t *emu, uintptr_t fnc); void iFpLpLUUUUpL(x64emu_t *emu, uintptr_t fnc); void iFppuuiiuuuu(x64emu_t *emu, uintptr_t fnc); +void iFppuppppupu(x64emu_t *emu, uintptr_t fnc); void iFppLLiiLWpi(x64emu_t *emu, uintptr_t fnc); void iFppLpLLpLpp(x64emu_t *emu, uintptr_t fnc); void iFppLpLpLLpp(x64emu_t *emu, uintptr_t fnc); diff --git a/src/wrapped/wrappedlibssh2.c b/src/wrapped/wrappedlibssh2.c index 3dd0158e..ee24fd5a 100644 --- a/src/wrapped/wrappedlibssh2.c +++ b/src/wrapped/wrappedlibssh2.c @@ -6,14 +6,166 @@ #include "wrappedlibs.h" +#include "debug.h" #include "wrapper.h" #include "bridge.h" #include "librarian/library_private.h" #include "x64emu.h" +#include "emu/x64emu_private.h" +#include "callback.h" +#include "librarian.h" +#include "box64context.h" +#include "emu/x64emu_private.h" const char* libssh2Name = "libssh2.so.1"; #define LIBNAME libssh2 #define NEEDED_LIBS "libgcrypt.so.20" +#define ADDED_FUNCTIONS() \ + +#include "generated/wrappedlibssh2types.h" + +#include "wrappercallback.h" + +// utility functions +#define SUPER() \ +GO(0) \ +GO(1) \ +GO(2) \ +GO(3) \ +GO(4) + +// alloc +#define GO(A) \ +static uintptr_t my_alloc_fct_##A = 0; \ +static void* my_alloc_##A(size_t a, void* b) \ +{ \ + return (void*)RunFunctionFmt(my_alloc_fct_##A, "lp", a, b); \ +} +SUPER() +#undef GO +static void* find_alloc_Fct(void* fct) +{ + if(!fct) return NULL; + void* p; + if((p = GetNativeFnc((uintptr_t)fct))) return p; + #define GO(A) if(my_alloc_fct_##A == (uintptr_t)fct) return my_alloc_##A; + SUPER() + #undef GO + #define GO(A) if(my_alloc_fct_##A == 0) {my_alloc_fct_##A = (uintptr_t)fct; return my_alloc_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libssh2 alloc callback\n"); + return NULL; +} +// realloc +#define GO(A) \ +static uintptr_t my_realloc_fct_##A = 0; \ +static void* my_realloc_##A(void* a, size_t b, void* c) \ +{ \ + return (void*)RunFunctionFmt(my_realloc_fct_##A, "plp", a, b, c); \ +} +SUPER() +#undef GO +static void* find_realloc_Fct(void* fct) +{ + if(!fct) return NULL; + void* p; + if((p = GetNativeFnc((uintptr_t)fct))) return p; + #define GO(A) if(my_realloc_fct_##A == (uintptr_t)fct) return my_realloc_##A; + SUPER() + #undef GO + #define GO(A) if(my_realloc_fct_##A == 0) {my_realloc_fct_##A = (uintptr_t)fct; return my_realloc_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libssh2 realloc callback\n"); + return NULL; +} +// free +#define GO(A) \ +static uintptr_t my_free_fct_##A = 0; \ +static void my_free_##A(void* a, void* b) \ +{ \ + RunFunctionFmt(my_free_fct_##A, "pp", a, b); \ +} +SUPER() +#undef GO +static void* find_free_Fct(void* fct) +{ + if(!fct) return NULL; + void* p; + if((p = GetNativeFnc((uintptr_t)fct))) return p; + #define GO(A) if(my_free_fct_##A == (uintptr_t)fct) return my_free_##A; + SUPER() + #undef GO + #define GO(A) if(my_free_fct_##A == 0) {my_free_fct_##A = (uintptr_t)fct; return my_free_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libssh2 free callback\n"); + return NULL; +} +// paaswd_changereq +#define GO(A) \ +static uintptr_t my_paaswd_changereq_fct_##A = 0; \ +static void my_paaswd_changereq_##A(void* a, int b, void* c, int d, void* e, int f, void* g) \ +{ \ + RunFunctionFmt(my_paaswd_changereq_fct_##A, "pipipip", a, b, c, d, e, f, g); \ +} +SUPER() +#undef GO +static void* find_paaswd_changereq_Fct(void* fct) +{ + if(!fct) return NULL; + void* p; + if((p = GetNativeFnc((uintptr_t)fct))) return p; + #define GO(A) if(my_paaswd_changereq_fct_##A == (uintptr_t)fct) return my_paaswd_changereq_##A; + SUPER() + #undef GO + #define GO(A) if(my_paaswd_changereq_fct_##A == 0) {my_paaswd_changereq_fct_##A = (uintptr_t)fct; return my_paaswd_changereq_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libssh2 paaswd_changereq callback\n"); + return NULL; +} +// userauth_kbdint_response +#define GO(A) \ +static uintptr_t my_userauth_kbdint_response_fct_##A = 0; \ +static void my_userauth_kbdint_response_##A(void* a, int b, void* c, int d, int e, void* f, void* g, void* h) \ +{ \ + RunFunctionFmt(my_userauth_kbdint_response_fct_##A, "pipiippp", a, b, c, d, e, f, g, h); \ +} +SUPER() +#undef GO +static void* find_userauth_kbdint_response_Fct(void* fct) +{ + if(!fct) return NULL; + void* p; + if((p = GetNativeFnc((uintptr_t)fct))) return p; + #define GO(A) if(my_userauth_kbdint_response_fct_##A == (uintptr_t)fct) return my_userauth_kbdint_response_##A; + SUPER() + #undef GO + #define GO(A) if(my_userauth_kbdint_response_fct_##A == 0) {my_userauth_kbdint_response_fct_##A = (uintptr_t)fct; return my_userauth_kbdint_response_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libssh2 userauth_kbdint_response callback\n"); + return NULL; +} +#undef SUPER + +EXPORT int my_libssh2_userauth_password_ex(x64emu_t* emu, void* session, void* username, uint32_t name_len, void* passw, uint32_t pwd_len, void* f) +{ + return my->libssh2_userauth_password_ex(session, username, name_len, passw, pwd_len, find_paaswd_changereq_Fct(f)); +} + +EXPORT void* my_libssh2_session_init_ex(x64emu_t* emu, void* my_alloc, void* my_free, void* my_realloc, void* abstract) +{ + return my->libssh2_session_init_ex(find_alloc_Fct(my_alloc), find_free_Fct(my_free), find_realloc_Fct(my_realloc), abstract); +} + +EXPORT int my_libssh2_userauth_keyboard_interactive_ex(x64emu_t* emu, void* session, void* username, uint32_t len, void* f) +{ + return my->libssh2_userauth_keyboard_interactive_ex(session, username, len, find_userauth_kbdint_response_Fct(f)); +} + #include "wrappedlib_init.h" diff --git a/src/wrapped/wrappedlibssh2_private.h b/src/wrapped/wrappedlibssh2_private.h index 6a33d91c..dc40743e 100644 --- a/src/wrapped/wrappedlibssh2_private.h +++ b/src/wrapped/wrappedlibssh2_private.h @@ -1,20 +1,22 @@ #if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA)) -error Meh... +#error Meh... #endif GO(libssh2_agent_connect, iFp) GO(libssh2_agent_disconnect, iFp) GO(libssh2_agent_free, vFp) GO(libssh2_agent_get_identity, iFppp) -GO(libssh2_agent_get_identity_path, iFpppi) +GO(libssh2_agent_get_identity_path, pFp) GO(libssh2_agent_init, pFp) GO(libssh2_agent_list_identities, iFp) GO(libssh2_agent_set_identity_path, vFpp) +GO(libssh2_agent_sign, iFpppppLpu) GO(libssh2_agent_userauth, iFppp) GO(libssh2_banner_set, iFpp) -GO(libssh2_base64_decode, iFppppi) +GO(libssh2_base64_decode, iFppppu) GO(libssh2_channel_close, iFp) -GO(libssh2_channel_direct_tcpip_ex, iFppipi) +GO(libssh2_channel_direct_streamlocal_ex, pFpppi) +GO(libssh2_channel_direct_tcpip_ex, pFppipi) GO(libssh2_channel_eof, iFp) GO(libssh2_channel_flush_ex, iFpi) GO(libssh2_channel_forward_accept, pFp) @@ -25,6 +27,119 @@ GO(libssh2_channel_get_exit_signal, iFppppppp) GO(libssh2_channel_get_exit_status, iFp) GO(libssh2_channel_handle_extended_data, vFpi) GO(libssh2_channel_handle_extended_data2, iFpi) +GO(libssh2_channel_open_ex, pFppuuupu) GO(libssh2_channel_process_startup, iFppupu) -GO(libssh2_channel_read_ex, iFpipi) -GO(libssh2_crypt_methods, pFv) +GO(libssh2_channel_read_ex, lFpipL) +GO(libssh2_channel_receive_window_adjust, LFpLC) +GO(libssh2_channel_receive_window_adjust2, iFpLCp) +GO(libssh2_channel_request_auth_agent, iFp) +GO(libssh2_channel_request_pty_ex, iFppupuiiii) +GO(libssh2_channel_request_pty_size_ex, iFpiiii) +GO(libssh2_channel_send_eof, iFp) +GO(libssh2_channel_set_blocking, vFpi) +GO(libssh2_channel_setenv_ex, iFppupu) +GO(libssh2_channel_signal_ex, iFppL) +GO(libssh2_channel_wait_closed, iFp) +GO(libssh2_channel_wait_eof, iFp) +GO(libssh2_channel_window_read_ex, LFppp) +GO(libssh2_channel_window_write_ex, LFpp) +GO(libssh2_channel_write_ex, lFpipL) +GO(libssh2_channel_x11_req_ex, iFpippi) +//GO(libssh2_crypt_methods, +GO(libssh2_crypto_engine, uFv) +GO(libssh2_exit, vFv) +GO(libssh2_free, vFpp) +GO(libssh2_hostkey_hash, pFpi) +//GO(libssh2_hostkey_methods, +GO(libssh2_init, iFi) +GO(libssh2_keepalive_config, vFpiu) +GO(libssh2_keepalive_send, iFpp) +GO(libssh2_knownhost_add, iFppppLip) +GO(libssh2_knownhost_addc, iFppppLpLip) +GO(libssh2_knownhost_check, iFpppLip) +GO(libssh2_knownhost_checkp, iFppipLip) +GO(libssh2_knownhost_del, iFpp) +GO(libssh2_knownhost_free, vFp) +GO(libssh2_knownhost_get, iFppp) +GO(libssh2_knownhost_init, pFp) +GO(libssh2_knownhost_readfile, iFppi) +GO(libssh2_knownhost_readline, iFppLi) +GO(libssh2_knownhost_writefile, iFppi) +GO(libssh2_knownhost_writeline, iFpppLpi) +GO(libssh2_poll, iFpul) +GO(libssh2_poll_channel_read, iFpi) +//GO(libssh2_publickey_add_ex, +//GO(libssh2_publickey_init, +//GO(libssh2_publickey_list_fetch, +//GO(libssh2_publickey_list_free, +//GO(libssh2_publickey_remove_ex, +//GO(libssh2_publickey_shutdown, +GO(libssh2_scp_recv, pFppp) +GO(libssh2_scp_recv2, pFppp) +GO(libssh2_scp_send64, pFppiIll) +GO(libssh2_scp_send_ex, pFppiLll) +GO(libssh2_session_abstract, pFp) +GO(libssh2_session_banner_get, pFp) +GO(libssh2_session_banner_set, iFpp) +GO(libssh2_session_block_directions, iFp) +GO(libssh2_session_callback_set, pFpip) +GO(libssh2_session_callback_set2, pFpip) +GO(libssh2_session_disconnect_ex, iFpipp) +GO(libssh2_session_flag, iFpii) +GO(libssh2_session_free, iFp) +GO(libssh2_session_get_blocking, iFp) +GO(libssh2_session_get_read_timeout, lFp) +GO(libssh2_session_get_timeout, lFp) +GO(libssh2_session_handshake, iFpi) +GO(libssh2_session_hostkey, pFppp) +GOM(libssh2_session_init_ex, pFEpppp) +GO(libssh2_session_last_errno, iFp) +GO(libssh2_session_last_error, iFpppi) +GO(libssh2_session_method_pref, iFpip) +GO(libssh2_session_methods, pFpi) +GO(libssh2_session_set_blocking, vFpi) +GO(libssh2_session_set_last_error, iFpip) +GO(libssh2_session_set_read_timeout, vFpl) +GO(libssh2_session_set_timeout, vFpl) +GO(libssh2_session_startup, iFpi) +GO(libssh2_session_supported_algs, iFpip) +GO(libssh2_sftp_close_handle, iFp) +//GO(libssh2_sftp_dtor, +GO(libssh2_sftp_fstat_ex, iFppi) +GO(libssh2_sftp_fstatvfs, iFpp) +GO(libssh2_sftp_fsync, iFp) +GO(libssh2_sftp_get_channel, pFp) +GO(libssh2_sftp_init, pFp) +GO(libssh2_sftp_last_error, LFp) +GO(libssh2_sftp_mkdir_ex, iFppul) +GO(libssh2_sftp_open_ex, pFppuLli) +GO(libssh2_sftp_open_ex_r, pFppLLlip) +GO(libssh2_sftp_posix_rename_ex, iFppLpL) +GO(libssh2_sftp_read, lFppL) +GO(libssh2_sftp_readdir_ex, iFppLpLp) +GO(libssh2_sftp_rename_ex, iFppupul) +GO(libssh2_sftp_rmdir_ex, iFppu) +GO(libssh2_sftp_seek, vFpL) +GO(libssh2_sftp_seek64, vFpU) +GO(libssh2_sftp_shutdown, iFp) +GO(libssh2_sftp_stat_ex, iFppuip) +GO(libssh2_sftp_statvfs, iFppLp) +GO(libssh2_sftp_symlink_ex, iFppupui) +GO(libssh2_sftp_tell, LFp) +GO(libssh2_sftp_tell64, UFp) +GO(libssh2_sftp_unlink_ex, iFppu) +GO(libssh2_sftp_write, lFppL) +GO(libssh2_sign_sk, iFppppLp) +GO(libssh2_trace, iFpi) +//GOM(libssh2_trace_sethandler, iFEppp) +GO(libssh2_userauth_authenticated, iFp) +GO(libssh2_userauth_banner, iFpp) +GO(libssh2_userauth_hostbased_fromfile_ex, iFppuppppupu) +GOM(libssh2_userauth_keyboard_interactive_ex, iFEppup) +GO(libssh2_userauth_list, pFppu) +GOM(libssh2_userauth_password_ex, iFEppupup) +//GOM(libssh2_userauth_publickey, iFEpppLpp) +GO(libssh2_userauth_publickey_fromfile_ex, iFppuppp) +GO(libssh2_userauth_publickey_frommemory, iFppLpLpLp) +//GOM(libssh2_userauth_publickey_sk, iFEppLpLpLppp) +GO(libssh2_version, pFi) |