From 7f5c826bb13d2d989563d27436d5b4e4f95e3757 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Thu, 10 Oct 2024 20:54:40 +0200 Subject: [BOX32][TRACE] Fixed trace for memcmp, strncasecmp and strncmp --- src/emu/x86int3.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/emu/x86int3.c b/src/emu/x86int3.c index 4f63f7b3..6d0780f3 100755 --- a/src/emu/x86int3.c +++ b/src/emu/x86int3.c @@ -32,7 +32,6 @@ #include "elfs/elfloader_private.h" typedef int32_t (*iFpppp_t)(void*, void*, void*, void*); -typedef unsigned long ulong; static uint64_t F64(uintptr_t* addr) { uint64_t ret = *(uint64_t*)*addr; @@ -229,16 +228,16 @@ void x86Int3(x64emu_t* emu, uintptr_t* addr) snprintf(buff, 255, "%04d|%p: Calling %s(\"%s\", \"%s\")", tid, from_ptrv(*(ptr_t*)from_ptr(R_ESP)), (char *)s, (char *)from_ptrv(*(ptr_t*)from_ptr(R_ESP+4)), (char *)from_ptrv(*(ptr_t*)from_ptr(R_ESP+8))); ret_fmt = 1; } else if(strstr(s, "strncmp")==s || strstr(s, "__strncmp")==s) { - snprintf(buff, 255, "%04d|%p: Calling %s(\"%s\", \"%s\", %lu)", tid, from_ptrv(*(ptr_t*)from_ptr(R_ESP)), (char *)s, (char *)from_ptrv(*(ptr_t*)from_ptr(R_ESP+4)), (char *)from_ptrv(*(ptr_t*)from_ptr(R_ESP+8)), *(ulong*)from_ptr(R_ESP+12)); + snprintf(buff, 255, "%04d|%p: Calling %s(\"%s\", \"%s\", %lu)", tid, from_ptrv(*(ptr_t*)from_ptr(R_ESP)), (char *)s, (char *)from_ptrv(*(ptr_t*)from_ptr(R_ESP+4)), (char *)from_ptrv(*(ptr_t*)from_ptr(R_ESP+8)), *(ulong_t*)from_ptr(R_ESP+12)); ret_fmt = 1; } else if(strstr(s, "strncasecmp")==s) { - snprintf(buff, 255, "%04d|%p: Calling %s(\"%s\", \"%s\", %lu)", tid, from_ptrv(*(ptr_t*)from_ptr(R_ESP)), (char *)s, (char *)from_ptrv(*(ptr_t*)from_ptr(R_ESP+4)), (char *)from_ptrv(*(ptr_t*)from_ptr(R_ESP+8)), *(ulong*)from_ptr(R_ESP+12)); + snprintf(buff, 255, "%04d|%p: Calling %s(\"%s\", \"%s\", %lu)", tid, from_ptrv(*(ptr_t*)from_ptr(R_ESP)), (char *)s, (char *)from_ptrv(*(ptr_t*)from_ptr(R_ESP+4)), (char *)from_ptrv(*(ptr_t*)from_ptr(R_ESP+8)), *(ulong_t*)from_ptr(R_ESP+12)); ret_fmt = 1; } else if(strstr(s, "strtol")==s || strstr(s, "strtoul")==s) { snprintf(buff, 255, "%04d|%p: Calling %s(\"%s\", %p, %d)", tid, from_ptrv(*(ptr_t*)from_ptr(R_ESP)), (char *)s, (char *)from_ptrv(*(ptr_t*)from_ptr(R_ESP+4)), (char *)from_ptrv(*(ptr_t*)from_ptr(R_ESP+8)), *(int*)from_ptr(R_ESP+12)); ret_fmt = 1; } else if(strstr(s, "memcmp")==s) { - snprintf(buff, 255, "%04d|%p: Calling %s(%p, %p, %lu)", tid, from_ptrv(*(ptr_t*)from_ptr(R_ESP)), (char *)s, (char *)from_ptrv(*(ptr_t*)from_ptr(R_ESP+4)), (char *)from_ptrv(*(ptr_t*)from_ptr(R_ESP+8)), from_ptri(ulong, R_ESP+12)); + snprintf(buff, 255, "%04d|%p: Calling %s(%p, %p, %lu)", tid, from_ptrv(*(ptr_t*)from_ptr(R_ESP)), (char *)s, (char *)from_ptrv(*(ptr_t*)from_ptr(R_ESP+4)), (char *)from_ptrv(*(ptr_t*)from_ptr(R_ESP+8)), from_ptri(ulong_t, R_ESP+12)); ret_fmt = 1; } else if(strstr(s, "strstr")==s) { snprintf(buff, 255, "%04d|%p: Calling %s(%p\"%.127s\", \"%.127s\")", tid, from_ptrv(*(ptr_t*)from_ptr(R_ESP)), (char *)s, from_ptrv(*(ptr_t*)from_ptr(R_ESP+4)), (char *)from_ptrv(*(ptr_t*)from_ptr(R_ESP+4)), (char *)from_ptrv(*(ptr_t*)from_ptr(R_ESP+8))); -- cgit 1.4.1