用SetWindowsHookEx hook某个x64程序的主线程后,在主线程调用call有时会崩溃,asm代码如下: [Asm] 纯文本查看 复制代码EXTERN m_ptr:QWORD .data .const .code ASMCall proc sub rsp,28h call m_ptr add rsp,28h ret ASMCall endp end 有时连续调用十几次都正常,有时调用一次就崩溃,是哪里的问题呢 内联, 主线
董督秀 发表于 2025-6-8 11:14 保存其他寄存器没有?要不上程序与源码? 汇编代码就是上面这样 然后在cpp文件中声明[C++] 纯文本查看 复制代码extern "C" void ASMCall(UINT64 RCX, UINT64 RDX, UINT64 R8, UINT64 R9); 在hook函数中调用[C++] 纯文本查看 复制代码ASMCall(ptr1, ptr2, lpArg->lParam, 0); 大部分时候都成功,偶尔崩溃,可能是没有保存寄存器的原因,x64下要怎么写呢