[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
(Video for Aug. 27)
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 Ghidra and IDA Week1 - How to Install Ghidra/IDA

Week1 - Intro to Ghidrao  
license_1 example

license_2 example 
    H: Homework #1
(Due 9/17/2020) 

Term Project
(Proposal due: 11/12/2020,
Report due: 12/11/2020)

Hands-on Project
(Proposal due: 11/12/2020,
Report due: 12/11/2020)

Research Paper Assignment
(Report due: 11/19/2020)

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)   X86 Guide
Optional: Return-Oriented Programming Article

Optional: Offset2lib

File-level Reversing and Legal Issue Labs
(Needed Files for the Lab)  
 
Practice Introduction to IDA   Introduction to IDA license_1_m32
license_2_m32 
     

Week 3

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

 
Mal: Chapters 6 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/8/2020)  

Week 5

DateTopicsLecture Notes ReadingHandoutPapersAssignments
Fundamentals Anti-Disassembly Techniques Anti-Disassembly Mal: Chapter 15      
Practice Ghidra Disassembly
Features


Cross-references
and Graphing in IDA
 
          H: Homework #3
(Due 10/22/2020) 

Week 6

DateTopicsLecture Notes ReadingHandoutPapersAssignments
Fundamentals Dynamic Analysis I:
Obfuscation and Debugging
Dynamic Analysis I MAL: Chapters 3, 8, 9, and 10      
Practice Ghidra advanced feaures Advanced Ghidra Usage         

Week 7

DateTopicsLecture Notes ReadingHandoutPapersAssignments
Fundamentals Anti-Analysis Techniques and Data Encoding Anti-Analysis Techniques MAL: Chapters 16, 17, 13, and 18       
Practice The Ghidra Debugger Options
Setting up Virtual Machines
Setting up a Virtual Machine
RE_practice 
  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)
Ghidra Scripting
Ghidra 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/12/2020)

Homework #5
(To be done
during the Workshop)
(Due: End of class
on 11/5/2020)  
Practice Common dynamic analysis tools
(QEMU, Unicorn,
Cuckoo Sandbox)
         

Week 10 (October 26-30, 2020)

DateTopicsLecture Notes ReadingHandoutPapersAssignments
Fundamentals Midterm Exam Review
Questions and Answers

General Introduction to Malicious Behavior
(10/27/2020)
Malicious Behaviors - Introduction         
Practice Midterm Exam
(October 29th, 2020)
          

Week 11

DateTopicsLecture Notes ReadingHandoutPapersAssignments
Fundamentals Malware Analysis Workshop by Lauren Pearce
Day 1
          
Practice Malware Analysis Workshop by Lauren Pearce
Day 2
        

Week 12

DateTopicsLecture Notes ReadingHandoutPapersAssignments
Fundamentals General Introduction to Malicious Programs
(Continued)

Shellcode
Malicious Behaviors - Introduction

Shell code  
MAL: Chapters 10 and 19       
Practice Using Symbolic Execution Techniques Ghidra Scripting and Symbolic Execution

IDA Scripting Video
Unpacking Video 
      H: Optional Homework Assignment
(All questions are for
extra credit points)
(Due 12/3/2020) 

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            

Week 14

DateTopicsLecture Notes ReadingHandoutPapersAssignments
Tuesday Malware Analysis
(Continued)
Same as last time          
Practice Thanksgiving
No class  
         

Week 15

DateTopicsLecture Notes ReadingHandoutPapersAssignments
Tuesday Final Exam Review Final Exam Review Study Guide for the Final Exam     
Thursday Final Exam Review
(Continued)

Backdoor Case Studies

Rootkits
Backdoors

Rootkits
 
       

Final Exam Week

DateTopicsLecture Notes ReadingHandoutPapersAssignments
Tuesday Dec. 8, 2020 05:30 - 7:30PM         Final Exam (Cumulative)
Friday Dec. 11, 2020 05:30PM         Term Project/Hands-on Project
Final Report/Programs Due


[Course Home]   [Syllabus]   [Announcements]   [Calendar]   [Handouts]   [Solutions]    
Last modified, Jan, 2020