X86 Disassembly
X86 Disassembly
X86 Disassembly
Preface
The act of program creation, using common compilers and assemblers, takes software from an information-rich source code format
and transforms it into a difficult-to-read machine code format. The reverse process, trying to convert machine code into a human-
readable format, is significantly more difficult and requires high-level intuition and pattern matching skills.
This book is going to discuss the disassembly and decompilation of x86 machine code and x86 assembly code.
This book is new and could use your help. We need help with proof-reading, content
authoring, editing and more. This is a wiki, so feel free to join in.
Table of Contents
Cover
Introduction
Tools
Assemblers and Compilers
Disassemblers and Decompilers
Disassembly Examples
Analysis Tools
Platforms
Microsoft Windows
Code Patterns
The Stack
Functions and Stack Frames
Branch Examples
Loops
Loop Examples
Data Patterns
Variables
Variable Examples
Data Structures
Objects and Classes
Floating Point Numbers
Difficulties
Code Optimization
Optimization Examples
Code Obfuscation
Debugger Detectors