Architecture 1001: x86-64 Assembly
Offered By: OpenSecurityTraining2 via Independent
Course Description
Overview
Intel processors have been a major force in personal computing for more than 30 years. An understanding of low level computing mechanisms used in Intel chips as taught in this course serves as a foundation upon which to better understand other hardware, as well as many technical specialties such as reverse engineering, compiler design, operating system design, code optimization, and vulnerability exploitation.
This class serves as a foundation for the follow on "Architecture 2001: x86-64 OS Internals" class. It teaches the basic concepts and describes the hardware that assembly code deals with. It also goes over many of the most common assembly instructions. Although x86 has hundreds of special purpose instructions, students will be shown it is possible to read most programs by knowing only around 20-30 instructions and their variations.
Syllabus
- Introduction
- Computer Registers
- Your First Instruction: No-Operation (nop)
- The Stack
- Calling Functions
- Local Variables
- Function Parameter Passing
- Control Flow
- Boolean Logic
- Bit Shifting
- Multiply and Divide
- CISC Delight: REPeatable Instructions
- Choose Your Own Adventure!
- Windows Binary Debugging
- Looking at all those examples on Linux!
- Learning to Fish: Read The F*n Intel Manual!
- Learning to Fish: Writing Inline Assembly
- The Most Important Assembly Exercise You'll Ever Do: Binary Bomb Lab
- (Optional) Basic Buffer Overflow Lab
- Conclusion
Taught by
Xeno Kovah
Related Courses
Computer ArchitectureCodecademy The Computing Technology Inside Your Smartphone
Cornell University via edX Introduction to RISC-V
Linux Foundation via edX Joyería tejida con fibras naturales
Domestika Diseño de una colección de mobiliario de principio a fin
Domestika