revava is a single-pass disassembler that reads in a file containing a program intended for an Atmel AVR microcontroller, and outputs assembly code that can be input to an AVR assembler. The output of revava contains assembler mnemonics where possible and dc.W declarations where no mnemonic matches the data. The comment field for each assembly instruction contains the address from the object code and the destination address for branches, calls, jumps, etc. In the case where there are multiple assembly instructions that assemble to the same opcode, all choices are presented in a group with all but the first choice commented out.
DIOTA is a just-in-time instrumentation tool for Intel binaries. It allows you to create a dynamic loadable library that can be attached to a program running under Linux. DIOTA can instrument all memory operations in the application and the used libraries (e.g., for checking for faulty memory accesses), calls of dynamically linked procedures (malloc, printf, etc.), detect the code executed during a particular run, and more.
joeq is a Java 2 (JDK 1.3 and 1.4) compatible virtual machine. It is unique in that it is entirely implemented in Java, leading to greater reliability, portability, maintainability, and efficiency. It is also language-independent, so code from any supported language can be seamlessly compiled, linked, and executed dynamically.
The Examiner is a tool to analyze foreign binary executables. Its goal is to provide a commented, disassembled version of the code without running the program. It analyzes possibly hostile executables that an intruder may have placed on a system. It was designed for forensic purposes but could be used for basic reverse-engineering goals as well.
The Perl x86 Disassembler is a full x86 disassembler written in Perl, independent of objdump. The Perl script makes use of the opcode tables from libdisasm [derived from the bastard project] and is distributed as part of libdisasm. This is the same script that is included in the Perl-Disassembler-HOWTO; either the HOWTO or the libdisasm distribution will provide the required files [x86disasm.pl and 1386.opcodes.map] and documentation.