zoukankan      html  css  js  c++  java
  • OllyDbg---call和ret指令

    call和ret

    call指令

    • cal指令是转移到指定的子程序处,后面紧跟的操作数就是给定的地址。
    • 例如,call 401362表示转移到地址401362处,调用401362处的子程序,当子程序调用完毕之后就返回到call指令的下一条语句处。
    • 如果想要跟踪子程序内部,可以按F7跟进;
    • 如果只是想先看看子程序里面的内容再决定要不要跟踪,可以右键follow;
    • 如果不想跟踪子程序内部,按下F8键,继续执行call指令的下一条语句。

    ret指令

    • 如果call跟进的话,ret就会返回call指令的下一条语句处的地址。

    • 当执行到ret指令时,栈顶存放的一般是子程序的返回地址。

    • ret指令不仅可以用于子程序的返回,比如

      PUSH 401256
      RET
      
      将401256压入到堆栈中,ret指令会将401256当做子程序的返回地址,
      但其实它并不是返回地址,执行ret指令后依然可以跳转到401256地址处。
      
  • 相关阅读:
    Java 回调函数的理解
    Java对象初始化
    Hibernate中get方法和load方法的区别
    Java 如何判断导入表格某列是否有重复数据
    Java学习之Java的单例模式
    Java中怎么设置文件权限
    div居中问题
    JSON
    js
    ajax
  • 原文地址:https://www.cnblogs.com/KX-Lau/p/12928806.html
Copyright © 2011-2022 走看看