摘要:
学习堆栈知识,实现一个简单的栈溢出攻击。 代码如下图,main函数中只运行normal_func函数,通过数组越界,修改normal_func的返回地址,将eject_func函数地址赋值到normal_func的返回地址,实现对eject_fun的调用。 #include <cstdio> #in 阅读全文
摘要:
头文件<memory> 1.1 std::allocate、std::deallocate (通过::operator new 和 ::operator delete封装实现) 1.2 std::construct、std::destory (通过placement new 和调用析构函数实现) t 阅读全文
摘要:
STL源码剖析 侯捷 STL主要包括六个组件: 1、配置器:负责空间配置和管理。 2、迭代器:扮演容器和算法之前的胶合剂,所谓“泛型指针”。 3、容器:各种数据结构,如vector,list,set,map等。 4、算法:各种常用算法,如sort,search,copy等。 5、仿函数:一种重载op 阅读全文
摘要:
1、system函数学习 定义函数 // param: cmd命令字符串 // return: -1:出现错误, 0:调用成功但是没有出现子进程, 127:调用/bin/sh时失败, >0:成功//退出的子进程的id int system(const char * cmdstring) { pid_ 阅读全文