call addr0;
addr0:
pop eax // 获取eip, 此时eip指向本指令
mov edx, addr1 // addr1为函数调用完成后继续执行的地方
sub edx, addr0 // 计算add1和add0之间的值
add eax, edx // 计算返回地址 eip加上add1和add0之间的值就是add1的绝对值
mov edx, 0 // 参数
push edx // 压入参数
push eax // 压入返回地址
mov eax, 0x00401110 // 函数调用
jmp eax
addr1:
pop ecx // 平衡栈, 假设函数参数是由被调用函数来平衡的
阅读(306) | 评论(0) | 转发(0) |