Ever wonder what the relationship was between the C programming language, Assembly Language, and machine code on the x86 family of microprocessors? Learn the art of disassembly and reverse engineering on the x86 platform with the x86 Disassembly wikibook!
||X86 Disassembly is a featured book on Wikibooks because it contains substantial content, it is well-formatted, and the Wikibooks community has decided to feature it on the main page or in other places. Please continue to improve it and thanks for the great work so far! You can edit its advertisement template.|
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
- The Stack
- Functions and Stack Frames
- Functions and Stack Frame Examples
- Calling Conventions
- Calling Convention Examples
- Branch Examples
- Loop Examples
- Variable Examples
- Data Structures
- Objects and Classes
- Floating Point Numbers
- Floating Point Examples