在x64跑32位程序,API调用。
正常的程序
32-bit NtAllocateVirtualMemory->Wow64 transition->64-bit NtAllocateVirtualMemory->SYSCALL
恶意的程序
直接调用Jmp 0x33->64-bit NtAllocateVirtualMemory->SYSCALL
x23 = x86 mode
0x33 = x64 mode
处理器一般在x86上
将变量从32位扩展到64位,从堆栈获取参数到寄存器,将所有内容放到合适的地址空间并找到正确的系统调用。