Main > Free Download Search >

Free java class file decompiler software for linux

java class file decompiler

Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 4220
Runtime Java Class Editor 1.0

Runtime Java Class Editor 1.0


Runtime Java Class Editor is a tool for editing loaded (running) Java classes and much more. more>>
RJCE allows all methods or variables of user defined classes to be altered at runtime. These alterations are then applied to a single instance, a collection of instances (i.e. list, set or map), or an entire class.

This helps you to test your application in an interactive way; altering running programs helping a trial and error approach to programming; testing code and saving it when it’s correct. Long running algorithms, such as simulations, can also easily be refined without the need for restarts or lose of data.

RJCE can be used to write a program from within itself ensuring high coupling between testing and development, with no delay before the outcome of any alterations.

RJCE allows scripts to run from within your application, allowing users to configure or extend an application dynamically, bypassing normal language access rules controlled by public, private and protected. This can be done by easily instatiating an instance of CodeEditorFrame from the rom.gui package.

RJCE permits faster development of applications by allowing easy migration from scripts to Java programs.
<<less
Download (3.1MB)
Added: 2005-04-18 License: BSD License Price:
1713 downloads
Java Clazz Utils 1.2.2

Java Clazz Utils 1.2.2


Java Clazz Utils offers you a full-featured and crossplatform Java bytecode viewer and decompiler which can support latest Java versions (from 1.4 till 1.6). more>>

Java Clazz Utils 1.2.2 offers you a full-featured and crossplatform Java bytecode viewer and decompiler which can support latest Java versions (from 1.4 till 1.6). It can be used both as command line tool and user application with Swing interface. It contains InfoJ, Decompiler and jclazz-GUI.

Major Features:

  1. InfoJ can be used to generate information about Java class. The output includes all possible data that can be extracted from class file: fields, methods, attributes, access flags, signatures, debug information, opcodes etc.
  2. Decompiler can be used to reproduce Java source code from compiled Java class file. It uses debug information to produce Java code which is nearly the same as original source file. Nevertheless, there are several restrictions and Java code constructions that prevent decompiler from producing the same code as original and even correct Java code. You can find out more about these cases below on this page.
  3. jclazz-GUI is user-friendly interface for quick start and easy to use.

Enhancements:

  • Save of decompiled file writes to predefined file name - Fixed
  • Condition structures "condition ? operation1 : operation2" were decompiled incorrectly - Fixed
  • URL to bug reporting page is corrected


<<less
Added: 2009-05-01 License: GPL Price: FREE
1 downloads
Scriptol Compilers 6.2

Scriptol Compilers 6.2


Scriptol is an object oriented programming language. more>>
Scriptol is an object oriented programming language designed to deliver the programmer from hardware or software constraints and let him or her concentrate only on the problem to formulate as a program.

Scriptol Compilers is universal, and allows building dynamic Web pages (with PHP as the backend), writing scripts, and building binary applications. It is compatible with Java and C++ libraries. Examples of use with PHP, Java, and GTK are included.

How to install the Java extension for Php or C++

1) Installing Java for Php
Search for the java path, example:
c:jdk1.4

Search for the php extensions path, example:
c:phpextensions

The extension directory must hold these files:
php_java.dll
php_java.jar

Set these lines into php.ini (in the Windows directory)
extension_dir = c:phpextensions
extension=php_java.dll

Search for the [java] section in php.ini - java.class.path must be assigned the path of all jar or class files including php_java.jar, separated by a semi-colon. (You can use a dot to designate the current path for yours jar or class file) - java.home

must be assigned the path of Java. - java.library
must be assigned the path of jvm.dll. - java.library.path
must be assigned the path of php extensions, that hold php_java.dll and php_java.jar and the path of any Java class you want to use.

- If these classes are inside jar files, the jar filenames are a part of the path.
- If several paths are required, they are separated by semicolons and enclosed in double quotes.

Example:
[Java]
java.class.path = "c:phpextensionsphp_java.jar;c:myclasses"
java.home = "c:jdk1.4"
java.library = "c:jdk1.4jrebinclientjvm.dll"
java.library.path = "c:phpextensions;c:jdk1.4jrelib"

