还剩1页未读,继续阅读
文本内容:
数理与信息工程学院网络工程专业逆向工程课程教学大纲
一、课程概况CourseOverview课程名称逆向工程Course Reverseengineering课程编号适用学生大学本科CourseNumber Designedfor:undergraduate学分
2.5学时.48Credit:
2.5Classhour:48预修课程C语言程序设计A、数据结构A、计算机组成与结构、操作系统PreparatoryCourses:ClanguageprogrammingADatastructureComputercompositionandstructureOperatingsystem
二、课程简介CourseDescriptions本课程介绍了代码逆向分析的核心原理,由浅入深地讲解了包括Windows内核模式代码的恶意软件和驱动程序、虚拟机保护技术等内容,以及各种技术和技巧通过逆向工程,揭开人们熟知的软件背后的机器语言的秘密,并教给学生读懂这些二进制代码的方法理解和掌握了这些方法,同学们就能有效地Debug防止软件受到恶意攻击和反编译本课程涵盖的技术包括汇编与反汇编、调试与反调试、缓冲区溢出攻击与底层安全、钩子与注入、安全工具等等ThiscourseintroducesthecoreprinciplesofthecodereverseanalysisandprogressiveapproachtoexplainmalicioussoftwareanddriversincludingWindowskernel-modecodethecontentsofthevirtualmachineprotectiontechnologyaswellasvarioustechniquesandskills.Throughreverseengineeringuncoverthesecretsofwell-knownmachinelanguagebehindthesoftwareandmethodstoteachstudentstoreadbinarycode.Understandandmasterthesemethodsstudentswillbeabletoeffectivelydebugpreventmalicioussoftwareattacksanddecompilation.Thiscoursecoverstechniquesinclude:compilationanddisassemblydebuggingandanti-debuggingbufferoverflowattacksandtheunderlyingsecurityhooksandinjectionsafetytools.
三、教学内容与教学安排CourseContentandArrangement
四、实验内容与安排ExperimentContentandArrangement
五、推荐教材及参考书目RecommendedTeachingMaterialsandReferenceBooks.推荐教材RecommendedTeachingMaterials:《逆向工程实战》-人民邮电出版社,[美]邓BruceDang等.参考书目ReferenceBooks:《逆向工程核心原理》-人民邮电出版社,[韩]李承远
六、考核与评价方式CourseEvaluation考核方式为平时成绩25分+实验25分+期末考试50分评价方式为百分制撰写人孙广华教学章节ChaptersandSections教学目标TeachingAims教学方式(讲授、示范操作、指导参观、课堂讨论等)TeachingMethods学时安排Classhour第一章x86与x64了解寄存器组与数据类型掌握指令集、数据移动、讲授8栈操作与函数调用、地址转换等第二章ARM了解ARM基本特性、数据类型与寄存器、系统级控制与设置掌握指令集、数据加载与存储、函数与函数调用、分支跳转与条件执行、系统服务与机制等讲授6第三章Windows内核掌握内存布局、处理器初始化、系统调用、内存池、进程与线程、执行上下文、异步与乱序执行、I/O请求、驱动程序等知识,并能进行X86后门程序实例分析与驱动实例分析讲授10第四章调试与自动化掌握调试工具与基本命令、编写调试工具脚本讲授4第五章代码混淆掌握基于数据的混淆技术、基于控制的混淆技术、同时使用控制流与数据流混淆技术、通过代码模糊获得安全性、解混淆技术、解混淆工具讲授4总计32序号No.实验名称Name每组人数Membersofeachgroup实验时数Hours实验类型验证/综合/设计CourseTypeVerifying/Synthetic/Designing必做/选做RequiredCourse/ElectiveCourse1用OllyDbg分析程序的详细逻辑12综合必做2在射击游戏中作弊12综合必做3分析Java编写的应用程序13综合必做4分析VisualStudio编写的应用程序13综合必做5手动解UPX壳
11.5综合必做6手动解ASPack壳
11.5综合必做7API钩子13综合必做。