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 U1.pptx U1-data-encoding.pptx
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 U1-x86-assembly.pptx
TUT 1: gdb gdb commands
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: Winter storm break (remote/virtual class via Teams)
TUT 2: tutorial level0
TUT 3: tutorial #1-1 TXT
TUT 4: tutorial #2 TXT
Resource: UTF8-history.txt
Resource: unicode and character sets
Resource: unicode and character sets in 2023
Jan 28 Jan 29
LEC 4: Buffer overflow #1 U2.pptx
TUT 5: pwntool tutorial pwntools.md or link
Preparation: Read Phrack #49-14
Preparation: Read Where the top of the stack is on x86
Preparation: Read Stack frame layout on x86-64
Preparation: READ Pwntools
Jan 30
Feb 2 Feb 3
LEC 5: Buffer overflow #2
DUE: Unit 1
Assigned: Unit 2
Feb 4 Feb 5
LEC 6: Frame-pointer attack
Feb 6
Feb 9 Feb 10
LEC 7: Writing Shellcode #1
Feb 11 Feb 12
LEC 8: Writing Shellcode #2
DUE: Unit 2
Assigned: Unit3-Part1
Feb 13
Feb 16 Feb 17
LEC 9: Writing Shellcode #3
Feb 18 Feb 19
LEC 10: Writing Shellcode #4
Assigned: Unit3-Part2
Feb 20
Feb 23 Feb 24
LEC 11: ASCII and Alpha-numeric shellcode challenges
DUE: Unit3-Part1
Feb 25 Feb 26
LEC 12: Intro to system defenses; Stack Cookie, DEP, and ASLR
DUE: Unit3-Part2
Assigned: Unit4
Feb 27
Mar 2 Mar 3
LEC 13: Some tips for ASLR, Stack Cookie, and DEP
Mar 4 Mar 5
LEC 14: ASLR and bypasses + Some tips for ASLR, Stack Cookie, and DEP
Mar 6
Mar 9 Mar 10
LEC 15: Return-oriented Programming 1
DUE: Unit 4
Assigned: Unit 5
Mar 11 Mar 12
LEC 16: Return-oriented Programming 2 / 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: Advanced Return-oriented Programming
Mar 25 Mar 26
LEC 18: Arbitrary read/write and Format Strings 1
DUE: Unit 5
Assigned: Unit 6
Mar 27
Mar 30 Mar 31
LEC 19: Arbitrary read/write and Format Strings 2
Apr 1 Apr 2
LEC 20: Defenses Against AR and AW
Apr 3
Apr 6 Apr 7
LEC 21: (Advanced Topic) Python Runtime Internals
DUE: Unit 6
Assigned: Unit 7
Apr 8 Apr 9
LEC 22: Advanced Topic 1
Apr 10
Apr 13 Apr 14
LEC 23: Advanced Topic 2
Apr 15 Apr 16
LEC 24: Advanced Topic 3
DUE: Unit 7
Assigned: Unit 8
Apr 17
Apr 20 Apr 21
LEC 25: Heap Intro
Apr 22 Apr 23
LEC 26: More on Heap
Apr 24
Apr 27 Apr 28
LEC 27: Heap Exploits; Past problems review
DUE: Unit 8
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