[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 CIS 4138 in PDF Format

Syllabus for CAP 5137 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/19/2018) 

Term Project
(Proposal due: 11/7/2018,
Report due: 12/14/2018)

Hands-on Project
(Proposal due: 11/7/2018,
Report due: 12/14/2018)

Research Paper Assignment
(Report due: 11/28/2018)

Week 2

DateTopicsLecture Notes ReadingHandoutPapers/ExamplesAssignments
Fundamentals X86 Review

Calling Conventions
X86/X64 Instructions
(Same as last time)

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

File-level Reversing and Legal Issue Labs
(Needed Files for the Lab)  
 
Practice            

Week 3

DateTopicsLecture Notes ReadingHandoutPapersAssignments
Fundamentals Construct Recognition
Control Flow Analysis
C++ Binary Analysis
Control Flow Analysis

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

Week 4

DateTopicsLecture Notes ReadingHandoutPapersAssignments
Fundamentals Data Flow Analysis Techniques
(Continued)

Decompilation Techniques
Decompilation   Boomerang Decompiler
(not required for exams) 
X86 Decompilation Paper     
Practice           H: Homework #2
(Due 10/10/2018)  

Week 5

DateTopicsLecture Notes ReadingHandoutPapersAssignments
Fundamentals Anti-Disassembly Techniques Anti-Disassembly Mal: Chapter 15
IDA: Chapter 21 (pp. 433-437)
     
Practice IDA Disassembly
Features


Cross-references
and Graphing in IDA
 
IDA: Chapters 6-8, 9           H: Homework #3
(Due 10/24/2018) 

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 
Advanced IDA Usage  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;      

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/14/2018) 
Practice Common dynamic analysis tools
(QEMU, Unicorn,
Cuckoo Sandbox)
         

Week 10 (Oct. 31, 2018)

DateTopicsLecture Notes ReadingHandoutPapersAssignments
Fundamentals Midterm Exam          
Practice Midterm Exam           

Week 11

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

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           H: Homework #5
(To be completed in class
on Nov. 27, 2018)  

Week 14

DateTopicsLecture Notes ReadingHandoutPapersAssignments
Malware Analysis Workshop
Workshop Slides          
Practice Malware Analysis Workshop
 
         

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
         

Final Exam Week

DateTopicsLecture Notes ReadingHandoutPapersAssignments
Thursday December 13, 12:30 - 2:30PM         Final Exam (Cumulative)
Friday December 14, 05:00PM         Term Project/Hands-on Project Due


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