Main > Free Download Search >

Free interactive disassembler software for linux

interactive disassembler

Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 568
Interactive Decompiler 0.2

Interactive Decompiler 0.2


Interactive Decompiler decompiles by the successive application of low-level refactorings, ultimately leading to high-level code more>>
Interactive Decompiler project is an interactive decompiler, where the user starts with an almost literal translation of Assembly code in C language, which he progressively decompiles by the successive application of low-level refactorings, ultimately leading to high-level C code.
Main features:
- Import Intel IA32 Assembly code, in the AT&T syntax -- the syntax normally generated by the gcc compiler for the Intel IA32 architecture.
- Visualize and export quasi-C language code.
- Provides a context-sensitive refactoring browser to a set of low-level refactorings.
- Visualize and manipulate the Control Flow Graph (CFG) and the Abstract Syntax Tree (AST).
- For developers:
- It has an extensible data type for program representation.
- It has an easily extensible architecture (new program metadata, new processors, new refactorings, or new visualizations can easily be added).
- It has an embedded language for describing refactorings and other transformation.
- It is possible to modify the refactorings while running the program.
Version restrictions:
- The IA32 instruction set is not yet fully supported, namely the floating-point and SIMD instructions are not yet translated.
- Not all refactoring are implemented, and some are only have a partial implementation.
- The data flow analysis performed in the refactorings focus only on register variables.
- The implementation of several of many necessary the refactorings is still missing due to lack of time.
<<less
Download (0.022MB)
Added: 2007-08-09 License: LGPL (GNU Lesser General Public License) Price:
857 downloads
The bastard disassembler 0.17

The bastard disassembler 0.17


The bastard disassembler is a disassembler for linux/unix platforms. more>>
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.

This interpreter can be used interactively, it can be fed commands via STDIN [just like a scripting interpreter], and it can be communicated with via a pair of FIFOs. Now, on top of this any number of UI front ends can be stacked -- ncurses console front ends, Gtk X front-ends, Tk front ends, etc. It is the reponsibility of the front-ends to display the information obtained by querying the disassembler, supplying syntax highlighting, displaying strings, xrefs, etc; however the disassembler will retain all of this information, do all of the brute processing, and will provide any of the information when requested.
<<less
Download (2.35MB)
Added: 2005-01-27 License: Artistic License Price:
1736 downloads
libdisassemble

libdisassemble


libdisassemble is a Python library that will disassemble X86. more>>
libdisassemble is a Python library that will disassemble X86.

A disassembler is a computer program which translates machine language into assembly language, performing the inverse operation to that of an assembler. A dissasembler differs from a decompiler, which targets a high level language rather than assembly language. Disassembly, the output of a disassembler, is often formatted for human-readability rather than suitability for input to an assembler, making it principly a reverse-engineering tool.

Assembly language source code generally permits the use of symbolic constants and programmer comments. These are usually removed from the final machine code by the assembler. If so, a disassembler operating on the machine code would produce disassembly lacking these constants and comments; the dissassembled output becomes more difficult for a human to interpret than the original annotated source code.

Some disassemblers can infer useful names and comments; however, interactive disassemblers are able to successfully disassemble more programs than fully-automated disassemblers because human insight applied to the disassembly process parallels human creativity in the code writing process.

There can never be a completely automated disassembly tool which always outputs correct source code because the disassembly process reduces to the impossible-to-solve halting problem.
<<less
Download (0.023MB)
Added: 2006-03-10 License: GPL (GNU General Public License) Price:
1325 downloads
Gif Disassembler 2.2.2

Gif Disassembler 2.2.2


Gif Disassembler is a Web script that lets you upload any GIF animation and will attempt to return the individual frames. more>>
Gif Disassembler is a web-based script that lets you upload any GIF animation and after that it will attempt to return the individual frames, along with the image information from your animation.
That info can then be used to reassemble the animation after frame editing.
Enhancements:
- The permitted file upload size was lowered to 250KB.
- A redundant file size check was added prior to image processing.
- Existing upload size limits were not being enforced, which caused ImageMagick to consume all available server memory.
- Only the index.php file in the temp folder is affected.
- Updating is recommended.
<<less
Download (0.054MB)
Added: 2006-02-21 License: GPL (GNU General Public License) Price:
1348 downloads
Perl x86 Disassembler 0.16

