radare
radare is a reverse engineering framework and toolset
The radare project started in February of 2006 aiming to provide a free and simple command line interface for an hexadecimal editor supporting 64 bit offsets to make searches and recovering data from hard-disks.
Since then, the project has grown with the aim changed to provide a complete framework for analyzing binaries with some basic *NIX concepts in mind like everything is a file, small programs that interact with each other using stdin/out, and keep it simple.
Radare2 is a complete LGPL rewrite of the original project, to remove design issues of the first iteration, and to make it more modular and easier to script and maintain. It features a testsuite that aims to cover as many cases as possible in order to catch regressions.
Radare2 is composed of an hexadecimal editor as central point, with support for several architectures, binary formats, featuring code analysis capabilities, scripting, data and code visualization through graphs and other means, a visual mode, easy unix integration, a binary diffing engine for code and data, a shellcode compiler, and much, much more!