课程说明
C/C++ 体系之最底层是CRT (C Runtime),更底层是O.S. (本课程以Windows为主),此二层对内存动态分配 (所谓 Heap Allocations) 的处理效率影响applications表现甚巨。
课程特色
CRT 层面不外乎是 malloc()和free,Windows层面则是 LFH(Least Fragment Heap) 和 LAL (Look Aside Lists)。本课程以源码级别的细粒度来讲解 malloc()/free(),以实际测试程序 (附源码) 的观察结果来探讨 LFH 和 LAL,并兼谈黑客 (hacker) 最爱的 "缓冲区溢出" (buffer overflow) 攻击手法。
课程对象
C/C++高阶学员
课程大纲
Memory Pool大局观
深入Visual C++ malloc() 体系结构 (实例与图标)
深入GNU C++ malloc() 体系结构 (实例与图标)
free() 的回收动作及碎片重整 (实例与图标)
LFH 实象观察
LAL实象观察
WindowsXP Heap (LFH + LAL) 运行细节 (含测试解说)
关于 "缓冲区溢出" (buffer overflow) 攻击手法
细谈Dword Shoot