Interactive Disassembler, a fabulous debugging tool by DataRescue. Since replaced by the superior IDA Pro.

Frequently used by hackers, back when hackers broke copy-protections rather than broke into government computers. It works especially well in conjunction with Nu-Mega's SoftICE.

It distinguishes itself from other disassemblers by being interactive, allowing the user to specify what parts of the program represent code or data, and how they should be rendered. Conventional disassemblers, such as Sourcer, require the setting of several complex configuration options to specify regions of data, and this is usually more complicated than it's worth. IDA can also magically recognize runtime libararies used by common compilers, and produce appropriate symbols for them, even if the debug symbols are not present in the binary. It takes pretty good guesses at assigning names to regions, and when it guesses wrong it's easy to fix. It lets you jump to the location of a symbol by clicking on its reference. It can generate assembly source files that usually work.

IDA works with a baffling array of execuable formats, including COM, EXE, NE, PE, LE, LX, COFF, ELF, Java, and a even more baffling array of instruction sets. I believe it only has clients on DOS, Win32, and OS/2, though.