Week 10: Processor Level Processing & Optimization
Class Recaps:
Monday
- x86 comparison
- Covered in book 2.18, but I recommend this website. Read about the registers at the start and calling convention at end. Look up rest as needed.
- Use godbolt.org to play around with arm vs x86. When compiling x86, chose x86-64 gcc 8.2 and use compiler flag "-m32" (no quotes). When compiling arm, chose ARM gcc 8.2 and use the compiler flag "-marm" (no quotes).
Tuesday
- SIMD and GPUs
- Book chapter 6.3 (page524-end), 6.6. 3.6/2.7 talk about real SIMD instructions in ARM/x86 but you don't need to know details.
- If you are interested in how GPU's are used for graphics, or more details on CUDA, check out online appendix ch B
Wed
- Exploitation Part 2
- Recommended reading: ArsTechnica article on buffer overflows. You should be able to safely skip down to the section "Attacker's Toolkit" and start reading from there.
- Optional: Want to do some fun exploitation puzzles in a simulator? Check out Microcorruption
- Optional: Want to learn more about exploitation? Check out this course
- Optional: Interested in writing shell code? Check out this arm specific tutorial
Friday
- Review session - Review guide from Weeks 8-10, ask last minute questions
Finals week notes:
- The last assignment is due Sunday night before finals week. No late work will be accepted after Sunday - late assignment 9's must be in by then and you cannot turn in assignment 10 for late credit.
Classroom slides/examples:
Directory of files from the weekRight click files and save to your computer