Program-Transformation.Org: The Program Transformation Wiki
IDA Pro is a commercial program for disassembling a wide array of different file types for different processors, written by Ilfak Guilfanov. It can disassemble virtually any binary file for any popular operating system on the market. It can semi-automatically separate data from code, and has auto-commenting abilities. For advanced users, it is programmable through a C-like language, and has a Plugin architecture.

IDA Pro has tools to ease program analysis: a crossreferencing system, the navigation band, and function flow-charting, to name a few.

IDA Pro has FLIRT: Fast Library Identification and Recognition Technology. This technology allows IDA to recognise standard library functions generated by various C compilers. IDA also supports advanced features, such as functions, structures, and enumerations. It also has PIT (Parameter Identification Technology) which allows the propagation of type information throughout the program.

It also has a debugger, for dynamic reverse engineering.

A limited trial version can be downloaded. There is an active forum where users exchange ideas and information, and the authors provide support.