protostar_stack2
![](http://images0.cnblogs.com/blog/543611/201307/09000420-2c027f7169fc4aaaae7dc809b28077c2.png)
getenv 函数是获取环境变量的值
这个的obj文件的main部分:
![](http://images0.cnblogs.com/blog/543611/201307/09000420-335bbc42acf7456c86148a0eb82da34d.png)
从这个文件中,可以看出:
mov %eax,0x5c(%esp)
这句可以看出,variable变量的存储位置是 esp + 92
mov $0x0,0x58(%esp)
这句可以看出,modified变量存储的位置是 esp + 88
lea 0x18(%esp),%esp
这句可以看出 ,buffer 变量存储的位置是 esp + 26 (因为这个是在调用函数之前的参数压栈,从右往左)
所以,我们先定义一个变量 s1 = "1234567890........"(反正有64个字符)
![](http://images0.cnblogs.com/blog/543611/201307/09000420-9c0cc3255cd349d4a278fc86f4f3a2dc.png)
YES !