[Course Home]   [Syllabus]   [Announcements]   [Calendar]   [Handouts]   [Solutions]    

Weekly Calendar for Software Reverse Engineering

[Week 1]   [Week 2]   [Week 3]   [Week 4]   [Week 5]  
[Week 6]   [Week 7]   [Week 8]   [Week 9]  [Week 10]
[Week 11]  [Week 12]  [Week 13]  [Week 14]  [Week 15]

Assignment code


Week 1

DateTopicsLecture Notes ReadingHandoutPapersAssignments
Fundamentals Class Organizations
General Introduction
Class Organization
General Introduction to Cyber Security
Introduction to Software Reverse Engineering
Mal: Chapters 0, 1, and 5 Syllabus for CIS4930 in PDF Format

Syllabus for CIS5930 in PDF Format
Optional: Intel x86 Reference Manual   
Practice Introduction to IDA Week1 - Intro to IDA Pro   IDA: Chapters 1-6     H: Homework #1
(Due 9/25/2017) 

Term Project
(Proposal due: 11/6/2017,
Report due: 12/15/2017)

Hands-on Project
(Proposal due: 11/6/2017,
Report due: 12/15/2017)

Research Paper Assignment
(Report due: 12/15/2017)

Week 2

DateTopicsLecture Notes ReadingHandoutPapers/ExamplesAssignments
Fundamentals Calling Conventions Stack Organization and Calling Conventions  Mal: Chapter 6 (pp. 119-121)
IDA: Chapter 6 (pp. 85-93)
  X86 Guide
Optional: Return-Oriented Programming Article

Optional: Offset2lib  
 
Practice            

Week 3

DateTopicsLecture Notes ReadingHandoutPapersAssignments
Fundamentals Construct Recognition
Control Flow Analysis
C++ Binary Analysis
Windows Internals for Malware Analysis
Control Flow Analysis

Windows Internals  
Mal: Chapters 6 and 20
IDA: Chapters 8 and 20 
Mal: Chapter 7
     
Practice              

Week 4

DateTopicsLecture Notes ReadingHandoutPapersAssignments
Fundamentals Data Flow Analysis Techniques
Decompilation Techniques
Decompilation   Boomerang Decompiler
(not required for exams) 
X86 Decompilation Paper     
Practice           H: Homework #2
(Due 10/9/2014)  

Week 5

Practice
DateTopicsLecture Notes ReadingHandoutPapersAssignments
Fundamentals Anti-Disassembly Techniques Anti-Disassembly Mal: Chapter 15
IDA: Chapter 21 (pp. 433-437)
     
            H: Homework #3
(Due 10/23/2017) 

Week 6

DateTopicsLecture Notes ReadingHandoutPapersAssignments
Fundamentals Dynamic Analysis I:
Obfuscation and Debugging
Dynamic Analysis I MAL: Chapters 3, 8, 9, and 10      
Practice IDA customization
IDA FLIRT signatures
and IDS files,
and binary patching in IDA 
  IDA: Chapters 11-14       

Week 7

DateTopicsLecture Notes ReadingHandoutPapersAssignments
Fundamentals Anti-Analysis Techniques and Data Encoding Anti-Analysis Techniques MAL: Chapters 16, 17, 13, and 18       
Practice The IDA Debuggers
Setting up Virtual Machines
Setting up a Virtual Machine
RE_practice 
IDA: Chapters 24, 25, and 26  enbsp;   RE_Fundamentals   

Week 8

DateTopicsLecture Notes ReadingHandoutPapersAssignments
Fundamentals Dynamic Instrumentation and Symbolic Execution Beyond Debuggers         
Practice Other commonly used debugging tools
(OllyDBG/Immunity Debugger, GDB, PEDA)
IDA Scripting
IDA Scripting         

Week 9

DateTopicsLecture Notes ReadingHandoutPapersAssignments
Fundamentals Midterm Exam Review Midterm Exam Review    Midterm Exam Study Guide  

Binary for Q3   
  H: Homework #4
(Due 11/13/2017) 
Practice Common dynamic analysis tools
(QEMU, Unicorn,
Cuckoo Sandbox)
         

Week 10 (Oct. 30, 2017)

DateTopicsLecture Notes ReadingHandoutPapersAssignments
Fundamentals Midterm Exam          
Practice Midterm Exam           

Week 11

DateTopicsLecture Notes ReadingHandoutPapersAssignments
Fundamentals Midterm Exam Summary           
Practice Using Symbolic Execution Techniques
by Mitch Schmidt
          

Week 12

DateTopicsLecture Notes ReadingHandoutPapersAssignments
Fundamentals General Introduction to Malicious Programs
Shellcode
Malicious Behaviors - Introduction

Shell code  
MAL: Chapters 10 and 19       
Practice Malware Analysis by Johann Thairu           H: Optional Homework Assignment
(All questions are for
extra credit points) 

Week 13

DateTopicsLecture Notes ReadingHandoutPapersAssignments
Fundamentals Malware and Malicious Behavior,
Covert Mechanism, and case studies - Part II
Downloaders and Stealers Case Studies

Covert Mechanism Case Studies
MAL: Chapters 11 and 12        
Practice Binary exploitation by Shawn Stone           H: Homework #5
(To be completed in class
on Nov. 27, 2017)  

Week 14

DateTopicsLecture Notes ReadingHandoutPapersAssignments
Malware Analysis Workshop
by Lauren Pearce
Workshop Slides          
Practice Malware Analysis Worksho
by Lauren Pearce  
         

Week 15

DateTopicsLecture Notes ReadingHandoutPapersAssignments
Fundamentals Backdoor Case Studies

Rootkits

Final Exam Review
Backdoors

Rootkits

Final Exam Review  
  Study Guide for the Final Exam     
Practice Kernel Debugging
by Weeraphat Amornrattanapon 
         

Final Exam Week

DateTopicsLecture Notes ReadingHandoutPapersAssignments
Wednesday December 13, 5:30 - 7:30PM         Final Exam (Cumulative)


[Course Home]   [Syllabus]   [Announcements]   [Calendar]   [Handouts]   [Solutions]    
Last modified, August, 2017