2) Installing Java for Scriptol C++
- The jvm.dll must be in the path.
- The jvm.lib, jni.h, jni_md.h files must be in the directory of the source.
- The JAVA_HOME variable must be assigned the path of the JDK (ex: c:jdl1.4).
- See the README file if you encounter problems...
<<less
Download (1.6MB)
Added: 2007-03-11 License: Freeware Price:
958 downloads
Java Platform Invoke API Demo (Linux) 2.01.04

Java Platform Invoke API Demo (Linux) 2.01.04


Java Platform Invoke API (Demo version) for Linux, i386. Enables Java code to call native functions implemented in shared libraries like in Microsoft .NET Framework. Written for JSE 1.5.x and later. more>>

Java Platform Invoke API Demo (Linux) - Java Platform Invoke API (Demo version) for Linux/Unix, i386.

Enables Java code to call native functions implemented in shared link libraries like in Microsoft .NET Framework. Written for JSE 1.5.x and later.

Java platform invoke an API that enables Java code to call native functions implemented in shared libraries, such as those in the Linux API. It locates and invokes an exported function and marshals its arguments (integers, strings, arrays, structures, and so on) across the interoperation boundary as needed. This API supports implicit marshaling that makes Java coding with native functions very simple.

To consume a shared library functions you need

1.Identify functions in shared librarys.

Minimally, you must specify the name of the function and name of the the shared library that contains it.

2.Create a class to hold shared library functions.

You can use an existing class, create an individual class for each native function, or create one class that contains a set of related native functions. This class should extend CNativeLibrary. Use the annotation ImportLibrary to bind your class to the native library.

3.Create prototypes in Java code.

Write prototype of a native function as a method with signature that corresponds to the native function using data type map agreement. To identify the native function use the annotation Function. Mark the method with the native modifier.

4.Call a shared library function.

Call the method on your Java class as you would any other Java method. As parameters can be passed structures and implemented in Java callback functions.


Enhancements:
Version 2.01.04
System Requirements:JSE 1.5.x
<<less
Download (384.9Kb)
Added: 2007-02-28 License: Free Price: Free
43 downloads
Java for C++ 0.4

Java for C++ 0.4


Java for C++ is a tool to generate C++-wrapper-classes for existing Java-classes. more>>
Java for C++ is a tool to generate C++-wrapper-classes for existing Java-classes. This tool reads a list of Java class names and creates source code for C++-classes to wrap them.
The implementation of the wrapper classes uses JNI (Java Native Interface) to call the "real" Java classes.
The C++-API to use these wrapper classes is very close to the API of the original Java classes. So developers of C++-software can use Java-classes as if they have been implemented in C++.
Enhancements:
- A problem where null values for method arguments, method return values, or field values caused some generated code to crash was fixed.
- Updating is strongly encouraged.
<<less
Download (0.043MB)
Added: 2005-12-22 License: GPL (GNU General Public License) Price:
1404 downloads
Class::Inner 0.1

Class::Inner 0.1


Class::Inner is a perlish implementation of Java like inner classes. more>>
Class::Inner is a perlish implementation of Java like inner classes.

SYNOPSIS

use Class::Inner;

my $object = Class::Inner->new(
parent => ParentClass,
methods => { method => sub { ... } }, },
constructor => new,
args => [@constructor_args],
);

Yet another implementation of an anonymous class with per object overrideable methods, but with the added attraction of sort of working dispatch to the parent classs method.

METHODS

new HASH

Takes a hash like argument list with the following keys.

parent

The name of the parent class. Note that you can only get single inheritance with this or SUPER wont work.

methods

A hash, keys are method names, values are CODEREFs.

constructor

The name of the constructor method. Defaults to new.

args

An anonymous array of arguments to pass to the constructor. Defaults to an empty list.

Returns an object in an anonymous class which inherits from the parent class. This anonymous class has a couple of extra methods:

SUPER

If you were to pass something like

$obj = Class::Inner->new(
parent => Parent,
methods => { method => sub { ...; $self->SUPER::method(@_) } },
);

then $self-gtSUPER::method almost certainly wouldnt do what you expect, so we provide the SUPER method which dispatches to the parent implementation of the current method. There seems to be no good way of getting the full SUPER:: functionality, but Im working on it.

DESTROY

Because Class::Inner works by creating a whole new class name for your object, it could potentially leak memory if you create a lot of them. So we add a DESTROY method that removes the class from the symbol table once its finished with.

