错误C2415在此指令“MOV Incoming_Packet_Length,DWORD PTR SS:[EBP-14]”

时间:2013-04-04 15:42:10

标签: c++ hook

我是c ++和inline asm的新手,搜索并没有把我带到任何地方 我在

得到错误C2415
MOV Incoming_Packet_Length,DWORD PTR SS:[EBP-14]
MOV Incoming_Packet_Pointer,DWORD PTR SS:[EBP-1C]

我挂钩

Address   Hex dump          Command    
006D89D0  |> >FF75 EC       PUSH DWORD PTR SS:[EBP-14]
006D89D3  |. |FF75 E4       PUSH DWORD PTR SS:[EBP-1C]
006D89D6  |. |E8 B4C5FFFF   CALL 006D4F8F

我希望得到这些值的变量都是静态整数

static int Incoming_Packet_Length; static int Incoming_Packet_Pointer;

感谢

1 个答案:

答案 0 :(得分:0)

我猜C2415是“无效寻址模式”。您需要分两步执行此操作:

MOV      EAX,DWORD PTR SS:[EBP-14]
MOV      Incoming_Packet_Length,EAX
MOV      EAX,DWORD PTR SS:[EBP-1C]
MOV      Incoming_Packet_Pointer,EAX

X86不支持直接从内存移动到内存 - 一方需要是一个寄存器。