Malware Static Code Analysis with IDA PRO

The Interactive Disassembler(IDA) is a disassembler for computer software which generates assembly language source code from machine-executable code. It supports a variety of executable formats for different processors and operating systems. It can also be used as a debugger for Windows PE, Mac OS X Mach-O, and Linux ELF executable. A decompiler plug-in for programs compiled with a C/C++ compiler is available at extra cost.

IDA performs automatic code analysis, using cross-references between code sections, knowledge of parameters of API calls, and other information.