摘要: 利用复杂的堆溢出的时候,ltrace 是最好的工具,碰到比较复杂的堆溢出的时候,则必须经历几个重要的步骤 (1) 使其标准化。这是指如果进程生成并调用execve,那么就简单地连接到这个进程;如果本地攻击,将使用execve() 启动这个进程,重要的是了解堆怎样被初始化的 (2) 为攻击设置堆。这是 阅读全文
posted @ 2019-07-17 23:32 坚持,每天进步一点点 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 一. 实现原理 首先变长参数的实现依赖于cdecl调用,因为其规定了出栈方为函数调用方,从而解决被调用函数无法确定参数个数,其次cdecl规定参数入栈顺序为从右到左。所以第一个不定参数位于栈顶 二. 宏源码讲解 (va > variable-argument(可变参数)) 头文件 stdarg.h 阅读全文
posted @ 2019-07-17 22:59 坚持,每天进步一点点 阅读(2787) 评论(0) 推荐(0) 编辑
摘要: 参考文献:dpdk中的librte_malloc库 《深入浅出DPDK》 一. librte_malloc 库 dpdk中的librte_malloc库提供了能够分配任意大小内存的API。 该库的目标是提供类似malloc的函数从hugepage中分配内存,以及帮助应用程序移植。通常情况下,这种类型 阅读全文
posted @ 2019-07-17 00:11 坚持,每天进步一点点 阅读(4447) 评论(0) 推荐(0) 编辑