ScheduleΒΆ

The schedule will change as the course progresses, in part based on student interests. If you are particularly interested in some topic not covered here, send mail to the course staff.

MondayTuesday WednesdayThursday Friday
Jan 19
MLK Day
Jan 20
LEC 1: Intro & Preliminary Rev. Engineering #1
Preparation: Working with SSH Servers, Clients, and Keys
Preparation: intel_asm at&t_asm
Preparation: gdb1 gdb2
Resource: The Missing Semester of Your CS Education
Assigned: Unit 1
First day of class
Jan 21 Jan 22
LEC 2: Preliminary Reverse Engineering #2
Preparation: intelCodeTable
Preparation: How debugger works (part1) (part2) (part3)
Resource: x86 instruction set reference
Resource: AT&T vs. Intel Syntax 1
Resource: AT&T vs. Intel Syntax 2
Resource: Signed Binary
Resource: Mark Watney's ASCII
Resource: pwntools template ex.py
Jan 23
Jan 26 Jan 27
LEC 3: Buffer overflow #1
Jan 28 Jan 29
LEC 4: Buffer overflow #2
DUE: Unit 1
Assigned: Unit 2
Jan 30
Feb 2 Feb 3
LEC 5: Frame-pointer attack
Feb 4 Feb 5
LEC 6: Writing Shellcode #1
Feb 6
Feb 9 Feb 10
LEC 7: Writing Shellcode #2
DUE: Unit 2
Assigned: Unit3-Part1
Feb 11 Feb 12
LEC 8: Writing Shellcode #3
Feb 13
Feb 16 Feb 17
LEC 9: Writing Shellcode #4
Assigned: Unit3-Part2
Feb 18 Feb 19
LEC 10: ASCII and Alpha-numeric shellcode challenges
DUE: Unit3-Part1
Feb 20
Feb 23 Feb 24
LEC 11: Intro to system defenses; Stack Cookie, DEP, and ASLR
DUE: Unit3-Part2
Assigned: Unit4
Feb 25 Feb 26
LEC 12: Some tips for ASLR, Stack Cookie, and DEP
Feb 27
Mar 2 Mar 3
LEC 13: ASLR and bypasses + Some tips for ASLR, Stack Cookie, and DEP
Mar 4 Mar 5
LEC 14: Return-oriented Programming 1
DUE: Unit 4
Assigned: Unit 5
Mar 6
Mar 9 Mar 10
LEC 15: Return-oriented Programming 2 / Advanced Return-oriented Programming
Mar 11 Mar 12
LEC 16: Advanced Return-oriented Programming
Mar 13
Mar 16
Spring break
Mar 17
Spring break
Mar 18
Spring break
Mar 19
Spring break
Mar 20
Spring break
Mar 23 Mar 24
LEC 17: Arbitrary read/write and Format Strings 1
DUE: Unit 5
Assigned: Unit 6
Mar 25 Mar 26
LEC 18: Arbitrary read/write and Format Strings 2
Mar 27
Mar 30 Mar 31
LEC 19: Defenses Against AR and AW
Apr 1 Apr 2
LEC 20: (Advanced Topic) Python Runtime Internals
DUE: Unit 6
Assigned: Unit 7
Apr 3
Apr 6 Apr 7
LEC 21: Advanced Topic 1
Apr 8 Apr 9
LEC 22: Advanced Topic 2
Apr 10
Apr 13 Apr 14
LEC 23: Advanced Topic 3
DUE: Unit 7
Assigned: Unit 8
Apr 15 Apr 16
LEC 24: Heap Intro
Apr 17
Apr 20 Apr 21
LEC 25: More on Heap
Apr 22 Apr 23
LEC 26: Heap Exploits; Past problems review
DUE: Unit 8
Apr 24
Apr 27 Apr 28
LEC 27: (optional) Past problems reviews
Apr 29 Apr 30
LEC 28: Last class, In-class CTF intro
Assigned: In-class CTF
May 1
May 4 May 5 May 6 May 7 May 8