If you need to override a parents DESTROY method, adding a call to Class::Inner::clean_symbol_table(ref $self) to it. Do it at the end of the method or your other method calls wont work.

clean_symbol_table

The helper subroutine that DESTROY uses to remove the class from the symbol table.

new_classname

Returns a name for the next anonymous class.

<<less
Download (0.003MB)
Added: 2007-06-06 License: Perl Artistic License Price:
871 downloads
Claros Downloader 1.0

Claros Downloader 1.0


Claros Downloader is a simple, highly customizable, multi-threaded, web based downloader manager. more>>
Claros Downloader is a simple, highly customizable, multi-threaded, web based downloader manager. You can download files to your desktop, corporate server, wherever you are. You simply point your browser to Claros Downloader, login, add new urls. It forks a new thread downloading the remote file to the server running the web application. Thats it.

Installation:

For Tomcat Users:

Copy the war file to $TOMCAT_INSTALL_DIR/webapps folder

Start Tomcat

For other application servers, you shall know what to do with a war file. If war extension means nothing to you, just unzip is it, if it was a regular zip archive.

All configuration is done in WEB-INF/resources directory. Open config.properties with your favorite editor, and follow the instructions.

Please Note: There is a Java class called AddUser.class in WEB-INF/classes/org/claros/downloader/admin directory. Run this class from console to add a new user to the system.
<<less
Download (2.1MB)
Added: 2006-03-20 License: GPL (GNU General Public License) Price:
1316 downloads
Java::Import 0.03

Java::Import 0.03


Java::Import is Perl module to use Java classes in Perl. more>>
Java::Import is Perl module to use Java classes in Perl.

SYNOPSIS

use Java::Import qw(
some.package.SomeClass
);

my $instance = new some.package.SomeClass();
$instance->someMethod();

my $ret_val = some::package::SomeClass::someStaticMethod();
$ret_val->someMethod();

$ret_val2 = $instance->someOtherMethod($ret_val);
$ret_val2->someMethod();

my $java_array_ref $instance->someMethod2();
foreach my $obj ( @$java_array_ref ) {
$obj->someMethod();
}

The purpose of this module is to provide a simple method for using Java classes from a Perl program while using the latest in Open Source Java Technology. Thus, this module makes great use of the GNU Compiler Tools for Java in its implimentation.

<<less
Download (0.028MB)
Added: 2006-12-01 License: Perl Artistic License Price:
1059 downloads
jclassinfo 0.19.1

jclassinfo 0.19.1


jclassinfo is an information extractor for Java bytecode. more>>
jclassinfo reads java class files and provides information about the class, dependencies and more. It is a pure C implementantion.
Main features:
Class Information
- Java VM version required,
- super class,
- interfaces implemented. --general-info
- Constant pool dump --constant-pool
- Methods --methods
- Fields --fields
- Class attributes --attributes
Dependency Information
- Packages required --packages
- Classes required --classes
- Methods required --methods-ref
Options affecting verbosity
- Disassemble code --disasm
- Print limits and exception table for methods --verbose
- Print debugging information --method-debug-info
- Change visibility --visibility=< public | package | protected | private | synthetic >
<<less
Download (0.026MB)
Added: 2005-03-07 License: GPL (GNU General Public License) Price:
1693 downloads
Java::JCR::Nodetype 0.08

Java::JCR::Nodetype 0.08


Java::JCR::Nodetype is a Perl module that can load the JCR node type class wrappers. more>>
Java::JCR::Nodetype is a Perl module that can load the JCR node type class wrappers.

SYNOPSIS

use Java::JCR::Nodetype;

This loads the Perl classes mapped to the javax.jcr.nodetype package.
You might notice the odd letter case of this package differs from that of the node type class (Java::JCR::Nodetype::NodeType). This has to do with the way the package was imported. This may be corrected in the future.

<<less
Download (0.047MB)
Added: 2007-06-05 License: Perl Artistic License Price:
871 downloads
Java::Build::GenericBuild 0.05

Java::Build::GenericBuild 0.05


Java::Build::GenericBuild is a high level driver to control Java builds. more>>
Java::Build::GenericBuild is a high level driver to control Java builds.

SYNOPSIS

There are two (or more) code files needed to effectively use this module. First, create a subclass of this class:

package Java::Build::MyBuild;
use Carp;

