Introductory Intel x86: Architecture, Assembly, Applications, Day 1... | |
by Xeno Kovah | |
Thumbnail | |
Download | |
Web page | |
More information about this class material is available | |
at OpenSecurityTraining.info | |
Intel processors have been a major force in personal | |
computing for more than 20 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. | |
25% of the time will be spent bootstrapping knowledge of | |
fully OS-independent aspects of Intel architecture. 50% | |
will be spent learning Windows tools and analysis of | |
simple programs. The final 25% of time will be spent | |
learning Linux tools for analysis. | |
This class serves as a foundation for the follow on | |
Intermediate level x86 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. | |
The instructor-led lab work will include: | |
* Stepping through a small program and watching the | |
changes to the stack at each instruction (push, pop, | |
call, ret (return), mov) | |
* Stepping through a slightly more complicated program | |
(adds lea(load effective address), add, sub) | |
* Understanding the correspondence between C and assembly | |
control transfer mechanisms (e.g. goto in C == jmp in ams) | |
* Understanding conditional control flow and how loops | |
are translated from C to asm(conditional jumps, jge(jump | |
greater than or equal), jle(jump less than or equal), | |
ja(jump above), cmp (compare), test, etc) | |
* Boolean logic (and, or, xor, not) | |
* Logical and Arithmetic bit shift instructions and the | |
cases where each would be used (shl (logical shift left), | |
shr (logical shift right), sal (arithmetic shift left), | |
sar(arithmetic shift right)) | |
* Signed and unsigned multiplication and division | |
* Special one instruction loops and how C functions like | |
memset or memcpy can be implemented in one instruction | |
plus setup (rep stos (repeat store to string), rep mov | |
(repeat mov) | |
* Misc instructions like leave and nop (no operation) | |
* Running examples in the Visual Studio debugger on | |
Windows and the Gnu Debugger (GDB) on Linux | |
* The famous "binary bomb" lab from the Carnegie Mellon | |
University computer architecture class, which requires | |
the student to do basic reverse engineering to progress | |
through the different phases of the bomb giving the | |
correct input to avoid it blowing up . This will be an | |
independent activity. | |
Knowledge of this material is a prerequisite for future | |
classes such as Intermediate x86, Rootkits, Exploits, and | |
Introduction to Reverse Engineering. | |
Date Published: 2011-07-03 20:39:27 | |
Identifier: IntroductoryIntelX86ArchitectureAssemblyApplicationsDay1Pa… | |
Item Size: 1295495952 | |
Language: English | |
Media Type: movies | |
# Topics | |
Intel; x86; Intel x86; IA32; training... | |
# Collections | |
opensecuritytraining | |
computersandtechvideos | |
# Uploaded by | |
@opensecuritytraining_info | |
# Similar Items | |
View similar items | |
PHAROS | |