1. Code Analysis Tools

Code analysis tools can be classified based on their functionalities, described below.

A disassembler is a program that translates machine code back to assembly code; it allows you to perform static code analysis. Static code analysis is a technique you can use to interpret the code to understand the program's behavior, without executing the binary.

A debugger is a program which also disassembles the code; apart from that, it allows you to execute the compiled binary in a controlled manner. Using debuggers, you can execute either a single instruction or selected functions, instead of executing the entire program. A Debugger allows you to perform dynamic code analysis, and helps you examine the aspects of the suspect ...

Get Learning Malware Analysis now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.