# Do the following in a BEGIN block before the use base statement:
BEGIN { $ENV{CLASSPATH} .= ":/path/to/suns/lib/tools.jar"; }
use base Java::Build::GenericBuild;
# use any other Java::Build modules you need

my @args = (
{ BUILD_SUCCESS => sub { croak "You must supply a BUILD_SUCCESS" } },
{ CONFIG_LOC => sub { croak "You must supply a CONFIG_LOC" } },
{ MAIN_DIR => &_form_main_dir },
# ...
); # Include all the attributes that matter to your build here, and
# what to do if the caller omits them.
# If they are required, die in the subroutine, otherwise provide a
# subroutine reference which will fill in the default

sub new {
my $class = shift;
my $self = shift;
$self->{ATTRIBUTES} = @attrs;
process_attrs($self);

return bless $self, $class;
}

# Include common targets callers can share here. Put unique targets
# in the calling scripts (see below).
sub init { my $self = shift; ... }
sub cvs_refresh { my $self = shift; ... }
sub compile { ... }
# ...
sub _form_main_dir { my $self = shift; $self->{MAIN_DIR} = /usr/src; }
In some script:
#!/usr/bin/perl
use strict; use warnings;

use Java::Build::MyBuild;

my $project = Java::Build::MyBuild->new(
BUILD_SUCCESS => /where/this/module/can/store/build/state.info,
CONFIG_LOC => /some/path/to/my.conf,
NAME => MyApplication,
SRC_DIR => /where/my/java/files/live,
SUBPROJECTS => [
{ NAME => "util" },
{ NAME => "app", USING => &compile_app },
],
);
$project->targets(qw( init cvs_refresh unique compile ));
$project->GO(@ARGV);

package Java::Build::MyBuild; # re-enter the build package to add targets
sub unique {...} # a routine that MyBuild doesnt provide

<<less
Download (0.030MB)
Added: 2007-06-02 License: Perl Artistic License Price:
874 downloads
Class::Declare::Attributes 0.04

Class::Declare::Attributes 0.04


Class::Declare::Attributes is a Perl module with Class::Declare method types using Perl attributes. more>>
Class::Declare::Attributes is a Perl module with Class::Declare method types using Perl attributes.

SYNOPSIS

package My::Class;

use 5.006;
use strict;
use warnings;

use base qw( Class::Declare::Attributes );

# declare the class/instance attributes
__PACKAGE__->declare( ... );

#
# declare class/static/restricted/etc methods of this package
#

sub my_abstract : abstract { ... }
sub my_class : class { ... }
sub my_static : static { ... }
sub my_restricted : restricted { ... }
sub my_public : public { ... }
sub my_private : private { ... }
sub my_protected : protected { ... }

Class::Declare::Attributes extends Class::Declare by adding support for Perl attributes for specifying class method types. This extension was inspired by Damian Conways Attribute::Handlers module, and Tatsuhiko Miyagawas Attribute::Protected module. The original implementation used Attribute::Handlers, but now simply refers to attributes.

The addition of Perl attribute support (not to be confused with object attributes, which are entirely different, and also supported by Class::Declare) greatly simplifies the specification of Class::Declare-derived class and instance methods. This should aid in the porting of existing code (Perl, Java and C++) to a Class::Declare framework, as well as simplify the development of new modules.

With the addition of Perl attributes, Class::Declare methods can now be written as

sub method : public
{
my $self = shift;
...
}
instead of
sub method
{
my $self = __PACKAGE__->public( shift );
...
}

<<less
Download (0.021MB)
Added: 2007-06-20 License: Perl Artistic License Price:
857 downloads
asm2class 0.1.2

asm2class 0.1.2


asm2class is an assembly Java to class file compiler. more>>
Asm2class is a java assembly to class file compiler.

Asm2class is release under the terms of the GPL License. The current version of asm2class (0.1.2) is a beta version and allow generating class file from java assembly file that contains class definition, field definition, method definition and constructor definition.

This release support also abstract class, abstract method and native method definition.

Asm2class know more thatn 90% of the java assembly language. Asm2class can do dead code detection, uninitialized register detection.
<<less
Download (1.17MB)
Added: 2005-04-22 License: GPL (GNU General Public License) Price:
1646 downloads
Java::Import::Examples 0.03

Java::Import::Examples 0.03


Java::Import::Examples is an example of how to use Java::Import to call into Java classes. more>>
Java::Import::Examples is an example of how to use Java::Import to call into Java classes.

