软件逆向工程师培训

来源:互联网 发布:如何在mac上安装jdk 编辑:程序博客网 时间:2024/04/30 01:34

我们的课程分为三个阶段。
  
  一、 第一阶段:
  "勿在浮沙筑高台"。在初级阶段我们有的放矢地给学员教授必须掌握的基本知识。在以后的阶段中,学员会发现后面的知识其实就是第一阶段知识的变化和利用,所以非常重要,不可不学。
  1. 计算机基础(8学时)
  2. C语言程序设计(56学时)
  3. 阶段项目(24学时)
  4. C++语言程序设计(48学时)
  5. 数据结构(40学时)
  6. 阶段项目(48学时)
  7. 考试和讲解(4学时)
  
  二、 第二阶段
  这个阶段重点介绍了VC开发环境、Win32程序设计和MFC的体系结构. 首先我们来了解一下数据库的基础知识,在学习过程中我们以SQL Server为载体去了解数据的管理和数据关系的建模。注意了,数据关系是重点,在以后对Windows的学习中,你会发现,在Windows内部的各种数据表隐含了对各种数据关系的处理,理解了数据关系建模的思想后,在下面的学习过程中你就会时常找到“顿悟”的感觉。然后通过MFC入手Windows程序设计,理解Windows的消息驱动机制,先能上手完成课堂上的各个小例子,然后深入学习MFC的体系结构,通过MFC的源码去学习一个应用程序框架的设计思想;然后就有必要去了解一下微软的COM技术,我们从C++一步步发展到COM,先教大家不依赖ATL去手工实现一个COM,而且能成功在其他开发平台(如VB)上工作,了解原理后就可以很得心应手地使用ATL为我们搭建的COM程序框架;最后带领大家了解微软最新推出的VS2005。
  1. SQL Server数据库(40学时)
  2. MFC程序设计(80学时)
  3. 深入MFC框架结构(32学时)
  4. COM原理(24学时)
  5. VC++.NET程序设计(24学时)
  6. 阶段项目(120学时)
  7. 考试和讲解(4学时)
  
  三、 第三阶段
  软件开发的能力一看设计能力,二看调试水平。逆向技术也重在代码的调试和分析,如果你本来就是个不错的程序员,而且又掌握了前面两个阶段的知识,那么这个阶段就是对“内功心法”的锻炼了, 对本阶段的学习绝对可以让你彻底了解C/C++特性的底层机制,知其然而知其所以然。本章以C/C++语法为导向,以VC++6.0为例,解析每个C/C++知识点的汇编表现形式,整理其反汇编代码,体现其流程脉络。照此精修,可望到达看反汇编代码如同看武侠小说之境界。本阶段重在方法,授人以渔,不重剑招,但重剑意。
  1. 16位汇编程序设计(32学时)
  2. Win32汇编程序设计(32学时)
  3. PE文件格式(24学时)
  4. 阶段项目(40学时)
  5. 软件逆向分析技术(64学时)
  6. 反跟踪技术(Anti)(24学时)
  7. 阶段项目(40学时)
  8. 考试和讲解(4学时)
  
  四、 专题课程
  逆向分析技术是基础,解决问题是关键,在专题部分我们将逆向技术的各个热门技术方向给学员一一道来,这每个技术领域都是一门很深入的学科,正所谓专者不博,博者不专。学员应该深入研究最感兴趣的某一个领域,对于其他领域只作了解就可以了。这些专题是为学员将来进入职场而准备的敲门砖。
  1. 溢出漏洞的利用和检测(32学时)
  2. 软件加壳技术(32学时)
  3. rootkit利用和检测(32学时)
  4. 数据安全(32学时)
  5. 病毒分析和处理(32学时)
  6. 毕业设计(40学时)