The Bastard Disassembler is a Unix/Linux disassembler.
It is essential to note that the Bastard Disassembler does not rely on libopcodes to do its disassembly, unlike other disassemblers. Instead, the 'libi386' plugin serves as a standard .so that other projects can reuse. With this program, users have an interactive option as well. It can receive commands via STDIN, just like a scripting interpreter, creating a direct interaction between the user and the software.
Additionally, the program can be communicated through a pair of FIFOs, making it even more versatile. On top of these features, any number of UI front ends can be stacked on the program; ncurses console front ends, Gtk X front-ends, Tk front ends, and many more choices are available. The front-ends are responsible for displaying the information obtained by querying the software, supplying syntax highlighting, displaying strings, xrefs, etc.
Overall, the Bastard Disassembler is an excellent tool that retains all the information and does all the 'brute' processing required. It can provide any of the requested data from its database with ease, thanks to its extensive utility features.