Perl x86 Disassembler 0.16


Perl x86 Disassembler is an Intel x86 disassembler written in Perl. more>>
The libdisasm library provides basic disassembly of Intel x86 instructions from a binary stream. The intent is to provide an easy to use disassembler which can be called from any application; the disassembly can be produced in AT&T syntax and Intel syntax, as well as in an intermediate format which includes detailed instruction and operand type information.

This disassembler is derived from libi386.so in the bastard project; as such it is x86 specific and will not be expanded to include other CPU architectures. Releases for libdisasm are generated automatically alongside releases of the bastard; it is not a standalone project, though it is a standalone library.

The recent spate of objdump output analyzers has proven that many of the people [not necessarily programmers] interested in writing disassemblers have little knowledge of, or interest in, C programming; as a result, these "disassemblers" have been written in Perl.

Usage

The basic usage of the library is:

1. initialize the library, using disassemble_init()
2. disassemble stuff, using disassemble_address()
3. un-initialize the library, using disassemble_cleanup

These routines have the following prototypes:

int disassemble_init(int options, int format);
int disassemble_cleanup(void);
int disassemble_address(char *buf, int buf_len, struct instr *i);

Instructions are disassembled to an intermediate format:

struct instr {
char mnemonic[16];
char dest[32];
char src[32];
char aux[32];
int mnemType; /* type of instruction */
int destType; /* type of dest operand */
int srcType; /* type of source operand */
int auxType; /* type of 3rd operand */
int size; /* size of insn in bytes */
};

The sprint_address() can be used in place of the disassemble_address() routine in order to generate a string representation instead of an intermediate one:

int sprint_address(char *str, int len, char *buf, int buf_len);

...so that a simple disassembler can be implemented in C with the following code:

#include

char buf[BUF_SIZE]; /* buffer of bytes to disassemble */
char line[LINE_SIZE]; /* buffer of line to print */
int pos = 0; /* current position in buffer */
int size; /* size of instruction */

disassemble_init(0, INTEL_SYNTAX);

while ( pos > BUF_SIZE ) {
/* disassemble address to buffer */
size = sprint_address(buf + pos, BUF_SIZE - pos, line, LINE_SIZE);
if (size) {
/* print instruction */
printf("%08X: %sn", pos, line);
pos += size;
} else {
printf("%08X: Invalid instructionn");
pos++;
}
}

disassemble_cleanup();

Alternatively, one can print the address manually using the intermediate format:

#include

char buf[BUF_SIZE]; /* buffer of bytes to disassemble */
int pos = 0; /* current position in buffer */
int size; /* size of instruction */
struct instr i; /* representation of the code instruction */

disassemble_init(0, INTEL_SYNTAX);

while ( pos > BUF_SIZE ) {
disassemble_address(buf + pos, BUF_SIZE - pos, &i);
if (size) {
/* print address and mnemonic */
printf("%08X: %s", pos, i.mnemonic);
/* print operands */
if ( i.destType ) {
printf("t%s", i.dest);
if ( i.srcType ) {
printf(", %s", i.src);
if ( i.auxType ) {
printf(", %s", i.aux);
}
}
}
printf("n");
pos += size;
} else {
/* invalid/unrecognized instruction */
pos++;
}
}

disassemble_cleanup();

This is the recommended usage of libdisasm: the instruction type and operand type fields allow analyzing of the disassembled instruction, and can provide cues for xref generation, syntax hi-lighting, and control flow tracking.
<<less
Download (0.038MB)
Added: 2005-03-07 License: Artistic License Price:
1701 downloads
Interactive BDD Environment 1.1

Interactive BDD Environment 1.1


Interactive BDD Environment project is a shell like utility for working with ROBDDs. more>>
Interactive BDD Environment project is a shell like utility for working with ROBDDs.

IBEN is a tool used for teaching Reduced Ordered Binary Decision Diagrams.

