逆向基础之函数工作原理

函数工作的基本原理:

逆向基础之函数工作原理

 

这些代码区中的精确跳转都是在栈的巧妙配合下完成的。

 

当函数被调用时,系统会为这个函数开辟一个新的栈帧。这个栈帧中的内存空间被函数独占,正常情况下是不会和其他的函数共享的。当函数返回时,系统会弹出该函数索对应的栈帧

 如图:

逆向基础之函数工作原理

 

逆向基础之函数工作原理

 

每个函数都独占自己的栈帧空间,当前正在运行的函数的栈帧总是在栈顶

逆向基础之函数工作原理

 

 

函数调用约定描述了函数参数传递的方式栈协同工作的技术细节

不同的编译器实现函数调用的原理基本相同,但具体的约定还是有区别的。包括参数入栈顺序、栈的恢复等。

逆向基础之函数工作原理

 

整理下函数调用的基本过程;

逆向基础之函数工作原理

函数返回的步骤如下:

逆向基础之函数工作原理

 

posted @ 2019-03-13 08:26 卿先生 阅读(...) 评论(...) 编辑 收藏

相关文章:

  • 2021-08-25
  • 2022-12-23
  • 2022-12-23
  • 2021-06-08
  • 2021-04-10
  • 2021-06-13
  • 2021-09-17
猜你喜欢
  • 2023-03-16
  • 2022-12-23
  • 2021-05-29
  • 2022-12-23
  • 2021-04-10
  • 2021-12-27
  • 2021-07-07
相关资源
相似解决方案