Link: Clara - Disassembler für Java-Klassendateien

Status
Nicht offen für weitere Antworten.

hansz

Aktives Mitglied
Hallo zusammen,



vielen von euch ist der Disassembler für Java-Klassendateien bcel.sourceforge.net/JasminVisitor.java bekannt.
Die Java-Klasse JasminVisitor ist ein Disassembler für die Jasmin-Assemblersprache (jasmin.sourceforge.net).
JasminVisitor.java benötigt die Bytecode Engineering Library (BCEL) - siehe jakarta.apache.org und bcel.sourceforge.net.

Ein weiterer Disassembler mit dem Namen "Clara" ist unter clara.javaseiten.de verfügbar. Es kann die Datei clara.jar heruntergeladen werden.



Beispielaufruf:
> java -jar clara.jar HelloWorld.class

Die Klassendatei HelloWorld.class im aktuellen Verzeichnis wird dann in die Jasmin-Assemblersprache übersetzt, wie z.B.


Code:
; HelloWorld.j

; Generated by Clara
; Disassembler for Java class files
; Jasmin-Syntax 2, [url]http://jasmin.sourceforge.net[/url]
;
; Clara, Version 0.6.2 beta


.bytecode 50.0
.source HelloWorld.java
.class public HelloWorld
.super java/lang/Object

.method public <init>()V
  .limit stack 1
  .limit locals 1
  .line 3
  0: aload_0
  1: invokespecial java/lang/Object/<init>()V
  4: return
.end method

.method public static main([Ljava/lang/String;)V
  .limit stack 2
  .limit locals 1
  .line 6
  0: getstatic java/lang/System/out Ljava/io/PrintStream;
  3: ldc "Hello World!"
  5: invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V
  .line 7
  8: return
.end method


Der zugehörige Java-Quelltext wäre


Code:
/* HelloWorld.java */

public class HelloWorld {
  
  public static void main(String[] args) {
    System.out.println("Hello World!");    
  }
}


Clara ist freie Software (GPL) und der Quellcode des Disassemblers kann heruntergeladen werden. Für alle, die NetBeans als Entwicklungsumgebung verwenden, steht ein NB-Projekt für Clara zum Download bereit.



Gruß hansz :wink:
 

Ullenboom

Bekanntes Mitglied
Hübsch. Jetzt "fehlt" nur noch ein Decompiler-Modus, um eine Alternative zu Jad zu haben :)

Christian
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben