There are several popular meanings of the term reverse engineering: The reverse engineering of software; researching compiled programs The scanning of 3D structures and the subsequent digital manipulation required in order to duplicate them Recreating DBMS7 structure This book is about the first meaning. Topics discussed: x86/x64, ARM/ARM64, MIPS, Java/JVM. Topics touched: Oracle RDBMS, Itanium, copy-protection dongles, LD_PRELOAD, stack overflow, ELF, win32 PE file format, x86-64, critical sections, syscalls, TLS, position-independent code (PIC), profile-guided optimization, C++ STL, OpenMP, win32 SEH.