It allows the student to work with ROBDDs without learning a complex C or C++ interface to an ROBDD package.

One can enter the expressions interactively, and view the result as a graph or ask questions about the ROBDD, such as the number of nodes in the ROBDD.

<<less
Download (0.10MB)
Added: 2006-10-31 License: GPL (GNU General Public License) Price:
1090 downloads
IO::Interactive 0.0.3

IO::Interactive 0.0.3


IO::Interactive is a Perl module with utilities for interactive I/O. more>>
IO::Interactive is a Perl module with utilities for interactive I/O.

SYNOPSIS

use IO::Interactive qw(is_interactive interactive busy);

if ( is_interactive() ) {
print "Running interactivelyn";
}

# or...

print {interactive} "Running interactivelyn";


$fh = busy {
do_noninteractive_stuff();
}

This module provides three utility subroutines that make it easier to develop interactive applications...

is_interactive()

This subroutine returns true if *ARGV and *STDOUT are connected to the terminal. The test is considerably more sophisticated than:

-t *ARGV && -t *STDOUT

as it takes into account the magic behaviour of *ARGV.

You can also pass is_interactive a writable filehandle, in which case it requires that filehandle be connected to a terminal (instead of *STDOUT). The usual suspect here is *STDERR:

if ( is_interactive(*STDERR) ) {
carp $warning;
}
interactive()

This subroutine returns *STDOUT if is_interactive is true. If is_interactive() is false, interactive returns a filehandle that does not print.

This makes it easy to create applications that print out only when the application is interactive:

print {interactive} "Please enter a value: ";
my $value = ;

You can also pass interactive a writable filehandle, in which case it writes to that filehandle if it is connected to a terminal (instead of writinbg to *STDOUT). Once again, the usual suspect is *STDERR:

print {interactive(*STDERR)} $warning;

busy {...}

This subroutine takes a block as its single argument and executes that block. Whilst the block is executed, *ARGV is temporarily replaced by a closed filehandle. That is, no input from *ARGV is possible in a busy block. Furthermore, any attempts to send input into the busy block through *ARGV is intercepted and a warning message is printed to *STDERR. The busy call returns a filehandle that contains the intercepted input.

A busy block is therefore useful to prevent attempts at input when the program is busy at some non-interactive task.

<<less
Download (0.005MB)
Added: 2007-01-16 License: Perl Artistic License Price:
1011 downloads
The friendly interactive shell 1.22.3

The friendly interactive shell 1.22.3


The friendly interactive shell is a shell focused on interactive use, discoverability, and friendliness. more>>
The friendly interactive shell is a user friendly shell intended mostly for interactive use.
- If you want to see screenshots of fish in action, click here.
- If you are familiar with the basics of shells,read this page for a short introduction to fish.
- If you are dont know how to use a shell, read this page for a longer presentation on how to use fish.
<<less
Download (0.75MB)
Added: 2007-02-08 License: GPL (GNU General Public License) Price:
991 downloads
Interactive Bandwidth Monitor 1.4

Interactive Bandwidth Monitor 1.4


Ibmonitor is an interactive Linux console application which shows bandwidth consumed on all interfaces. more>>
Ibmonitor is an interactive Linux console application which shows bandwidth consumed on all interfaces. This project is different from existing similar utilities in that it can show the values in Kbits/sec (Kbps) and Kbytes/sec (KBps) simultaneously. It also displays the total data transferred in KB/MB/GB dynamically shifting the unit to adjust available field width.Also there are command line switches which allow to choose whether to display maximum and average bandwidth.
ibmonitor responds to certain key presses while running and can dynamically change its output display format.
Main features:
- Shows received, transmitted and total bandwidth of each interface
- Calculates and displays the combined value of all interfaces
- Diplays total data transferred per interface in KB/MB/GB
- Values can be displayed in Kbits/sec(Kbps) and/or KBytes/sec(KBps)
- Can show maximum bandwidth consumed on each interface since start of utility
- Can show average bandwidth consumption on each interface since start of utility
- The output with all features (max, avg and display in Kbps and KBps) easily fits on a 80x24 console or xterm
- Can interactively change its output display format depending on key pressed by user.
Enhancements:
- The header text is now displayed immediately after starting
<<less
Download (0.016MB)
Added: 2006-10-13 License: GPL (GNU General Public License) Price:
1112 downloads
Disassembler for linux 0.3.3

