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