我需要从调用我的函数的函数中获取 ecx 寄存器(__fastcall 约定)
我一直试图通过将 0x8 添加到 ebp 来获得 ecx,因为根据我的理解 ebp + 0x4 = 返回地址,并且从它的堆栈参数向上。
这是我一直在做的事情
uintptr_t _framePointer, _framePointerOld;
__asm
{
mov _framePointer, ebp
}
_framePointerOld= *reinterpret_cast< uintptr_t* >( _framePointer);
void* ecx_of_caller = *reinterpret_cast< void** >( _framePointerOld+ 0x12 );