Disassembler for linux 0.3.3


Disassembler for linux is a software that will try to provide a gui driven tool to disassemble executables. more>>
Disassembler for linux is a software that will try to provide a gui driven tool to disassemble executables.

Written in C++, and will disassemble binaries from a number of OSses.

<<less
Download (0.36MB)
Added: 2006-09-29 License: GPL (GNU General Public License) Price:
671 downloads
Orca Interactive Forum Script 1.1

Orca Interactive Forum Script 1.1


Orca Interactive Forum Script is an interactive Web-based forum script that is based on AJAX technology, more>>
Orca Interactive Forum Script is an interactive Web-based forum script that is based on AJAX technology,
In the world of accelerating technologies you dont want archaic forum software. You want something new, fresh, classy, stylish and sexy - just like Orca.
Orca introduces a new approach to building online discussion boards. The main focus in Orca is given to self-moderation - it provides tools to build a community without -moderators or administrators. It gives true freedom.
Main features:
AJAXy
- AJAX is cool and trendy, but whats more important - it makes web apps work better. Orca is an AJAX forums script, using AJAX exactly where it should be used. This brings unique user experiences and considerable server load savings.
Self-ruling
- Forums need close attention to run smoothly. Orca doesnt. We built Orca as a self-moderated community script, which can work effectively without any moderators whatsoever. This is the main difference, and Orca will be getting better at it.
Integratable
- You might already have a website, and it might already have a good database of users. Orca is remarkably easy to integrate with your existing user database. You just add it to your site, and it accepts existing members with their photos and passwords.
GPL-licensed
- Free community needs a free forum script. Orca is completely free, open-source and free in terms of licensing. It is distributed under GPL license, which should uncover its potential and make it #1 forum software on the net.
Enhancements:
- This release added a live post tracker, "Sticky" topics, an advanced WYSIWYG post editor, a "Reply with quote" option, and wider support for hosting setups.
<<less
Download (0.65MB)
Added: 2007-02-27 License: GPL (GNU General Public License) Price:
976 downloads
Slackware Interactive Boot Scripts 12.0.0

Slackware Interactive Boot Scripts 12.0.0


Slackware Interactive Boot Scripts is an enhanced set of replacement boot scripts for the Slackware Linux distribution. more>>
slakbootIBS (Slackware Interactive Boot Scripts) is an enhanced set of replacement boot scripts for the Slackware Linux distribution.

Slackware Interactive Boot Scripts includes a set of control and dispatch tools for configuring and booting with colorized interactive scripts. The new boot process allows the operator to select or skip start-up components in realtime.

It facilitates debugging of startup problems and allows operators to maintain a common baseline to support several local configurations or multiple servers with a single set of scripts.
<<less
Download (0.17MB)
Added: 2007-07-14 License: Free for non-commercial use Price:
832 downloads
DSP5600x disassembly library 1.1

DSP5600x disassembly library 1.1


DSP5600x disassembly library is a code disassembly library for the Motorola DSP5600x. more>>
lib5600x is a library implementing Motorola DSP5600x disassembler. Its an ANSI C link library that should be useful for people writing debuggers, memory monitors etc for DSP5600x chips.

Usage

1. First you call two initialization functions in the library. This step is mandatory:

make_masks();
make_masks2();

You pass nothing and check for no results -- these functions are guaranteed to succeed.

2. Now you have to allocate memory for a structure that will be used for passing data to/from the library. You may do that on the stack

struct disasm_data dis, *d = &dis;

Yes, the pointer will be useful, too. The disasm_data structure is defined in 5600x_disasm.h file. Lets take a closer look:


#define LINE_SIZE 256

struct disasm_data
{
unsigned char *memory;
char line_buf[LINE_SIZE];
char *line_ptr;
char words;
};

