Introduction
Introduction Statistics Contact Development Disclaimer Help
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
You are viewing proxied material from tilde.pink. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.