Reverse engineering is taking apart an object to see how it works in order to duplicate or enhance the object. The practice, taken from older industries, is now frequently used on computer hardware and software. Software reverse engineering involves reversing a program's machine code back into the source code that it was written in, using program language statements.
— Anonymous
Reverse Engineering is hard and I'm bad at it, looking for contributions to this section. Please DM me on Twitter
Reverse Engineering - WikiPedia
Intro to Reverse Engineering - YouTube
Intro to Reverse Engineering - Course Files
Intro to x86 Assembly - YouTube
Intro to x86 Assembly - Course Files
Reverse Engineering 101 - Malware Unicorn