First member -- "memory" -- should point to the opcode you want disassembled. IMPORTANT! The library expects it to be a 24-bit word, so if your assembler creates 32-bit words, youll have to make a simple conversion. Take a look at test.c to see how it is done. Whats more, the library may wish to evaluate two words at a time, so you have to account for that -- this is also demonstrated in the example source.

3. After properly setting up disasm_data struct (i.e. "memory" pointer), you call following function:

int disassemble_opcode(struct disasm_data *);

This function takes pointer to the struct youve just prepared as an argument. When it returns, disasm_data structs "line_buf" member contains the disassembled opcode as a string of ASCII characters. "line_ptr" should be of no interest to you (it is merely a internal variable) and "words" holds the number of 24-bit words you should advance your memory pointer by. This variable is also available as a return value of above function. Again, I
shall refer you to the example source.

4. Repeat step 3 until you run out of code to disassemble.

Testing

First, check out the makefile and make sure it contains proper flags and defines for your architecture. Big endian users should add -DBIGENDIAN to CFLAGS (Id appreciate if someone created Autoconf script to avoid such tricks). Following that, type

make
./test example_dsp_binary

and compare the output (visually) with example.a56 which is a source code I used to create example_dsp_binary and which contains all instructions and addressing modes described in DSP56000/DSP56001 Digital Signal Processor Users Manual. You can also diff your output and supplied example.out file to check if there are any differences (there should be none).
<<less
Download (0.012MB)
Added: 2005-03-07 License: BSD License Price:
1693 downloads
Yet Another Machine Simulator 1.3.0

Yet Another Machine Simulator 1.3.0


Yet Another Machine Simulator is a machine simulator which emulates the MIPS32 architecture CPU close enough. more>>
Yet Another Machine Simulator is a machine simulator which emulates the MIPS32 architecture CPU close enough. Should be fully compliant, but we cant claim that it is. It allows cross compilation with standard MIPS32 compiler back-ends.
YAMS also provides a very simple device interface to the simulated memory, disks, network interfaces, terminals and a real-time clock. There is also support for pluggable I/O devices. Pluggable devices are separate programs that implement the functionality of one or more devices and communicate with YAMS over a network or Unix domain socket.
Many features of YAMS are configurable. For example the number of CPUs can be configured. When the number of CPUs is more than one, YAMS simulates an SMP machine. The devices are also configurable. For example various delays for disks, terminals and network interfaces can be set.
YAMS also provides a hardware console which can be used to debug programs. The hardware console can be used to set breakpoints and dump the contents of registers, TLBs and memory. The memory dumping functionality also contains a disassembler.
Performanc:
The purpose of YAMS is to provide a very simple yet realistic simulated hardware platform for educational purposes. High performace (i.e. high clock speed) was not a factor in its implementation, so a normal slowdown factor between host clock speed and simulator clock speed is in the order of 500, resulting in simulator clock speeds of only a few megaherz.
So if you are looking for a fast MIPS emulator/simulator, then YAMS is not for you.
Enhancements:
- Better portability with pthreads and printf formatting macros.
- Minor bugfixes.
<<less
Download (0.65MB)
Added: 2006-01-16 License: GPL (GNU General Public License) Price:
1377 downloads
pts-elfdisasm 0.14

pts-elfdisasm 0.14


pts-elfdisasm is command-line ELF disassembler for the i386 architecture. more>>
pts-elfdisasm is command-line ELF disassembler for the i386 architecture, based on elfdisasm-0.11, which is in turn based on ndisasm of nasm-0.98.

It supports dumping section headers, symbol tables, and disassembling code sections of i386 ELF binaries, object, and shared object files.

It shows both the file offset, the memory offset, the hex dump, and the mnemonic of each assembly instruction.

It can also find and mark jump targets, call targets, and system calls in the dump for easier cross-referencing. The dump cannot be fed directly to an assembler to recreate the original binary.
<<less
Download (0.13MB)
Added: 2005-11-02 License: Other/Proprietary License with Source Price:
816 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 5
  • 1
  • 2
  • 3
  • 4
  • 5