32位和64位函数调用顺序

32位

栈图
左边为无堆栈平衡,右边为堆栈平衡

对于pop3次选用的寄存器不知道是否固定,有些题目不会采用eax,ebx,ecx。

64位

记录两个例子


就ret2text3_64而言,我还不太清楚其内在原因,如'/bin/sh'的位置,类似的还有ret2libc2。
如果有错误,欢迎指正,谢谢

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Return-Oriented-Programming(ROP FTW) Author: Saif El-Sher...
    RealSys阅读 8,745评论 0 2
  • 原文地址:C语言函数调用栈(一)C语言函数调用栈(二) 0 引言 程序的执行过程可看作连续的函数调用。当一个函数执...
    小猪啊呜阅读 10,304评论 1 19
  • 1.地址总线,数据总线,控制总线在哪里,它们有什么作用?答:它们都是cpu连接外部组件的线路。地址总线:地址总线A...
    MagicalGuy阅读 5,513评论 0 1
  • 汇编基础教程 16位和32位的80x86汇编语言的区别 需要注意的是汇编不是一种语言,不同平台有不同的汇编语言对应...
    inwunwe阅读 13,152评论 2 19
  • 1. 堆栈操作 1). 运行时栈 PUSH 操作 作用:32位PUSH操作将堆栈指针递减4并将值复制到该位置堆栈指...
    _凌浩雨阅读 7,122评论 0 5

友情链接更多精彩内容