摘要:
好吧,我们看看这次的练习:这次是通过输入buffer,溢出覆盖函数指针fp,使得fp指向void win函数!通过objdump -d,查看到main部分的代码:fp的位置是 esp + 5cbuffer的位置是 esp + 1cwin函数的地址是 0x08048424所以,这个题其实和上一题没啥区别,答案是这样滴:这个是赋值的过程!成功的输出了win函数中的一句话~~~~来自为知笔记(Wiz) 阅读全文
摘要:
getenv 函数是获取环境变量的值这个的obj文件的main部分:从这个文件中,可以看出:mov %eax,0x5c(%esp)这句可以看出,variable变量的存储位置是 esp + 92mov $0x0,0x58(%esp)这句可以看出,modified变量存储的位置是 esp + 88lea 0x18(%esp),%esp这句可以看出 ,buffer变量存储的位置是 esp + 26 (因为这个是在调用函数之前的参数压栈,从右往左)所以,我们先定义一个变量 s1 = "1234567890........"(反正有64个字符)YES !来自为知笔记(Wiz) 阅读全文