COSC 69.16 Basics of Reverse Engineering
Frequently, the source code for an important operating system component, malware, or piece of commercial software is not available. This course explores the art and science of reverse engineering such systems to discover how they work, how they connect to other systems, and how they may be controlled. In this course, you will develop an understanding of how systems and development tool chains are built "under the hood". You will learn to read compiled binaries without available source code, to recover program logic, and to modify (de)compiled binaries. We will seek to understand the challenges of reverse engineering larger programs, and of automating reverse engineering.