Making RMI calls from Perl

One nice thing about Java is the extremely straight forward manner in which it allows you to make calls to remote objects residing on distant servers. Many people use this ability as a point of integration between their system and a posible third party or legacy system. Unfortunatly, for the most part the ability to make calls to these remote objects is something that only other Java applications can do without making a big fuss about it. However, we can now do this from Perl.

Assume that I have a RMI server from which I can get data from in the form of simple Java Beans. One method of doing this is to use the GCJ::Cni library and natively compile and wrap a set of Java Classes which can then be used from my Perl script. However, there is an easier way.

Lets begin by descriping the Java interfaces that well be working with. We first have the Remote Interface that we will be interacting with:

import java.rmi.*;
public interface RemoteInterface extends Remote {
public SomeBean getMessage(String seedMessage) throws RemoteException;
}
And we also have the bean we will be asking for:
import java.io.*;
public class SomeBean implements Serializable {
private String value;
public SomeBean() {}
public void setValue ( String _value ) { ... }
public String getValue ( ) { ... }
}
As far as any Perl client program is concerned this is all we need to know about.
Now all there is left to do is write a client:
use Java::Import qw(
java.rmi.Naming
);

my $remote_interface = java::rmi::Naming->lookup(jstring("//localhost/Home"));
my $bean = $remote_interface->getMessage(jstring("Hi there"));
print $bean->getValue(), "n";

Thats all there is. Notice that all we had to tell Java::Import about was java.rmi.Naming, this is because it was the only class we used by name in our Perl code, every other Java class (the objects held by $bean and $remote_interface) was returned by some other method call originating from java.rmi.Naming.

In order to run this example we have to make sure everything is in its place. We start by compiling the client code. Assuming that we have been given a Stub class file (RemoteObject_Stub.class) we can do the following:

gcj -C SomeBean.java RemoteInterface.java
fastjar -cvf client.jar SomeBean.class RemoteInterface.class RemoteObject_Stub.class

Making sure our server is reachable we can then run the client code:

CLASSPATH=client.jar perl client.pl

Thats it, you should then see the message returned by your server.

<<less
Download (0.028MB)
Added: 2007-06-01 License: Perl Artistic License Price:
876 downloads
Java::Build::JVM 0.05

Java::Build::JVM 0.05


Java::Build::JVM is a Perl module that starts one JVM for compiling. more>>
Java::Build::JVM is a Perl module that starts one JVM for compiling.

SYNOPSIS

use Java::Build::JVM;

my $compiler = Java::Build::JVM->getCompiler();
$compiler->destination("some/path");

$compiler->classpath("some/pathto/jar.jar:some/other/path/javas");
$compiler->append_to_classpath("something/to/add/to/previous/path");

$compiler->compile([ qw(list.java of.java programs.java) ]);

This class starts a single JVM which it then helps you contact for compiling tasks. This is the most important feature of the popular Ant build tool. Using this class, you can effectively replace Ant, and its notoriously unmaintainable build.xml files, with Perl scripts. Most Ant tasks are already built in to Perl with far more flexibility than Ant provides.

To obtain a compiler, use this module, then call getCompiler. It has that name to prevent conflicts with the Java new keyword.

Once you have a compiler, you may change the destination of subsequent compiles from the location of the source files to a directory of your choice using the destination method. You can create or append to a classpath with the classpath or append_to_classpath methods. Note that your CLASSPATH environment variable still works in its usual way.

Finally, once you have the destination and classpath set, you can compile a list of files by passing them to the compile method. Note that they need to be in an array reference (if you dont know what that means, put the list in square brackets).

Note that you must have tools.jar in your CLASSPATH when you run your script. Without that, JVM.pm will not be able use Inline::Java. The classpath you use inside the script may be the same or different than your environment variable, depending on how you use the classpath and append_to_classpath methods.
Since Sun has, in its finite wisdom, chosen to deprecate the compiling methods that javac uses, there will be one warning for each time you call compile. It will say something like this:

Note: sun.tools.javac.Main has been deprecated.
1 warning

This warning is not a problem in Java 1.4.

<<less
Download (0.030MB)
Added: 2007-06-04 License: Perl Artistic License Price:
877 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 5
  • 1
  • 2
  • 3
  • 4
  • 5