围绕如何开发出更安全的C++应用程序这一主题,本培训将深挖影响C++程序安全性的关键问题,分析历史上的经典案例,并系统介绍解决这些问题所需的基础知识、关键工具和最佳实践。
要点:WinDBG的命令类型,常用命令,命令语法,调试符号,符号文件的种类,符号服务器, 定制调试事件的方法和重要的调试命令, 软件断点、硬件断点,复杂的断点命令, x86寄存器和反汇编技巧 [试验二] WinDBG基础(15分钟)
[试验三] 理解缓冲区溢出攻击(30分钟)
要点:C++程序中动态分配内存的多种方法(malloc, new, HeapAlloc), 介绍调试内存有关的典型问题的方法和技巧, 包括使用CRT堆和Win32堆的调试支持, 分析内存泄漏、访问违例和栈溢出等, 在探讨实践经验的同时会穿插重要的理论知识, 包括Win32对和CRT堆的结构、内存管理常识、堆布局等,真实案例分析 [试验五] 使用UMDH追踪堆的分配细节(30分钟)