Chinaunix首页 | 论坛 | 博客

abc

  • 博客访问: 22604
  • 博文数量: 17
  • 博客积分: 765
  • 博客等级: 军士长
  • 技术积分: 175
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-11 22:34
文章分类

全部博文(17)

文章存档

2010年(3)

2009年(14)

我的朋友
最近访客

分类: C/C++

2009-12-16 21:31:36

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) |
0

上一篇:时间函数

下一篇:windows程序内存泄漏检测

给主人留下些什么吧!~~