From:http://www.cnblogs.com/killerlegend/p/3916937.html

Author:KillerLegend

Date:2014.8.16

这篇文章参考1996年Aleph One的一篇文章: http://www1.maths.leeds.ac.uk/~read/bofs.html,我只想说,原文的年龄几乎和我一样大的啊...额..一不小心暴露了年龄...1996年到现在按四舍五入差不多已有二十年...这篇文章在国外还是相当有名的,是第一篇基于缓冲区栈溢出攻击且系统的描述Exploit的文章(exploit这个词还真不好翻译,在OxfordDictory中的解释是: A software tool designed to take advantage of a flaw in a computer system, typically for malicious purposes such as installing malware,大概意思就是利用计算机系统的漏洞进行攻击的工具).只不过时间流逝,很多都失效了,不过这并不妨碍我们来学习一下系统栈..个人不才,没有完全看懂,但是收获是,对于系统栈有了一些基本的了解,跟随文章写下自己的理解,分享所得,后续会继续从事漏洞,渗透,破解,互联网攻防,系统安全等方面的研究,有这一方面爱好的伙伴,希望我们可以成为好朋友,以便交流,共同进步.OK,Let’s go..

操作环境:

Windows7 Ultimate 64bit + Cygwin v 1.7.28 + GCC v4.8 + G++ v7.6.1

首先来分析如下的代码,假设保存为main.cpp:

c) { char buffer1[5]; char buffer2[10]; } int main() { function(1,2,3); return 0; }
我们来看一下对应的汇编代码,在Cygwin中输入:

相关文章: