34 projects tagged "Disassemblers"
spim is a self-contained software simulator for running R2000/R3000 assembly language programs. It reads and can immediately execute files containing assembly language code. spim also provides a debugger and simple set of operating system services. spim provides both a simple, textual interface and a fancier, graphical interface. The package includes complete source code and documentation.
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.
The bastard disassembler is a disassembler written for x86 ELF targets on Linux. Other file formats/CPUs can be 'plugged in'. It has a command-line interface and is meant to be used as a backend or engine. Support for controlling the disassembler via pipes is provided. Note that this disassembler does not rely on libopcodes to do its disassembly. Rather, the 'libi386' plugin is a standard .so that can be reused by other projects.
ps2tiffs extracts the sampled images from a PostScript document. It is not a PostScript renderer. ps2tiffs is a system where the grazer feeds on the output of a PostScript interpreter whose image operators have been replaced by special data-hijacking functions. This has the benefit of allowing the extraction of images regardless of how they have been encoded, formatted, scaled, or squished by the app which generated the PostScript document. It outputs greyscale, RGB, and CMYK TIFFs.
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.