16000
课时安排:10月
课程内容:软件逆向分析
1、专业介绍:
软件安全(又名反向工程,Reverse Engineering-RE)是对产品设计过程的一种描述。在工程技术人员的一般概念中,产品设计过程是一个从设计到产品的过程,即设计人员首先在大脑中构思产品的外形、性能和大致的技术参数等,然后在详细设计阶段完成各类数据模型,最终将这个模型转入到研发流程中,完成产品的整个设计研发周期。这样的产品设计过程我们称为“正向设计”过程。逆向工程产品设计可以认为是一个从产品到设计的过程。简单地说,逆向工程产品设计就是根据已经存在的产品,反向推出产品设计数据(包括各类设计图或数据模型)的过程。
2、课程体系:
总学时 | 开设课程 |
第一阶段(228学时) | 1.计算机基础(8学时) |
2.C语言程序设计(56学时) | |
3.阶段项目(24学时) 学校信息管理系统。每个学生必须独立完成对学生信息的增删改查,以及对学生成绩的维护。 | |
4.C++语言程序设计(48学时) | |
5.数据结构(40学时) | |
6.阶段项目(48学时) a.使用面向对象的思想重新设计学校信息管理系统。 b.运用数据结构的知识重新设计数据的组织,文件格式和查找方法。 在项目中不允许使用STL, 和其他任何三方代码。 | |
7.考试和讲解(4学时) | |
第二阶段(324学时) | 1.SQL Server数据库(40学时) |
2.MFC程序设计(80学时) | |
3.深入MFC框架结构(32学时) | |
4.COM原理(24学时) | |
5.VC++、.NET程序设计(24学时) | |
6.阶段项目(120学时) 学员按兴趣在以下两个项目中选择一个完成即可。 (1)学校信息管理系统,三层结构。使用socket完成客户端与服务端的通讯,由服务端操作数据库;管理学生,教师,课程和成绩信息,并设计权限审查,本地缓存和连接池。 (2)自行设计一个简单CAD,完成图形绘制,图元选取,图元设置,移动旋转,文件保存读取,图元自定义(可选), 撤消重做(可选)。 学校信息管理系统不允许使用第三方中间件。 CAD系统不允许使用第三方产品的二次开发接口。 | |
7.考试和讲解(4学时) | |
第三阶段(260学时) | 1.16位汇编程序设计(32学时) |
2.Win32汇编程序设计(32学时) | |
3.PE文件格式(24学时) | |
4.阶段项目(40学时) PEInfo: (1)独立开发PE分析和修改工具, 并将包含代码的节内容反汇编显示出来。 (2)运用进程调试知识, 显示目标程序所运行的指令序列。(可选) | |
5.软件逆向分析技术(64学时) | |
6.反跟踪技术(Anti)(24学时) | |
7.阶段项目(40学时) 学员分成小组,分析和交流世界头号R3调试软件OllyDbg的工作原理: (2)OD获得当前cpu工作状态的方法 (3)单步运行的工作机制 (5)文件加载调试原理 (6)进程附加调试原理 学员需要编写和提交分析报告 | |
8.考试和讲解(4学时) | |
专业课程阶段(200学时) | 1.漏洞的利用和检测(32学时) |
2.加壳技术(32学时) | |
3.otkit利用和检测(32学时) | |
4.安全(32学时) | |
5.分析和处理(32学时) | |
6.设计(40课时) |