• 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地址处。
      
  • 相关阅读:
    apk逆向工具总结
    DAY...
    DAY1-Flask项目
    Django笔记
    DAY8-Python学习笔记
    DAY7-Python学习笔记
    DAY6-Python学习笔记
    DAY5-Python学习笔记
    DAY4-Python学习笔记
    DAY3-Python学习笔记
  • 原文地址:https://www.cnblogs.com/KX-Lau/p/12928806.html
Copyright © 2020-2023  润新知