Code analysis is often used to understand the inner workings of a malicious binary when the source code is unavailable. In the previous chapter, you learned the code analysis skills and techniques to interpret assembly code and to understand a program's functionality; the programs that we used were simple C programs, but when you are dealing with malware, it can contain thousands of lines of code and hundreds of functions, making it difficult to keep track of all of the variables and functions.
Code analysis tools offer various features to simplify code analysis. This chapter will introduce you to one such code analysis tool, named IDA Pro (also known as IDA). You will learn how to leverage the features of IDA Pro to enhance your disassembly. Before we delve into the features of IDA, let's go over different code analysis tools.