diff options
Diffstat (limited to 'src')
| -rwxr-xr-x | src/emu/x64int3.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/emu/x64int3.c b/src/emu/x64int3.c index 645d551e..0d8e0e05 100755 --- a/src/emu/x64int3.c +++ b/src/emu/x64int3.c @@ -106,6 +106,13 @@ void x64Int3(x64emu_t* emu) } else if(!strcmp(s, "sscanf")) { tmp = (char*)(R_RSI); snprintf(buff, 255, "%04d|%p: Calling %s(%p, \"%s\" (,%p))", tid, *(void**)(R_RSP), s, (void*)R_RDI, (tmp)?tmp:"(nil)", (void*)(R_RDX)); + } else if(!strcmp(s, "XCreateWindow")) { + tmp = (char*)(R_RSI); + snprintf(buff, 255, "%04d|%p: Calling %s(%p, %p, %d, %d, %u, %u, %u, %d, %u, %p, 0x%lx, %p)", tid, *(void**)(R_RSP), s, + (void*)R_RDI, (void*)R_RSI, (int)R_EDX, (int)R_ECX, R_R8d, R_R9d, + (uint32_t)*(uint64_t*)(R_RSP+8), (int)*(uint64_t*)(R_RSP+16), + (uint32_t)*(uint64_t*)(R_RSP+24), (void*)*(uint64_t*)(R_RSP+32), + (unsigned long)*(uint64_t*)(R_RSP+40), (void*)*(uint64_t*)(R_RSP+48)); } else { snprintf(buff, 255, "%04d|%p: Calling %s(0x%lX, 0x%lX, 0x%lX, ...)", tid, *(void**)(R_RSP), s, R_RDI, R_RSI, R_RDX); } |